Назад | Перейти на главную страницу

Маршрутизатор DD-WRT с двумя туннелями для защиты от проводов, шлюзом и сервером

Я пытаюсь настроить свой DD-WRT Router для работы в качестве сервера Wireguard-VPN, доступного извне и одновременно с шлюзом Wireguard-VPN для моей сети через два отдельных туннеля.

Мне удалось научить его первой роли, следуя это руководство. После этого все работало нормально.

За вторым туннелем я слабо последовал это руководство и приспособил его к моему провайдеру VPN (Mullvad). Сейчас это работает нормально, но сломал первый туннель. Я больше не могу подключиться к своей домашней сети.

Я предполагаю, что маршрут по умолчанию для туннеля Муллвад сломал его. Или, может быть, мне не хватает настроек брандмауэра?

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

Несколько фактов о моей настройке, которые могут помочь в отладке (я с радостью добавлю дополнительную информацию по запросу):

Сценарий запуска:

sleep 30
echo "Update route table on startup..."
WGSERVER=$(/usr/sbin/nvram get oet2_rem0)
WANGW=$(/usr/sbin/nvram get lan_gateway)
WANIF=$(/usr/sbin/nvram get lan_ifname)
route add -host $WGSERVER gw $WANGW dev $WANIF
route del default
route add default dev oet2
ip route flush cache
mkdir -p /tmp/etc/config
ln -s /tmp/custom.sh /tmp/etc/config/wg-route-fix.wanup
echo "... Done route table update."

Брандмауэр:

WANIF=$(/usr/sbin/nvram get lan_ifname)
iptables -t nat -I POSTROUTING -o oet2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $WANIF -j MASQUERADE
#iptables -I FORWARD -i br0 -o $WANIF -m state --state NEW -j REJECT --reject-with icmp-host-prohibited
#iptables -I FORWARD -i br0 -p tcp -o $WANIF -m state --state NEW -j REJECT --reject-with tcp-reset
iptables -I FORWARD -i oet1 -j ACCEPT
iptables -I FORWARD -o oet1 -j ACCEPT

Пользовательский сценарий:

#!/bin/sh
sleep 5
echo "Update route table on wanup ..."
WGSERVER=$(/usr/sbin/nvram get oet2_rem0)
WANGW=$(/usr/sbin/nvram get lan_gateway)
WANIF=$(/usr/sbin/nvram get lan_ifname)
route add -host $WGSERVER gw $WANGW dev $WANIF
route del default
route add default dev oet2
ip route flush cache
echo "... Done route table update."

Вывод «ip route»:

default dev oet2 scope link 
127.0.0.0/8 dev lo scope link 
141.98.103.58 via 192.168.178.1 dev br0 
192.168.178.0/24 dev br0 scope link  src 192.168.178.2 
192.168.179.0/24 dev oet1 scope link  src 192.168.179.1 

Вывод "wg show":

interface: oet1
  public key: (hidden)
  private key: (hidden)
  listening port: 51823

peer: (hidden)
  endpoint: (hidden):51823
  allowed ips: 192.168.179.2/32
  transfer: 296 B received, 184 B sent

interface: oet2
  public key: (hidden)
  private key: (hidden)
  listening port: 51820

peer: (hidden)
  endpoint: 141.98.103.58:51820
  allowed ips: 0.0.0.0/0
  latest handshake: 3 seconds ago
  transfer: 124 B received, 468 B sent