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

Как мне маршрутизировать определенный IP-адрес через системный шлюз по умолчанию?

Я отправляю весь трафик через Wireguard VPN, но мне нужно настроить исключение. Пакеты, направленные на мой собственный общедоступный IP-адрес, должны проходить через шлюз системы по умолчанию.

Он работает как задумано, если я добавлю это в маршруты ядра: route add X.X.X.X gw 192.168.1.254. Но, конечно, здесь я жестко кодирую шлюз своего маршрутизатора, и он не будет работать, если я подключусь к любой другой сети. Как я могу обобщить это поведение, чтобы я всегда отправлял пакеты, направленные на X.X.X.X через шлюз по умолчанию? Возможно, лучше использовать iptables, чем добавлять маршруты ядра?

Вы можете использовать переменную:

defaultGW=$(/sbin/ip route | awk '/default/ { print $3 }')

затем:

route add X.X.X.X gw $defaultGW


Возможно, вам стоит начать использовать ip route, это современная альтернатива route.