Firewall

在一台設備上配置兩個路由器

  • June 26, 2017

我正在建構一個帶有 RPi(Raspbian)的路由器。它有3個網路介面:

  • eth0:連接到網際網路(來自 DHCP 的 IP/網關)
  • wlan0 , wlan1:本地 WLAN 介面(每個介面都作為 AP 提供自己的 SSID)

此外,還有一個 VPN 連接tun0到遠端網路,該網路連接到網際網路本身。

現在我想要:

  • 來自wlan0的所有流量都將通過tun0
  • 來自wlan1的所有流量都將通過eth0路由

結果,我想要兩個 WLAN,一個可以直接訪問 Internet,另一個可以通過 VPN 連接訪問 Internet。

使用兩種不同的設備非常容易,但是如何僅使用一個預設網關來做到這一點?

您需要創建第二個路由表並使用基於策略的路由。應用於您的案例,您需要:

  1. 使用主路由表設置第一個預設路由。此表將用於本地生成的流量和來自wlan1的流量:
ip route add default via <gateway_reachable_by_eth0> table main
  1. 創建第二個路由表vpn
echo 200 vpn >> /etc/iproute2/rt_tables
  1. 將預設路由添加到新表:
ip route add default via <gateway_reachable_by_tun0> table vpn
  1. 指示來自wlan0的所有流量都應使用此新表:
ip rule add from <wlan0_subnet> lookup vpn

引用自:https://unix.stackexchange.com/questions/373381