Jump to content
Калькуляторы

Инет на 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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Edited by vop

Share this post


Link to post
Share on other sites

Добрый день!

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

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.