bsi82 Posted October 21, 2015 Posted October 21, 2015 Добрый день! Помогите разобраться с задачей: Исходные данные Комп с 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
pppoetest Posted October 21, 2015 Posted October 21, 2015 Можно, гуглите по ip rule + ip route. Вставить ник Quote
vop Posted October 21, 2015 Posted October 21, 2015 (edited) Делаете две таблицы роутинга, и загоняете во вторую таблицу через правила. Название инструментов выше. Другой вариант, создаете отдельное пространство через ip netns, передаете туда eth1 и eth3, и там делаете независимый роутер. Edited October 21, 2015 by vop Вставить ник Quote
kayot Posted October 21, 2015 Posted October 21, 2015 ..но 2 строчки в ip rule, и еще в 2 в ip route таки проще. Вставить ник Quote
bsi82 Posted October 22, 2015 Author Posted October 22, 2015 Смущает одно: не будет ли затыка в том, что у обоих внешних интерфейсов одинаковый шлюз провайдера? Вставить ник Quote
Ivan_83 Posted October 22, 2015 Posted October 22, 2015 А вы в каждой таблице маршрутизации указывайте явно через какой интерфейс слать на шлюз. Вставить ник Quote
DSRClient Posted October 22, 2015 Posted October 22, 2015 Добрый день! Помогите разобраться с задачей: Исходные данные Комп с 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
hsvt Posted October 26, 2015 Posted October 26, 2015 У меня на 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
roysbike Posted October 27, 2015 Posted October 27, 2015 У меня на 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
hsvt Posted October 27, 2015 Posted October 27, 2015 Заработало только так: 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
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.