
У меня есть машина Debian со следующим сетевым сценарием:
- eth0- Подключение к Интернету через локальный маршрутизатор (172.20.1.x)
- ппп0- Коммутируемое подключение к сети без интернета (10.xxx)
Я настроил pppd таким образом, чтобы он не добавлял маршруты по умолчанию в мою таблицу маршрутизации, и после загрузки системы моя таблица маршрутизации выглядит следующим образом:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.1.1 0.0.0.0 UG 0 0 0 eth0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
С этой конфигурацией я могупинг google.com, однако я не могу получить доступ ни к одной машине с IP-адресами типа 10.0.0.1 или 10.0.0.2 и т. д.
Пытаясь исправить это (используя свои скудные знания), я изменил свой /etc/network/interfaces
файл следующим образом:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto ppp0
iface ppp0 inet ppp
pre-up sleep 5
provider vfp
post-up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
pre-down /sbin/route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
Но, судя по всему, команда post-up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
, которая должна добавить маршрут, чтобы все заработало, не вступает в силу — в таблице маршрутизации ничего не меняется.
Что я упускаю? / Как это исправить? Спасибо ;)
PS: Если я запущу его route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
после загрузки системы, то смогу пропинговать и google.com, и 10.0.0.1 из системы.
решение1
для добавления или удаления маршрутов для ppp
соединений я не использую interfaces
файл. Вместо этого я добавляю скрипты в /etc/ppp/ip-up.d
и /etc/ppp/ip-down.d
соответственно. Вы просто можете разместить скрипты там с вашими route
командами.