Требуется ли для правильной работы подключение к нескольким сетям с различными подсетями в Ubuntu?
У меня есть 2 сетевых интерфейса на моем компьютере, один из которых проводной, а другой - беспроводной USB-адаптер. Оба они подключены к разным маршрутизаторам в разных подсетях. Прежде чем вы спросите
$ ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 10.10.1.2/24 brd 10.10.1.255 scope global eth0
4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.1.2/24 brd 192.168.1.255 scope global wlan1
$ ip -4 r
default via 10.10.1.1 dev eth0 proto static
10.10.1.0/24 dev eth0 proto kernel scope link src 10.10.1.2 metric 1
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.1.0/24 dev wlan1 proto kernel scope link src 192.168.1.2 metric 2
$ netstat -rn output
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.10.1.1 0.0.0.0 UG 0 0 0 eth0
10.10.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1
, я могу нормально пропинговать оба IP-адреса шлюза, но привязка соединения к сети USB-адаптера никогда не работает. Так есть идеи, как это исправить?
НАЙТИ РЕШЕНИЕ!
Оказывается, мне нужно добавить новую таблицу маршрутизации для дополнительного имени, а затем добавить для нее правила маршрутизации. Подробнее читайте в инструкциях по этой ссылке
Я не уверен насчет curl
, но на странице руководства wget
написано:
--bind-address=ADDRESS
When making client TCP/IP connections, bind to ADDRESS on the local
machine. ADDRESS may be specified as a hostname or IP address.
This option can be useful if your machine is bound to multiple IPs.
Укажите IP-адрес нужного вам никеля.