Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: помогите разобраться с ip route  (Прочитано 900 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн meinung

  • Автор темы
  • Активист
  • *
  • Сообщений: 316
  • in nomine patris et fili et spiritus sancti amen.
    • Просмотр профиля
помогите разобраться с ip route
« : 18 Июнь 2021, 13:33:27 »
Здравствуйте, уважаемые  участники сообщества.   Помогите пожалуйста разобраться со следующей  ситуацией.
Дано:
Cервер ubuntu-server 16-04 с  тремя сетевыми интерфейсами:
ens18 95.165.xxx.xxx/29  смотрит в  сторону МГТС шлюз 95.165.xxx.177
ens19 195.94.xxx.xxx/28  смотрит в сторону  WESTCALL  шлюз 195.165.xxx.241
ens20 10.xxx.xxx.xxx/24      смотрит в сторону  LAN.
Первичным внешним интерфейсом выставлен MGTS т.е. ens18.
проблема:
Через первичный  интерфейс  все работает  замечательно, а вот  через вторичный на сервер можно попасть только из сети  WESTCALL.
снаружи пинги  идут  нормально.
Я понимаю,  что  для того, чтобы все работало, здесь никак не обойтись без дополнительных таблиц маршрутизации.
(Нажмите, чтобы показать/скрыть)
Вот  содержимое самих  таблиц
(Нажмите, чтобы показать/скрыть)
файл etc/network/interfaces
(Нажмите, чтобы показать/скрыть)

« Последнее редактирование: 19 Июнь 2021, 16:21:54 от meinung »
just read this flowing manual

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27727
    • Просмотр профиля
Re: помогите разобраться с ip route
« Ответ #1 : 23 Июнь 2021, 17:26:14 »
Обратные пакеты не знают, куда им идти.
Нужно маркировать входящий трафик по интерфейсам и по маркам восстанавливать роутинг исходящих пакетов.

Пользователь добавил сообщение 23 Июнь 2021, 17:37:52:
iptables :
*mangle
:PREROUTING ACCEPT
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
:ADSL -
:DEFAULT -
:VPN -
-A PREROUTING -i lo -j ACCEPT
-A PREROUTING -i ppp101 -m conntrack --ctstate NEW,RELATED -j VPN
-A PREROUTING -i ppp102 -m conntrack --ctstate NEW,RELATED -j ADSL
-A PREROUTING -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A OUTPUT -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A ADSL -j CONNMARK --set-xmark 0x2/0xffffffff
-A DEFAULT -j VPN
-A VPN -j CONNMARK --set-xmark 0x1/0xffffffff
COMMIT

/etc/iproute2/rt_tables :
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
1 vpn_nln
2 adsl_mtu

# ip rule show
0:      from all lookup local
32764:  from all fwmark 0x2 lookup adsl_mtu
32765:  from all fwmark 0x1 lookup vpn_nln
32766:  from all lookup main
32767:  from all lookup default
« Последнее редактирование: 23 Июнь 2021, 17:37:52 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн meinung

  • Автор темы
  • Активист
  • *
  • Сообщений: 316
  • in nomine patris et fili et spiritus sancti amen.
    • Просмотр профиля
Re: помогите разобраться с ip route
« Ответ #2 : 04 Июль 2021, 09:50:48 »
AnrDaemon, Большое спасибо за разъяснения.
just read this flowing manual

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27727
    • Просмотр профиля
Re: помогите разобраться с ip route
« Ответ #3 : 04 Июль 2021, 12:30:22 »
Совсем забыл, роутинг.
$ ip route show table all type unicast
default via 192.168.1.1 dev mac0  table vpn_nln  src 192.168.1.12
default via 192.168.1.2 dev mac0  table adsl_mtu  src 192.168.1.12
default via 192.168.1.1 dev mac0 onlink
192.168.1.0/26 dev mac0  proto kernel  scope link  src 192.168.1.12
192.168.19.0/28 dev mac1  proto kernel  scope link  src 192.168.19.1

Подставьте свои значения адресов/интерфейсов.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1033
    • Просмотр профиля
Re: помогите разобраться с ip route
« Ответ #4 : 10 Июль 2021, 09:21:46 »
Ничего маркировать не надо. Не увидел содержимое файле /etc/iproute2/rt_tables. Вы используете таблицы mgts и west, но где они объявлены?

Я у себя сделал так:

1. Добавил в /etc/iproute2/rt_tables строки:
190     net_ext_2
195     net_ext_1

2. В /etc/rc.local:
# Ext Link 1
/sbin/ip rule add from 1.1.1.1 lookup net_ext_1 pref 20000
/sbin/ip rule add from 1.1.1.1 to 192.168.1.0/24 lookup main

# Ext Link 2
/sbin/ip rule add from 2.2.2.2 lookup net_ext_2 pref 20000
/sbin/ip rule add from 2.2.2.2 to 192.168.1.0/24 lookup main

Здесь 1.1.1.1 - адрес на первом внешнем линке, 2.2.2.2 - адрес на втором внешнем линке, 192.168.1.0/24 - локальная сеть.

3. Ну и в /etc/network/interfaces:
auto enp1s0
iface enp1s0 inet static
    address 1.1.1.1
    netmask 255.255.255.0
    gateway 1.1.1.254
    metric 200
    dns-nameservers 127.0.0.1
    post-up /sbin/ip route add default via 1.1.1.254 table net_ext_1

auto enp2s0
iface enp2s0 inet static
    address 2.2.2.2
    netmask 255.255.255.0
    gateway 2.2.2.254
    dns-nameservers 127.0.0.1
    #metric 100
    post-up /sbin/ip route add default via 2.2.2.254 table net_ext_2

И всё едет.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27727
    • Просмотр профиля
Re: помогите разобраться с ip route
« Ответ #5 : 12 Июль 2021, 17:32:07 »
Ничего маркировать не надо.
И как система узнает, куда слать пакеты?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1033
    • Просмотр профиля
Re: помогите разобраться с ip route
« Ответ #6 : 22 Июль 2021, 09:17:54 »
И как система узнает, куда слать пакеты?
По адресу источника.

Топик-стартеру надо чтобы сервер был доступен по обоим линкам снаружи. Т.е. отвечал на входящие запросы. Ответы на них идут с того адреса, на который было обращение. Значит по нему мы и можем выбрать маршрут.

См. выше. Я пост писал не с потолка, а с реального сервера. Только адреса заменил. Там всё успешно работает уже много лет.

 

Страница сгенерирована за 0.15 секунд. Запросов: 25.