есть несколько каналов
есть скрипт нат + роуте + балансирока
не могу перенаправить запросы на игровые сервера в отдельный канал не подскажите как это сделать вот скриптынат
#DMZ
wl_best=192.168.1.1
freeip[1]=195.189.xxx.xx/29
nofreeip[1]=195.189.xxx.xx/29
echo 1 > /proc/sys/net/ipv4/ip_forwardiptables -P FORWARD ACCEPT
iptables -F FORWARDfor free_1 in ${freeip[*]};do
/sbin/iptables -A FORWARD -s $wl_best -d $free_1 -j ACCEPT
/sbin/iptables -A FORWARD -d $wl_best -s $free_1 -j ACCEPTdone;
for nofree_1 in ${nofreeip[*]};do
/sbin/iptables -I FORWARD -s $wl_best -d $nofree_1 -j DROP
/sbin/iptables -I FORWARD -d $wl_best -s $nofree_1 -j DROPdone;
iptables -A FORWARD -j LOG --log-prefix "FWD: "
балансирокаiptables -t mangle -N NEW_OUT_CONN
iptables -t mangle -A NEW_OUT_CONN -j CONNMARK --set-mark 1
iptables -t mangle -A NEW_OUT_CONN -m statistic --mode random --probability 0.25 -j RETURNiptables -t mangle -A NEW_OUT_CONN -j CONNMARK --set-mark 2
iptables -t mangle -A NEW_OUT_CONN -m statistic --mode random --probability 0.25 -j RETURNiptables -t mangle -A NEW_OUT_CONN -j CONNMARK --set-mark 3
iptables -t mangle -A NEW_OUT_CONN -m statistic --mode random --probability 0.25 -j RETURNiptables -t mangle -A NEW_OUT_CONN -j CONNMARK --set-mark 4
#iptables -t mangle -A NEW_OUT_CONN -m statistic --mode nth --every 7 -j RETURN
#iptables -t mangle -A NEW_OUT_CONN -j CONNMARK --set-mark 7
iptables -t mangle -A PREROUTING -s 192.168.1.0/24 -m state --state new,related -j NEW_OUT_CONN
iptables -t mangle -A PREROUTING -s 192.168.1.0/24 -j CONNMARK --restore-mark
iptables -t mangle -A OUTPUT -s 192.168.1.0/24 -m state --state new,related -j NEW_OUT_CONN
iptables -t mangle -A OUTPUT -s 192.168.1.0/24 -j CONNMARK --restore-markiptables -t mangle -L -n
роутинг - такая на каждый каналip route add 192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.1 table 101
ip route add 127.0.0.0/8 dev lo scope link table 101
ip route add default via 172.ХХХ.ХХХ.1 dev eth1 table 101
ip rule add prio 51 fwmark 1 table 101как перенаправить трафик который приходит на 192.168.1.1 на eth3 если адресат 195.189.222.222
>[оверквотинг удален]
>роутинг - такая на каждый канал
>
>ip route add 192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.1
>table 101
>ip route add 127.0.0.0/8 dev lo scope link table 101
>ip route add default via 172.ХХХ.ХХХ.1 dev eth1 table 101
>ip rule add prio 51 fwmark 1 table 101
>
>как перенаправить трафик который приходит на 192.168.1.1 на eth3 если адресат 195.189.222.222
>1)Марка вешается в прироутенге, и действует внутри локальной машины, если хотите передавать и другим машинам, то тогда нужно использовать TOS метки.
Ресторы марков - вообще безсмыслены, и могут даже мешать, лучше убрать.
2) если вы направляете на гровые сервера, не проще ли это делать по портам? либо пойти от обратного...
3) лучше сначала описать таблици роутинга, а потом прикручиваться к ним. Так же после изменения роутинга следует сделать ip route flush cache
>1)Марка вешается в прироутенге, и действует внутри локальной машины, если хотите передавать
>и другим машинам, то тогда нужно использовать TOS метки.
>Ресторы марков - вообще безсмыслены, и могут даже мешать, лучше убрать.
>2) если вы направляете на гровые сервера, не проще ли это делать
>по портам? либо пойти от обратного...
>3) лучше сначала описать таблици роутинга, а потом прикручиваться к ним. Так
>же после изменения роутинга следует сделать ip route flush cacheтак просто есть список адресов которые бы хотелось прокинуть на определёный интерфейс (ещё бы 80 порт туда было бы класно)
если можно их какнибуть маркировать и потом на основе этого маршрутизировать
теория интересна но хотелось бы хоть какой нить пример
http://www.opennet.me/openforum/vsluhforumID1/79640.html#1
вот так вешается маркер
/sbin/iptables -t mangle -I PREROUTING -j MARK -s IP.кл.ие.нт --set-mark 100
а также нужно разрешить соответствующий форвард, к примеру
iptables -I FORWARD -j ACCEPT -i ppp+ -o eth2по умолчанию весь форвард направляеться на интерфейс где прописан дефолт жатвей (теоретически eth0), без марки в другую таблицу роутинга трафик никак попасть не может, марки существуют только в локальной машине. В моём примере все кто подключены к ррр+интерфейсам разрешен форвард на етх2, но трафик заварачиваеться туда только в том случае если существует марка.
вообще всё расжевал, если что то непонятно, то лучше сразу идите и читайте доку.
спасибо с игровыми серваками разобралсяip route add 192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.1 table 101
ip route add 127.0.0.0/8 dev lo scope link table 101
ip route add default via 172.ХХХ.ХХХ.1 dev eth1 table 101
ip rule add prio 51 fwmark 1 table 101опять возникла проблема
есть две сети 10.10.5.х и 10.10.6.х после выполненияip route add 10.10.0.0/24 dev eth2 proto kernel scope link src 10.10.5.16 table 101
ip route add 127.0.0.0/8 dev lo scope link table 101
ip route add default via 172.ХХХ.ХХХ.1 dev eth1 table 101
ip rule add prio 51 fwmark 1 table 101перестаёт идти пинг с 10.10.6.2 до 10.10.5.16 и наоборот скрипт полный в первом посте