Мой ThinkPad имеет два сетевых интерфейса, один проводной и один беспроводной. Оба интерфейса могут быть подключены к маршрутизатору, который, в свою очередь, подключен к Интернету.
Если оба интерфейса подключены, оба интерфейса используются одновременно или только по одному за раз. Как я могу узнать, какой интерфейс используется?
Сетевые интерфейсы имеют значение «метрика». Если к шлюзу может быть подключено несколько интерфейсов, будет использоваться интерфейс с наименьшей метрикой.
Вы можете попробовать набрать netstat -r
в командной строке, чтобы взглянуть на это. ifconfig
также даст метрику для каждого интерфейса.
Я активировал свои проводные eth0 и wifi eth2 с помощью сетевого менеджера (оба dhcp):
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 eth2 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
tcpdump -n -i eth0
показывает трафик, а tcpdump -n -i eth2
нет.
Итак, давайте попробуем изменить порядок интерфейсов в таблице маршрутизации:
sudo route del -net 192.168.1.0/24 dev eth2 sudo route add -net 192.168.1.0/24 dev eth2 sudo route -n add default gw 192.168.1.1 dev eth2
Теперь таблица маршрутизации:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 192.168.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 1000 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth2 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Теперь tcpdump показывает весь трафик, проходящий через интерфейс eth2. .