необходимо реализовать следующую схему... перечитал уже кучу всего результата не получил (((в наличии имеется
eth0 10.0.0.2 провайдер №1
eth4 213.138.69.x провайдер №2eth1 172.16.1.1/24
eth2 172.16.2.1/24
eth3 172.16.3.1/24необходимо сделать следующее
чтобы подсеть 172.16.3.0/24 и подсеть 172.16.2.0.24 ходила в интернет через 10.0.0.2
подсеть 172.16.1.0/24 ходила в интернет через 213.138.69.х
хост 172.16.2.100 ходил черех 213.138.69.хсделать проброс портов с 213.138.69.х на хост 172.16.1.100
в данный момент у меня получилось только натить через тот интерфейс который является дефолтным гейтом....
настраивал и адвансед роутинг и ип рулес, толи у мну руки кривые толи я что то недоделал...
Настрйоки покажешь или мы сами догадаемся?
>Настрйоки покажешь или мы сами догадаемся?[root@router ~]# ip route list table isp1
172.16.2.0/24 dev eth2 scope link
10.0.0.0/24 dev eth0 scope link src 10.0.0.2
127.0.0.0/8 dev lo scope link
default via 10.0.0.1 dev eth0
[root@router ~]# ip route list table isp2
213.138.69.104/30 dev eth4 scope link src 213.138.69.106
172.16.2.0/24 dev eth2 scope link
127.0.0.0/8 dev lo scope link
default via 213.138.69.105 dev eth4
[root@router ~]# ip rule ls
0: from all lookup 255
32764: from 213.138.69.106 lookup isp2
32765: from 10.0.0.2 lookup isp1
32766: from all lookup main
32767: from all lookup default[root@router ~]# ip route ls
8.8.4.4 via 213.138.69.105 dev eth4
8.8.8.8 via 213.138.69.105 dev eth4
213.138.69.104/30 dev eth4 scope link src 213.138.69.106
10.0.0.0/24 dev eth0 scope link src 10.0.0.2
172.16.2.0/24 dev eth2 proto kernel scope link src 172.16.2.1
172.16.3.0/24 dev eth3 proto kernel scope link src 172.16.3.1
172.16.1.0/24 dev eth1 proto kernel scope link src 172.16.1.1
default via 10.0.0.1 dev eth0Chain PREROUTING (policy ACCEPT)
target prot opt source destinationChain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 172.16.1.0/24 anywhere to:213.138.69.106
SNAT all -- 172.16.2.0/24 anywhere to:10.0.0.2
SNAT all -- 172.16.3.0/24 anywhere to:10.0.0.2
>чтобы подсеть 172.16.3.0/24 и подсеть 172.16.2.0.24 ходила в интернет через 10.0.0.2не через 10.0.0.2 а через 10.0.0.1.
>подсеть 172.16.1.0/24 ходила в интернет через 213.138.69.х
>хост 172.16.2.100 ходил черех 213.138.69.хip ru add pref 4000 from 172.16.1.0/24 lookup isp2
ip ru add pref 4010 from 172.16.2.100/24 lookup isp2
ip ru add pref 4050 from 172.16.2.0/24 lookup isp1
ip ru add pref 4100 from 172.16.3.0/24 lookup isp1>Chain POSTROUTING (policy ACCEPT)
>target prot opt source destination
>SNAT all -- 172.16.1.0/24 anywhere to:213.138.69.106
>SNAT all -- 172.16.2.0/24 anywhere to:10.0.0.2
>SNAT all -- 172.16.3.0/24 anywhere to:10.0.0.2Ключик -v ставить не научили ? А зря.
Правила iptables должны работать не по source, а по output interface.
Как исправить правила иптаблеса останется вам домашним заданием.
http://www.opennet.me/tips/2009_policy_route_linux.shtml
>ip ru add pref 4000 from 172.16.1.0/24 lookup isp2а pref обязательно надо задавать?
>>ip ru add pref 4000 from 172.16.1.0/24 lookup isp2
>
>а pref обязательно надо задавать?Префа - это только приоритет правила и всё. Но порядок следования правил - важен.
>http://www.opennet.me/tips/2009_policy_route_linux.shtmlБольшое спасибо за статью, оч полезная
>[оверквотинг удален]
>>Chain POSTROUTING (policy ACCEPT)
>>target prot opt source destination
>>SNAT all -- 172.16.1.0/24 anywhere to:213.138.69.106
>>SNAT all -- 172.16.2.0/24 anywhere to:10.0.0.2
>>SNAT all -- 172.16.3.0/24 anywhere to:10.0.0.2
>
>Ключик -v ставить не научили ? А зря.
>
>Правила iptables должны работать не по source, а по output interface.
>Как исправить правила иптаблеса останется вам домашним заданием.[root@router ~]# ip rule ls
0: from all lookup 255
4000: from 172.16.1.0/24 lookup isp2
4050: from 172.16.2.0/24 lookup isp1
4100: from 172.16.3.0/24 lookup isp1
32764: from 213.138.69.106 lookup isp2
32765: from 10.0.0.2 lookup isp1
32766: from all lookup main
32767: from all lookup default
[root@router ~]# iptables -t nat -vL
Chain PREROUTING (policy ACCEPT 1987 packets, 124K bytes)
pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 243 packets, 16838 bytes)
pkts bytes target prot opt in out source destination
14 672 SNAT all -- any eth4 172.16.1.0/24 anywhere to:213.138.69.106
17 884 SNAT all -- any eth0 172.16.2.0/24 anywhere to:10.0.0.2
1157 55572 SNAT all -- any eth0 172.16.3.0/24 anywhere to:10.0.0.2Chain OUTPUT (policy ACCEPT 5237 packets, 365K bytes)
pkts bytes target prot opt in out source destination
при таком раскладе 172.16.1.0/24 интернета нету ((((
уберите адреса сетей из правил nat.POSTROUTING. Для операции SNAT требуется и достаточно знать исходящий интерфейс, и всё.
>уберите адреса сетей из правил nat.POSTROUTING. Для операции SNAT требуется и достаточно
>знать исходящий интерфейс, и всё.Не в этом дело было, я просто забыл в таблицы isp1 и isp2 добавить подсети 1 и 3, всем огромное спасибо за помощь
>>уберите адреса сетей из правил nat.POSTROUTING. Для операции SNAT требуется и достаточно
>>знать исходящий интерфейс, и всё.
>
>Не в этом дело было, я просто забыл в таблицы isp1 и
>isp2 добавить подсети 1 и 3, всем огромное спасибо за помощь
>А вот еше вопросик как сделать что бы правила и таблицы оставались после перезагрузки
вернее как правильно это сделать сейчас сделал скриптом, но может есть вариант правильнее