Наш сервер имеет подключение по локальной сети (DHCP) к внутренней сети и 3G (через USB-ключ) к Интернету. Доступ в Интернет не должен быть открыт для внутренней сети и наоборот.
Чтобы использовать 3G-модем, я следовал этим двум руководствам:
USB-модем 3G не работает в 12.04
http: //forums.gentoo .org / viewtopic-t-766982.html
Теперь, когда я делаю wvdial provider_name
, соединение установлено. Интерфейс подключен и имеет настройки IP, DNS и т. Д. В соответствии с ifconfig
Однако, когда я пытаюсь пропинговать любой общедоступный интернет-сервер, он все равно пытается использовать для этого сеть LAN, а не интерфейс PPP.
Как я могу это решить?
PS: я попробовал следующее - поместите auto ppp0 iface ppp0 inet wvdial
в /etc/network/interfaces
до auto eth0
, и теперь при запуске он поднимает интерфейс ppp0, затем я отключаю кабель из локальной сети и перезагрузите, после этого он работает нормально, но если я перезагружаю сервер с подключенным кабелем локальной сети, он все еще использует шлюз eth0
по умолчанию!
Выходные данные из ip route show
:
Я знаю, что есть способ использовать route2 для балансировки нагрузки между интерфейсами, но во всех руководствах я мог обнаружить, что они используют статический IP и DNS, тогда как в моем случае с 3G-соединением это сделать невозможно ...
Хорошо, нашел это. Команда для установки интерфейса маршрутизации по умолчанию:
$ route add default dev %interface_name%
Проблема с настройкой интерфейса PPP по умолчанию состоит в том, что это должно быть сделано после запуска интерфейса, что может занять некоторое время. Поэтому в качестве решения я создал задачу Upstart, которая запускается после выполнения всего остального и устанавливает интерфейс по умолчанию