Настройте два маршрутизатора на одном устройстве

Я создаю маршрутизатор с RPi (Raspbian). Он имеет 3 сетевых интерфейса:

  • eth0 : подключен к Интернету (IP / шлюз от DHCP)
  • wlan0 , wlan1 : локальные интерфейсы WLAN (каждый из которых обслуживает собственный SSID как AP)

Кроме того, есть VPN-соединение tun0 в удаленной сети, которая подключена к самому Интернету.

Теперь я хочу:

  • весь трафик с wlan0 будет маршрутизироваться через tun0 и
  • весь трафик от wlan1 будет маршрутизироваться через eth0

В результате я хочу иметь две WLAN, одну с прямым доступом в Интернет и одну с доступом в Интернет через VPN-соединение.

Это было очень просто, используя два разных устройства, но как это сделать, используя только один шлюз по умолчанию?

  • Как настроить задачу ping на Antergos / Arch Linux?
  • SSH Gateway в ~ / .ssh / config
  • Невозможно изменить шлюз по умолчанию со статическим IP-адресом
  • Два шлюза в одной VLAN
  • Статический IP-адрес без шлюза
  • Linux Замена RD-шлюза
  • Как заставить интернет работать с малиной pi, подключенной к ПК через Ethernet-кабель?
  • Установите постоянные статические маршруты для 4 интерфейсов на 2 CentOS 7.1 серверах
  • One Solution collect form web for “Настройте два маршрутизатора на одном устройстве”

    Вам нужно создать вторую таблицу маршрутизации и использовать политическую маршрутизацию . Применительно к вашему делу вам необходимо:

    1. Установите первый маршрут по умолчанию, используя основную таблицу маршрутизации. Эта таблица будет использоваться для трафика, создаваемого локально, и для трафика из wlan1 :

      ip route add default via <gateway_reachable_by_eth0> table main 
    2. Создайте вторую таблицу маршрутизации vpn :

       echo 200 vpn >> /etc/iproute2/rt_tables 
    3. Добавьте маршрут по умолчанию в новую таблицу:

       ip route add default via <gateway_reachable_by_tun0> table vpn 
    4. Укажите, что весь трафик с wlan0 должен использовать эту новую таблицу:

       ip rule add from <wlan0_subnet> lookup vpn 
    Linux и Unix - лучшая ОС в мире.