Рейтинг:0

ARP Proxy второй IP-адрес VPS для маршрутизации через Wireguard

флаг cn

Я настроил 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.

Рейтинг:0
флаг cn

Я думаю, вы сможете сделать это с помощью политики маршрутизации. Настройте маршрут по умолчанию для новой таблицы маршрутизации (123 например), чтобы использовать ваш интерфейс WireGuard (wg_pub):

ip route добавить по умолчанию dev wg_pub таблица 123

А затем добавьте правило политики, чтобы использовать эту новую таблицу для всех пакетов, источником которых является ваш второй IP-адрес VPS (скажем, 192.0.2.2 Например):

ip правило добавить из таблицы 192.0.2.2 123 приоритет 456

Приоритет (456) может быть любым, имеет значение только в том случае, если у вас есть несколько правил сопоставления (список через список IP-правил).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.