Мой домашний сервер имеет два интерфейса с именами eth0 и eth1. eth0 подключен напрямую к входящему порту WAN, поэтому шлюз для eth0 определяется в зависимости от DHCP-сервера провайдера. eth1 подключен к моему маршрутизатору, который подключен к другому порту WAN.
Ниже вывод команды netstat -rn
-rn (111.111.111.126 - фиктивный публичный адрес):
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 111.111.111.126 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
111.111.111.126 0.0.0.0 255.255.255.128 U 0 0 0 eth0
Я хочу иметь возможность свободно выбирать интерфейс для исходящих соединений, но не знаю как. curl www.google.com --interface eth1
должен подключиться к www.google.com через eth1, он не работает в текущей конфигурации. route add default gw 192.168.0.1
исправляет это, но затем curl www.google.com --interface eth0
breaks.