Перейти к содержимому
Калькуляторы

Инет на 2 сетевухи

Добрый день!

Помогите разобраться с задачей:

Исходные данные

 

Комп с 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

 

Можно ли реализовать такое?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно, гуглите по ip rule + ip route.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Делаете две таблицы роутинга, и загоняете во вторую таблицу через правила. Название инструментов выше.

 

Другой вариант, создаете отдельное пространство через ip netns, передаете туда eth1 и eth3, и там делаете независимый роутер.

Изменено пользователем vop

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

..но 2 строчки в ip rule, и еще в 2 в ip route таки проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Смущает одно: не будет ли затыка в том, что у обоих внешних интерфейсов одинаковый шлюз провайдера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вы в каждой таблице маршрутизации указывайте явно через какой интерфейс слать на шлюз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день!

Помогите разобраться с задачей:

Исходные данные

 

Комп с 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

 

Можно ли реализовать такое?

 

Можно, готовы взяться. Есть шикарный опыт в провайдерском секторе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня на 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня на 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Заработало только так:

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.