Два шлюза в той же сети

Моя машина выполняет Сервер Ubuntu 16.04, и это имеет два NICs, eth0 и eth1, как показано на сетевом графике. Его роль состояла в том, чтобы первоначально направить трафик от 192.168.50.0/24 подсети до 192.168.1.0/24 подсети, где маршрутизатор DSL то, что подключения к Интернету. Таким образом, моя конфигурация сети

Вывод (eth0) cat /etc/network/interfaces.d/eth0

#auto eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.7
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1

Вывод (eth1) cat /etc/network/interfaces.d/eth1

#auto eth0
#iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.50.7
netmask 255.255.255.0

Теперь я добавил другой сотовый маршрутизатор, который также соединяется с Интернетом, и он соединен на 192.168.50.0/24 подсети. Я должен направить часть интернет-трафика через тот сотовый маршрутизатор, но не все это (например, соединения SSH) Какие-либо идеи о том, как достигнуть этого?

Network diagram

3
задан 24 April 2017 в 20:12

1 ответ

Здесь мы возьмем ssh как сервис для маршрутизации. Использовать mangle таблица iptable для изменения ssh пакеты.

sudo iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 0x1

Мы отмечаем все пакеты с целевым портом 22 как 0x1 .

Теперь сохраните и перезапустите iptables.

sudo service iptables save
sudo service iptables restart

Затем, создайте новую таблицу маршрутизации IP в /etc/iproute2/rt_tables просто дав запись

100 sshtable

Запишите правило для ssh пакеты.

ip rule add fwmark 0x1 lookup sshtable

Добавьте маршрут за новой таблицей sshtable. Весь другой трафик пройдет шлюз по умолчанию, который виден ip route show команда.

Мы копируем все записи кроме записи шлюза по умолчанию от основной таблицы.

sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table sshtable $ROUTE; done

Добавьте запись шлюза по умолчанию для ssh пакеты к таблице sshtable

sudo ip route add default gw 192.168.50.254 table sshtable

Использовать ip route show table sshtable показать все маршруты в sshtable.

Попробовать.

3
ответ дан 1 December 2019 в 16:19

Другие вопросы по тегам:

Похожие вопросы: