Настройка VPN в Ubuntu.
Наконец-то мне удалось настроить реконнект на VPN. Что для этого нужно сделать:
Открываем новый файл sudo vim /etc/ppp/peers/new_connection и прописываем туда следующую информацию:
pty “pptp 192.168.12.1 –nolaunchpppd”
name gep
remotename PPTP
lcp-echo-interval 10
lcp-echo-failure 3
persist
maxfail 999
file /etc/ppp/options.pptp
ipparam new_connection
, где “192.168.12.1″ — адрес вашего vpn.
“gep” — ваш логин.
“lcp-echo-interval 10″ — через сколько секунд посылать (или принимать) пинг пакеты типа “ау, юзер, ты еще тут?”.
” lcp-echo-failure 3″– сколько недошедших подряд пакетов типа “ау, юзер, ты еще тут?” нужно, чтобы принять соединение дисконнектом.
“persist” — важная опция, которая говорит, что надо постоянно держать соединение и в случае разрыва попытаться соединиться вновь
“maxfail 999″ — сколько раз делать попытку соединения с сервером или иным словом количество попыток соединиться (тавтология какая-то :) ). Если указать “0″ раз (что означает бесконечность), то вы будете коннектиться до посинения.
“ipparam new_connection” — ваша собственная опция (вроде название соединения)
“remotename PPTP” — название удаленного сервера (лучше оставить таким)
В некоторых случаях вам может понадобится компрессия данных. В моем же случае она отрицалась сервером (все смотрите в логах!). Затем открываем sudo vim /etc/ppp/chap-secrets и прописываем туда свои логин и пароль:
gep PPTP your_password *
, где “gep” — логин, “your_password” — ваш пароль.
Теперь нам осталось сделать только sudo pppd call new_connection и посмотреть в логах как прошло соединение. У меня вышло что-то вроде:
Feb 27 19:26:53 gep-work pppd[16105]: Using interface ppp0
Feb 27 19:26:53 gep-work pppd[16105]: Connect: ppp0 <–> /dev/pts/5
Feb 27 19:26:53 gep-work NetworkManager: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Feb 27 19:26:53 gep-work NetworkManager: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
Feb 27 19:26:53 gep-work pptp[16561]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 ‘Start-Control-Connection-Request’
Feb 27 19:26:53 gep-work pptp[16561]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Feb 27 19:26:53 gep-work pptp[16561]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Feb 27 19:26:54 gep-work pptp[16561]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 ‘Outgoing-Call-Request’
Feb 27 19:26:54 gep-work pptp[16561]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Feb 27 19:26:54 gep-work pptp[16561]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer’s call ID 8841).
Feb 27 19:26:54 gep-work pppd[16105]: CHAP authentication succeeded
Feb 27 19:26:54 gep-work pppd[16105]: Cannot determine ethernet address for proxy ARP
Feb 27 19:26:54 gep-work pppd[16105]: local IP address 10.10.10.45
Feb 27 19:26:54 gep-work pppd[16105]: remote IP address 10.10.10.1
Видно, что соединение прошло. Ура! Но это еще не все. Нам нужно, чтобы при каждом соединении ставились нужные роуты, для этого открываем sudo vim /etc/ppp/ip-up и дописываем в этот файл:
route add default ppp0
Вот и все! Можно еще в ip-down прописать route del defaul, но я не стал этого делать. И не стоит опускать руки! ;)
