URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89301
[ Назад ]

Исходное сообщение
"CentOS Multi NAT Help"

Отправлено qwazzzzzz , 05-Июл-10 11:21 
необходимо реализовать следующую схему... перечитал уже кучу всего результата не получил (((

в наличии имеется

eth0 10.0.0.2 провайдер №1
eth4 213.138.69.x провайдер №2

eth1 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

в данный момент у меня получилось только натить через тот интерфейс который является дефолтным гейтом....

настраивал и адвансед роутинг и ип рулес, толи у мну руки кривые толи я что то недоделал...



Содержание

Сообщения в этом обсуждении
"CentOS Multi NAT Help"
Отправлено ALex_hha , 05-Июл-10 16:10 
Настрйоки покажешь или мы сами догадаемся?

"CentOS Multi NAT Help"
Отправлено qwazzzzzz , 05-Июл-10 16:45 
>Настрйоки покажешь или мы сами догадаемся?

[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 eth0

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

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



"CentOS Multi NAT Help"
Отправлено PavelR , 05-Июл-10 19:53 

>чтобы подсеть 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.
Как исправить правила иптаблеса останется вам домашним заданием.


"CentOS Multi NAT Help"
Отправлено PavelR , 05-Июл-10 19:53 
http://www.opennet.me/tips/2009_policy_route_linux.shtml

"CentOS Multi NAT Help"
Отправлено ALex_hha , 06-Июл-10 00:11 
>ip ru add pref 4000 from 172.16.1.0/24 lookup isp2

а pref обязательно надо задавать?



"CentOS Multi NAT Help"
Отправлено PavelR , 06-Июл-10 07:10 
>>ip ru add pref 4000 from 172.16.1.0/24 lookup isp2
>
>а pref обязательно надо задавать?

Префа - это только приоритет правила и всё. Но порядок следования правил - важен.


"CentOS Multi NAT Help"
Отправлено Qwazzzzzz , 06-Июл-10 09:11 
>http://www.opennet.me/tips/2009_policy_route_linux.shtml

Большое спасибо за статью, оч полезная


"CentOS Multi NAT Help"
Отправлено Qwazzzzzz , 06-Июл-10 08:58 
>[оверквотинг удален]
>>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               destination

Chain 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.2

Chain OUTPUT (policy ACCEPT 5237 packets, 365K bytes)
pkts bytes target     prot opt in     out     source               destination


при таком раскладе 172.16.1.0/24 интернета нету ((((



"CentOS Multi NAT Help"
Отправлено PavelR , 06-Июл-10 10:35 
уберите адреса сетей из правил nat.POSTROUTING. Для операции SNAT требуется и достаточно знать исходящий интерфейс, и всё.

"CentOS Multi NAT Help"
Отправлено qwazzzzzz , 06-Июл-10 15:37 
>уберите адреса сетей из правил nat.POSTROUTING. Для операции SNAT требуется и достаточно
>знать исходящий интерфейс, и всё.

Не в этом дело было, я просто забыл в таблицы isp1 и isp2 добавить подсети 1 и 3, всем огромное спасибо за помощь


"CentOS Multi NAT Help"
Отправлено qwazzzzzz , 06-Июл-10 18:02 
>>уберите адреса сетей из правил nat.POSTROUTING. Для операции SNAT требуется и достаточно
>>знать исходящий интерфейс, и всё.
>
>Не в этом дело было, я просто забыл в таблицы isp1 и
>isp2 добавить подсети 1 и 3, всем огромное спасибо за помощь
>

А вот еше вопросик как сделать что бы правила и таблицы оставались после перезагрузки
вернее как правильно это сделать сейчас сделал скриптом, но может есть вариант правильнее