Мостовое соединение: Ubuntu продолжает изменять таблицу маршрутизации

Я установил мостовое соединение со своего мобильного телефона, подключенного через USB, к ноутбуку, на котором установлена ​​Ubuntu 12.04, с другим компьютером, подключенным через кабель Ethernet. Таким образом, мост соединяет usb0 и eth0. Я установил его, набрав на своем ноутбуке следующие команды:

$ ifconfig usb0 0.0.0.0 promisc up
$ brctl addbr br0
$ brctl addif br0 usb0 eth0
$ ifconfig br0 up

Теперь другой компьютер (подключенный к моему ноутбуку через Ethernet) может подключаться к Интернету. Теперь я использую следующие команды для восстановления интернет-соединения на моем ноутбуке:

$ ifconfig br0 192.168.42.200 up
$ route del default
$ route add default gw 192.168.42.129 br0

После этой операции route печатает следующую таблицу маршрутизации ip ядра:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.42.129  0.0.0.0         UG    0      0        0 br0
link-local      *               255.255.0.0     U     1000   0        0 usb0
192.168.42.0    *               255.255.255.0   U     0      0        0 br0
192.168.42.0    *               255.255.255.0   U     1      0        0 usb0

Все работает нормально оба компьютера могут подключиться к Интернету, но внезапно мой ноутбук теряет связь.

Я обнаружил, что это происходит из-за того, что таблица маршрутизации ip ядра была изменена. route теперь дает следующий вывод:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.42.129  0.0.0.0         UG    0      0        0 usb0
link-local      *               255.255.0.0     U     1000   0        0 usb0
192.168.42.0    *               255.255.255.0   U     1      0        0 usb0

Очевидно, что Ubuntu не любит подключаться через br0 и, таким образом, переключается обратно на usb0. Однако соединение можно восстановить, снова сбросив таблицу маршрутов:

$ route del default
$ route add default gw 192.168.42.129 br0

К сожалению, через несколько секунд соединение снова теряется. Однажды это продлится 5 минут, прежде чем Ubuntu решит убить его снова.

Как я могу запретить Ubuntu изменять таблицу маршрутизации ip ядра?

3
задан 4 March 2013 в 13:52

1 ответ

Хорошо, в случае, если у кого-то еще есть такая же проблема, вот как я ее решил: я просто отключил сетевой менеджер, набрав следующую команду:

$ stop network-manager

Обратите внимание, что сетевой менеджер очищает таблицу маршрутизации. и отключает все соединения до его выхода, поэтому вам необходимо восстановить все необходимые интерфейсы.

Мне пришлось дополнительно ввести следующие команды, чтобы мой мост снова заработал:

$ ifconfig usb0 up
$ ifconfig eth0 up

Далее мне нужно было отредактировать /etc/resolv.conf, чтобы восстановить разрешение адреса. Я добавил следующие строки, которые устанавливают DNS-серверы Google в качестве серверов имен:

nameserver 8.8.8.8
nameserver 8.8.4.4

Теперь все работает как положено, оба компьютера подключены к Интернету.

0
ответ дан 4 March 2013 в 13:52

Другие вопросы по тегам:

Похожие вопросы: