bsi82 Posted October 21, 2015 · Report post Добрый день! Помогите разобраться с задачей: Исходные данные Комп с linuxoм. 4 физических сетевухи. eth0 (на провайдера) ip=1.1.1.2 netmask=28 gw=1.1.1.1 eth1 (еще одна на провайдера) ip=1.1.1.3 netmask=28 gw=1.1.1.1 eth2 (локалка 1) ip=192.168.1.1 netmask=28 eth3 (локалка 2) ip=172.18.0.1 netmask=28 Нужно чтобы юзер с eth3 в инет строго шел только через eth1, а юзер с eth2 в инет строго шел только через eth0 Можно ли реализовать такое? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted October 21, 2015 · Report post Можно, гуглите по ip rule + ip route. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vop Posted October 21, 2015 (edited) · Report post Делаете две таблицы роутинга, и загоняете во вторую таблицу через правила. Название инструментов выше. Другой вариант, создаете отдельное пространство через ip netns, передаете туда eth1 и eth3, и там делаете независимый роутер. Edited October 21, 2015 by vop Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kayot Posted October 21, 2015 · Report post ..но 2 строчки в ip rule, и еще в 2 в ip route таки проще. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
bsi82 Posted October 22, 2015 · Report post Смущает одно: не будет ли затыка в том, что у обоих внешних интерфейсов одинаковый шлюз провайдера? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted October 22, 2015 · Report post А вы в каждой таблице маршрутизации указывайте явно через какой интерфейс слать на шлюз. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DSRClient Posted October 22, 2015 · Report post Добрый день! Помогите разобраться с задачей: Исходные данные Комп с linuxoм. 4 физических сетевухи. eth0 (на провайдера) ip=1.1.1.2 netmask=28 gw=1.1.1.1 eth1 (еще одна на провайдера) ip=1.1.1.3 netmask=28 gw=1.1.1.1 eth2 (локалка 1) ip=192.168.1.1 netmask=28 eth3 (локалка 2) ip=172.18.0.1 netmask=28 Нужно чтобы юзер с eth3 в инет строго шел только через eth1, а юзер с eth2 в инет строго шел только через eth0 Можно ли реализовать такое? Можно, готовы взяться. Есть шикарный опыт в провайдерском секторе. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hsvt Posted October 26, 2015 · Report post У меня на FreeBSD поднят ip интерфейс на igb1 - локальная сеть 100.64.64.1/15, на igb0 белый IP для внешки. Когда я отправляю icmp на 100.64.64.1, то по tcpdump я вижу как пакет echo request приходит на igb1, а уходит с igb0 по default route как мне и нужно. Я поднял аналогичную схему на CentOS 7 и там я достучаться до 100.64.64.1 уже не могу, как реализовать такое же повеление на CentOS ? cat /etc/sysconfig/network-scripts/ifcfg-enp1s0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=enp1s0 UUID=d7490cef-6c4c-4e48-b033-e522261ad611 DEVICE=enp1s0 ONBOOT=yes DNS1= DNS2= DNS3= MTU=9000 IPADDR=100.64.64.1 PREFIX=15 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes ip r default via *.*.*.1 dev enp0s25 proto static metric 100 *.*.*.0/24 dev enp0s25 proto kernel scope link src *.*.*.9 metric 100 100.64.0.0/15 dev enp1s0 proto kernel scope link src 100.64.64.1 metric 100 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
roysbike Posted October 27, 2015 · Report post У меня на FreeBSD поднят ip интерфейс на igb1 - локальная сеть 100.64.64.1/15, на igb0 белый IP для внешки. Когда я отправляю icmp на 100.64.64.1, то по tcpdump я вижу как пакет echo request приходит на igb1, а уходит с igb0 по default route как мне и нужно. Я поднял аналогичную схему на CentOS 7 и там я достучаться до 100.64.64.1 уже не могу, как реализовать такое же повеление на CentOS ? cat /etc/sysconfig/network-scripts/ifcfg-enp1s0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=enp1s0 UUID=d7490cef-6c4c-4e48-b033-e522261ad611 DEVICE=enp1s0 ONBOOT=yes DNS1= DNS2= DNS3= MTU=9000 IPADDR=100.64.64.1 PREFIX=15 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes ip r default via *.*.*.1 dev enp0s25 proto static metric 100 *.*.*.0/24 dev enp0s25 proto kernel scope link src *.*.*.9 metric 100 100.64.0.0/15 dev enp1s0 proto kernel scope link src 100.64.64.1 metric 100 Если я правильно понял. То как то так route add -host 100.64.64.1 gw IP_сетевухи_igb0 dev enp0s25 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
hsvt Posted October 27, 2015 · Report post Заработало только так: ip route add default via 100.64.64.254 dev enp1s0 table 101 ip rule add from 100.64.0.0/15 table 101 100.64.64.254 - шлюз на ядре. Не подскажите как их в автозапуск задействовать? Два файлика в /etc/sysconfig/network-scripts -rw-r--r-- 1 root root 48 Oct 27 14:33 route-enp1s0 -rw-r--r-- 1 root root 30 Oct 27 14:34 rule-enp1s0 Вписал туда нужное, делаю systemctl restart network. Правила не появляются, что нужно использовать rc.local и тут? Извиняюсь если нубские вопросы, но не приходилось еще сталкиваться с ip route2 и ip rule, обычно всегда хватало классических ifconfig route etc Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...