LINUX.ORG.RU
ФорумAdmin

Как настроить маршрутизацию с одного интерфейса на другой?

 ,


0

1

Добрый день. Все работает на Ubuntu и openVPN Есть VPN сервер (10.10.0.1) со статическим IP (Y.Y.Y.Y) к нему подключаются удаленные роутеры (пока их 2), которые имеют 2 физических интерфейса. Один для подлючения приватной сети (172.16.0.0/24 и 172.16.1.0/24). Второй подклечен к интернет провайдеру на сером IP. Через второй интерфейс имеем подключение к интернету и устанавливаем тунель на VPN сервер. rt1 (10.10.0.4) rt2 (10.10.0.6)

Пример.

rt1$ ifconfig
enp2s0    Link encap:Ethernet  HWaddr 00:24:1d:00:00:ff  
          inet addr:192.168.0.105  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1558 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1287 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:184896 (184.8 KB)  TX bytes:143419 (143.4 KB)

enp3s0    Link encap:Ethernet  HWaddr 00:ff:35:ff:0d:ff  
          inet addr:172.16.0.1  Bcast:172.16.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:360 (360.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.10.0.4  P-t-P:10.10.0.4  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:256 errors:0 dropped:0 overruns:0 frame:0
          TX packets:170 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:19209 (19.2 KB)  TX bytes:21685 (21.6 KB)
Таблица маршрутизации rt1
rt1$ ip route show
default via 192.168.0.1 dev enp2s0  metric 20 
10.10.0.0/24 dev tun0  proto kernel  scope link  src 10.10.0.4 
172.16.0.0/24 dev enp3s0  proto kernel  scope link  src 172.16.0.1 
172.16.1.0/24 via 10.10.0.1 dev tun0 
192.168.0.0/24 dev enp2s0  proto kernel  scope link  src 192.168.0.105 

Нужно, что бы компьютеры из приватных сетей выходили в интернет и только через VPN сервер (10.10.0.1), а сами роутеры имели доступ в инет через сеть провайдера. Т.е. все что находится за интерфейсом enp3s0 должно маршрутизироваться в тунель и дальше через нат в сеть и обратно. Еще не маловажно, что бы компьютеры в приватных сетях видели друг друга, через тунель. Сейчас этого нет, из-за наличия маршрута default, который все шлет в сеть провайдера а не в тунель. Может кто подсказать куда смотреть или какие действия сделать, что бы у меня получилась нужная мне маршрутизация, а я уже сам допилю их в openVPN.


Если вопрос действительно звучит так «куда смотреть» и «сам допилю»
iproute2 вам в помощь (Policy Routing)

anc ★★★★★
()
Ответ на: комментарий от anc

Уже день курю шзкщгеу2, пока не понял как надо правильно прописать правила. У меня то 192.168.хх затыкается, то 172 подсети

amidy
() автор топика
Ответ на: комментарий от anc

iproute2 конечно, раскладку не переключил

amidy
() автор топика
Ответ на: комментарий от anonymous

Если я правильно понял то что написано, то первой строкой создаем правило, которое должно работать для выходного интерфейса enp3s0 это тот что смотрит в приватную сеть и применимо к таблице 10 Второй строкой устанавливаем маршрут дефаултный для 10-й таблицы через шлюз 10.10.0.1, а вот dev enp3s0 вызывает ошибку. Без него указанные команды выполняются. Может вместо указания oif enp3s0 надо iif enp3s0

amidy
() автор топика
Ответ на: комментарий от amidy

Не ради подкола. Серьезно!

Уже день курю

покурите еще, слишком малый срок для укурка :)
Тем по поводу Policy Routing ну очень много.
Все сказанное относиться к вашему посту «куда смотреть» и «сам допилю». Искренне надеюсь что вам интересно самому разобраться а не получить готовый солюшен за пять минут.

anc ★★★★★
()
Ответ на: комментарий от anc

Курю - согласен, не удачный способ заменить фразу: читаю статьи с хабра и гуглю Policy Routing. И что самое смешно я даже не курю )))) Оказалось ничего сложного, по крайней мере для моей задачи. Прописал так:

rt1$ sudo ip rule add iif enp3s0 lookup subnet
rt1$ sudo ip route add default via 10.10.0.1 table subnet

Трафик с подсети стал ломиться на 10.10.0.1, а не умирать на 172.18.0.1

amidy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.