Dial on demand или соединение по требованию 16.06.1999
И, наконец, последний способ соединения установление соединения
по требованию (dial on demand):
pppd cuaa0 57600 lock connect '/etc/ppp/dial' \
demand 192.168.10.200:192.168.10.1 \
idle 120 holdoff 5 \
defaultroute noipdefault debug
Параметр demand указывает pppd
при запуске присвоить интерфейсу ppp0
адрес 192.168.10.200 и установить
default route на адрес 192.168.10.1,
создавая иллюзию соединения.
Всё это Вы можете проверить с помощью команды netstat.
Но при этом pppd не будет пытаться установить соединение.
Только когда на адрес 192.168.10.1 кто-либо пошлёт IP-пакет,
pppd начнёт звонить и установит реальное соединение.
Параметр idle 120 указывает pppd
разорвать реальное соединение, если в течение 120 секунд по линии ничего
не передавалось. Иллюзия соединения, тем не менее, остаётся.
Как и в режиме постоянного соединения, параметр
holdoff 5
указывает pppd возобновить попытку соединиться
через 5 секунд после обрыва соединения.
Однако, если разрыв произошёл из-за простоя линии,
pppd игнорирует это указание.
В принципе, этот вариант запуска можно поместить в файл
/usr/local/etc/rc.d/pppd.sh,
тогда он будет запускаться при загрузке системы.
Во FreeBSD 3.x и выше эту строку лучше записать в файл
/etc/start_if.ppp0.
В нашем примере провайдер выделил нам статический адрес.
Если Вам не повезло и у Вас динамически выделяемый адрес, Вы можете
опустить локальный адрес:
pppd cuaa0 57600 lock connect '/etc/ppp/dial' \
demand :192.168.10.1 \
idle 120 holdoff 5 \
defaultroute debug
В этом случае, в качестве адреса интерфейса ppp0 pppd выберет один из адресов, назначенных данному компьютеру,
или 0.0.0.0, если таких адресов нет:
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
...
ppp0 1500 <Link> 0 0 0 0 0
ppp0 1500 0 0.0.0.0 0 0 0 0 0
...
Но такой способ соединения имеет существенный недостаток если
при повторном соединении адрес изменится, то
существующие TCP-соединения будут разорваны.
(C) Игорь Сысоев http://sysoev.ru |