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

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

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

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

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

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

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

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

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 
  • NAT и запомнить оригинальный IP-адрес?
  • Interesting Posts

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

    Сквош все UID автоматически, без "all_squash"

    -e с различными эмуляторами терминалов

    Nmap -sn: сканирование или отсутствие сканирования?

    Как grep все xml-файлы, которые не начинаются с "<"

    Исполняемые файлы показывают с символом * рядом с их именем в выводе ls

    Чтение с USB-последовательного порта под Cygwin

    Как проверить, что dvd-rw стерта?

    файл отсутствует на рабочем столе, но его можно увидеть с помощью «ls» в каталоге «Рабочий стол»

    Как использовать Ctrl-Insert для копирования из XTerm?

    Невозможно выполнить загрузку при замене карты Adaptec SCSI

    Как написать сценарий bash, который регистрируется на другой машине, чтобы делать что-то?

    Могу ли я запретить использование пространства подкачки для определенного процесса (и его просто убить)?

    включить / отключить службу NTP на Ubuntu 12.04

    Файл поврежден, как мне переустановить пакеты на Debian?

    Linux и Unix - лучшая ОС в мире.