Два интерфейса - проблема доступа в Интернет

У меня есть два интерфейса: eth0 и eth1. У них обоих есть статические адреса. Они подключены к различным маршрутизаторам, и оба маршрутизатора имеют доступ в Интернет. Я использовал это учебное руководство для конфигурирования ссылок: https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System.

Проблема состоит в том, что у меня есть доступ к обеим подсетям, но я соединяюсь с Интернетом только через eth0. Когда я пытаюсь использовать ссылку eht1 f.ex. для проверки с помощью ping-запросов, я добрался Destination Host Unreachable

Как я должен настроить ссылки, чтобы иметь доступ в Интернет через них обоих.

маршрут-n:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use  Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0  eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0  eth0
10.10.0.0       0.0.0.0         255.255.255.0   U     0      0        0  eth1

Когда я установил 10.10.0.1 как шлюз по умолчанию я соединяюсь с Интернетом только через eth1.

/etc/network/interfaces:

auto eth0
  iface eth0 inet static
    address 192.168.1.202
    netmask 255.255.255.0
    gateway 192.168.1.1

auto eth1
  iface eth1 inet static
    address 10.10.0.10
    netmask 255.255.255.0
    post-up ip route add 10.10.0.0/24 dev eth1 src 10.10.0.10 table rt2
    post-up ip route add default via 10.10.0.1 dev eth1 table rt2
    post-up ip rule add from 10.10.0.10/32 table rt2
    post-up ip rule add to 10.10.0.10/32 table rt2
0
задан 8 May 2017 в 22:06

1 ответ

Система может иметь только один шлюз в данный момент. Только можете сделать необходимо вызвать некоторый трафик иначе ssh, ftp.. или к определенной сети для продолжения на другой интерфейс

Трафик маршрута к определенному порту через определенный интерфейс

Пример:

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

sudo iptables -t mangle -A OUTPUT -p tcp –dport 4444 -j MARK –set-mark 0×1

Мы отмечаем все пакеты с местом назначения port 4444 как ’0×1 ′.

Удалить эту запись из iptables мы можем использовать -D вместо -A.

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

100 4444table

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

ip rule add fwmark 0×1 lookup 4444table

Добавьте маршрут за новой таблицей 4444table. Здесь мы будем использовать ’192.168.1.1 ′ в качестве шлюза для 4444.

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

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

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

sudo ip route add default via 192.168.1.1 table 4444table

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

Или маршрутизация местом назначения

Целевой IP 132.45.65.60

Снова используйте таблицу искажения iptables для изменения пакетов для 132.45.65.60

sudo iptables -t mangle -A OUTPUT -d 132.45.65.60 -j MARK -set-mark 0×1

Мы отмечаем весь пакетный маршрутизатор к IP 132.45.65.60 как ’0×1 ′.

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

service iptables save
service iptables restart

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

100 132table

Запишите правило для пакетов к целевому IP 132.45.65.60

ip rule add fwmark 0×1 lookup 132table

Добавьте маршрут за новой таблицей 132table. Здесь мы будем использовать 192.168.1.1. Весь другой трафик пройдет шлюз по умолчанию.

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

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

Добавьте запись шлюза по умолчанию для 132.45.65.60 пакетов к таблице 132table

 sudo ip route add default via 192.168.1.1 table 132table

Редактирование 1

Если необходимо установить metric иначе с metric интерфейс без метрики имеет "приоритет"

auto eth0
  iface eth0 inet static
    address 192.168.1.202
    netmask 255.255.255.0
    gateway 192.168.1.1

auto eth1
  iface eth1 inet static
    address 10.10.0.10
    netmask 255.255.255.0
    gateway 10.10.0.1
    metric 800 

С этой установкой при наличии шлюз по умолчанию будет 192.168.1.1 и трафик пойдет канавка eth0. Когда Вы делаете ifdown eth0 или кабель разъединения от eth0, почти лучше всего будет шлюз 10.10.0.1 с metric 800 и трафик пойдет канавка eth1. Когда Вы соединяете кабель или ifup eth0 значение по умолчанию gw будет снова 192.168.1.1.

Как я говорю.

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

0
ответ дан 3 November 2019 в 07:01

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

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