Я настроил ARP-прокси на своем VPS. С помощью этой настройки я могу направлять входящий трафик на второй IP-адрес моего VPS через WireGuard. Это должно позволить моему Raspberry Pi дома использовать второй общедоступный IP-адрес.
У меня такая работа. Входящие эхо-запросы пересылаются через туннель WireGuard на Pi. Но затем Pi пытается ответить на Ping через eth0. Есть ли способ исправить это, чтобы он отправлял ответные пакеты также через интерфейс WireGuard?
Чтобы показать эту проблему (оба на Raspberry Pi)
Интерфейс WireGuard:
# tcpdump -i wg_pub
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на wg_pub, тип ссылки RAW (Raw IP), размер захвата 262144 байт
01:35:02.796522 IP <Общий IP-адрес ping-ПК> > <IP-адрес второго VPS>: эхо-запрос ICMP, идентификатор 14, последовательность 1, длина 64
01:35:03.795359 IP <Общий IP-адрес ping-компьютера> > <IP-адрес второго VPS>: эхо-запрос ICMP, идентификатор 14, последовательность 2, длина 64
01:35:04.810613 IP <Общий IP-адрес ping-компьютера> > <IP-адрес второго VPS>: эхо-запрос ICMP, идентификатор 14, последовательность 3, длина 64
Ethernet-интерфейс:
# tcpdump -i eth0 icmp
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на eth0, тип канала EN10MB (Ethernet), размер захвата 262144 байт
01:37:11.477589 IP <Второй IP-адрес VPS> > <Общедоступный IP-адрес ping-компьютера>: эхо-ответ ICMP, идентификатор 14, последовательность 128, длина 64
01:37:12.491045 IP <второй IP-адрес VPS> > <общедоступный IP-адрес ping-компьютера>: эхо-ответ ICMP, идентификатор 14, последовательность 129, длина 64
01:37:13.505965 IP <второй IP-адрес VPS> > <общедоступный IP-адрес ping-компьютера>: эхо-ответ ICMP, идентификатор 14, последовательность 130, длина 64
Я хотел бы предотвратить использование частной подсети в туннеле WireGuard.
Один из способов, с помощью которого я заработал, состоял в том, чтобы добавить статический маршрут
ip route add <IP-адрес первого VPS>/32 dev eth0
а затем перезаписать маршрут по умолчанию
IP-маршрут добавить 0.0.0.0/0 dev wg_pub
Но у этого есть недостаток маршрутизации всего интернет-трафика через VPS.