LINUX.ORG.RU
ФорумAdmin

Ubuntu 18.04, Netplan, 2-е сетевые карты

 ,


0

1

Всех приветствую.
Ubuntu 18.04 Server

Прошу помощи с настройкой Netplan.

2-а интернет-провайдера.
2-е сетевые карты.
Каждая через свой роутер (своего провайдера) выходит в интернет.
Карты со статичными IP:
eth1 - 192.168.1.11
gate1 - 192.168.1.1
eth2 - 192.168.100.12
gate2 - 192.168.100.1

Нужно прописать настройки Netplan так, чтобы все ответы уходили
именно через ту сетевуху через которую пришли запросы.
Спасибо.

Ответ на: комментарий от Infra_HDC

Все перепробовал

Все перепробовал - не пашет.
Почти решил через route, но wget теперь тупит страшно, похоже лезет то в одну сеть, то в другую,
потому как если отсоединю один кабель работать начинает без проблем.
Вот как теперь, чтобы wget нормально заработал, вот вопрос.

ZicoRio ()

Какую задачу ты пытаешься решить на самом деле?

anonymous ()
Ответ на: Все перепробовал от ZicoRio

Все перепробовал - не пашет.

А какое это «Все» мы конечно должны догадаться. Вам правильно написали iptoute2. Гуглите «linux два провайдера» описаний чуть больше чем много.

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

Ответы на прилетевшее на eth1 должны улетать с eth1.

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

Очень-неочень, а основную задачу я решил.
Вот только не все так сладко как хотелось бы.
Все что с роутеров приходит уходит куда надо.
Если подключаться скажем через SSH из внутренней сети к первому
сетевому адаптеру - все ок.
А вот ко второму ни SSH, ни DNS тебе, хотя пингуется.
Крутил-вертел настройки - пока не понял как подключиться ко
второму адаптеру из второй подсети.
Может кто подскажет ?

ZicoRio ()

Интересный момент.
Я проснифил и на клиенте (Wireshark) и на сервере (tcpdump).
Пакеты DNS оказывается отправляются и получаются, с резолвом.
Но по какой-то причине клиент не распознает этот пакет как ответ на свой запрос.
Что за ….. может быть ?

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

(этот ваш Markdown - хрень редкостная, а главное зачем !!!) Короче в итоге все заработало, но не через Netplan (туда его в качель).
Оказалось, что WGET начал тупить потому что один провайдер отвалился.
Старая моя настройка (через rc.local) которая сейчас и работает:

sleep 10  
  
IF1=eth1  
IF2=eth2  
  
IP1=192.168.100.21  
IP2=192.168.1.21  
  
GW1=192.168.100.1  
GW2=192.168.1.1  
  
NET1=192.168.100.0/24  
NET2=192.168.1.0/24  
  
ip route add $NET1 dev $IF1 src $IP1 table T_NET1  
ip route add default via $GW1 table T_NET1  
ip route add $NET2 dev $IF2 src $IP2 table T_NET2  
ip route add default via $GW2 table T_NET2  
  
ip route add $NET1 dev $IF1 src $IP1  
ip route add $NET2 dev $IF2 src $IP2  

ip route add default via $GW1  
  
ip rule add from $IP1 table T_NET1  
ip rule add from $IP2 table T_NET2  
  
ip route flush cache  

Вопрос:
как мне при данной настройке указать метрику ?

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

как мне при данной настройке указать метрику ?

Не совсем понял где вы собрались указывать метрику и самое главное зачем?

ip route add default via $GW1

Выше уже приводил вам ссылку про таблицу main.

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

Вся штука в том, что WGET стучится через $GW2,
не смотря на [ip route add default via $GW1].
Иначе я не понимаю почему он начинает тупить
когда отваливается провайдер 2 ($GW2).
Именно по этой же причине я и хочу попробовать указать метрику.

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

Вся штука в том, что WGET стучится через $GW2,
не смотря на [ip route add default via $GW1].

«Вся штука в том», что это абсолютно правильно. Как написали правила, так оно и работает. Смотрим на выхлоп ip ru s первый столбец это priority, правила просматриваются от меньшего к большему, на правиле подошедшем под условие обработка останавливается.
При добавление правила без явного указания priority, добавляется правило с priority = min(priority-существующиx-правил)-1, где priority-существующиx-правил > 0. Предположим, что вашем примере правила по умолчанию.

0:	from all lookup local
32766:	from all lookup main
32767:	from all lookup default
выполняем
ip rule add from $IP1 table T_NET1 
ip rule add from $IP2 table T_NET2  
получаем
0:	from all lookup local
32764:	from $IP2 lookup T_NET2
32765:	from $IP1 lookup T_NET1
32766:	from all lookup main
32767:	from all lookup default
как видите при отправке с $IP1 или $IP2 до таблицы main уже не дойдет, а будет отправлено или в таблицу T_NET1 или в T_NET2

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

Ответ такой:
0: from all lookup local
32764: from 192.168.1.21 lookup T_NET2
32765: from 192.168.100.21 lookup T_NET1
32766: from all lookup main
32767: from all lookup default
Так вот вопрос в том как изменить/добавить команды чтобы
по умолчанию была сеть/таблица T_NET1 ?

ZicoRio ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.