Задача: Хочу применительно к Ubuntu Trusty Server настроить pptp клиент для связи с Mikrotik где поднят VPN PPTP.
Что-то я уже давно не публиковал на своем блоге, но я уже здесь и готов исправить текущую ситуацию. На этот раз я хочу показать, как настроить PPTP-клиент, но не на Desktop редакции системы Ubuntu, а на Server. Нужно это мне в первую очередь, если нужно иметь возможность копировать бекапы, как если бы я находился в локальной сети. Но одними резервными копиями все не ограничивается: – получается система которая посредством pptp подключилась к удаленному узлу (Mikrotik PPTP VPN) может иметь доступ, как внутри текущей сети, в удаленной и выход в интернет. Я хочу чтобы данная заметка имела место быть опубликованной на моем блоге — это же шпаргалка действий на основе поставленных задач с которыми я сталкиваюсь или буду сталкиваться в повседневности.
И так, обновляю систему в рамках текущего Ubuntu Trusty Server релиза:
ekzorchik@srv-trusty:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-trusty:~$ sudo apt-get update && sudo apt-get upgrade -y
Устанавливаю в систему клиент для организации подключения через pptp:
ekzorchik@srv-trusty:~$ apt-cache search pptp-linux
pptp-linux - Point-to-Point Tunneling Protocol (PPTP) Client
ekzorchik@srv-trusty:~$ sudo apt-get install pptp-linux -y
Создаю свою конфигурацию на подключение, а все другие не используемые удаляю:
ekzorchik@srv-trusty:~$ sudo rm /etc/ppp/peers/provider
ekzorchik@srv-trusty:~$ sudo vi /etc/ppp/peers/mikrotik
pty "pptp home.domain.ru --nolaunchpppd"
#имя соединения
remotename mikrotik
require-mschap-v2
require-mppe-128
#логин
user <user>
#пароль
password "<pass>"
nodeflate
nobsdcomp
noauth
#nodefaultroute #отключаем маршрут по умолчанию,
#если он вам нужен - замените на defaultroute
defaultroute
#принудительно изменять маршрут по умолчанию
replacedefaultroute
#переподключаться при обрыве
persist
#количество попыток переподключения
maxfail 10
#интервал между переподключениями
holdoff 15
#номер ppp интерфейса
unit 1
Запускаю созданную конфигурацию:
ekzorchik@srv-trusty:~$ sudo pppd call mikrotik
Т.к. запуск конфигурации не сопровождается выводом какой-либо информации на консоль, то значит придется см. системные логи, а что говорится в них:
ekzorchik@srv-trusty:~$ tail -f /var/log/syslog
Dec 7 20:38:37 srv-trusty pppd[23445]: CHAP authentication succeeded
Dec 7 20:38:37 srv-trusty kernel: [ 1690.046189] PPP MPPE Compression module registered
Dec 7 20:38:37 srv-trusty pppd[23445]: MPPE 128-bit stateless compression enabled
Dec 7 20:38:38 srv-trusty pppd[23445]: replacing old default route to eth0 [155.55.55.1]
Dec 7 20:38:38 srv-trusty pppd[23445]: local IP address 171.29.100.2
Dec 7 20:38:38 srv-trusty pppd[23445]: remote IP address 171.29.100.1
Смотрю текущий ip адрес у активированных интерфейсов в системе:
ekzorchik@srv-trusty:~$ ip r
default dev ppp1 scope link
<EXTERNAL_IP_VPN> via 155.55.55.1 dev eth0 src 155.55.55.6
171.29.100.1 dev ppp1 proto kernel scope link src 171.29.100.2
155.55.55.0/24 dev eth0 proto kernel scope link src 155.55.55.6
Проверяю, а вижу ли я ресурсы за Mikrotik:
ekzorchik@srv-trusty:~$ ping <INTERNAL_IP_ADDRESS>
PING <INTERNAL_IP_ADDRESS> (<INTERNAL_IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <INTERNAL_IP_ADDRESS>: icmp_seq=1 ttl=64 time=9.98 ms
64 bytes from <INTERNAL_IP_ADDRESS>: icmp_seq=2 ttl=64 time=16.0 ms
ответ да вижу и локальные в своей сети я также вижу:
ekzorchik@srv-trusty:~$ ping <LOCAL_IP_IN_NETWORK>
PING <LOCAL_IP_IN_NETWORK> (<LOCAL_IP_IN_NETWORK>) 56(84) bytes of data.
64 bytes from <LOCAL_IP_IN_NETWORK>: icmp_seq=1 ttl=64 time=7.37 ms
64 bytes from <LOCAL_IP_IN_NETWORK>: icmp_seq=2 ttl=64 time=2.36 ms
Только не вижу интернет:
ekzorchik@srv-trusty:~$ ping ya.ru
^C
Для решения проблемы с доступом в интернет: – в процессе…
Либо подключать к PPTP–серверу через настроенный клиент и отключать можно так:
ekzorchik@srv-trusty:~$ sudo pon
The file /etc/ppp/peers/provider does not exist. Please create it or use
a command line argument to use another file in the /etc/ppp/peers/ directory.
ekzorchik@srv-trusty:~$ sudo pon mikrotik
ekzorchik@srv-trusty:~$ sudo plog
Dec 7 21:01:14 srv-trusty pppd[2013]: CHAP authentication succeeded
Dec 7 21:01:14 srv-trusty pppd[2013]: MPPE 128-bit stateless compression enabled
Dec 7 21:01:15 srv-trusty pppd[2013]: replacing old default route to eth0 [155.55.55.1]
Dec 7 21:01:15 srv-trusty pppd[2013]: local IP address 171.29.100.2
Dec 7 21:01:15 srv-trusty pppd[2013]: remote IP address 171.29.100.1
ekzorchik@srv-trusty:~$ ifconfig | grep P-t-P
inet addr:171.29.100.2 P-t-P:171.29.100.1 Mask:255.255.255.255
ekzorchik@srv-trusty:~$ sudo poff mikrotik
ekzorchik@srv-trusty:~$ sudo plog
Dec 7 21:01:35 srv-trusty pppd[2013]: Sent 0 bytes, received 0 bytes.
Dec 7 21:01:35 srv-trusty pppd[2013]: restoring old default route to eth0 [155.55.55.1]
Dec 7 21:01:35 srv-trusty pppd[2013]: MPPE disabled
Dec 7 21:01:35 srv-trusty pppd[2013]: Child process pptp host.domain.ru --nolaunchpppd (pid 2014) terminated with signal 15
Dec 7 21:01:35 srv-trusty pppd[2013]: Modem hangup
Dec 7 21:01:35 srv-trusty pppd[2013]: Connection terminated.
Dec 7 21:01:35 srv-trusty pppd[2013]: Exit.
Убить/завершить подключение через pptp–клиент:
ekzorchik@srv-trusty:~$ sudo killall pppd
ekzorchik@srv-trusty:~$ ip r
default via 155.55.55.1 dev eth0
<EXTERNAL_IP_VPN> via 155.55.55.1 dev eth0 src 155.55.55.6
155.55.55.0/24 dev eth0 proto kernel scope link src 155.55.55.6
итого: я подключаюсь к VPN, вижу локальную сеть и за сеть за VPN но не вижу интернет с текущей системы.
Разобрал как с системы получить доступ в интернет и необходимые сети:
ekzorchik@srv-trusty:~$ sudo vi /etc/ppp/peers/mikrotik
pty "pptp host.domain.ru --nolaunchpppd"
#имя соединения
remotename mikrotik
require-mschap-v2
require-mppe-128
#логин
user <user>
#пароль
password "<password>"
nodeflate
nobsdcomp
noauth
#переподключаться при обрыве
persist
#количество попыток переподключения
maxfail 10
#интервал между переподключениями
holdoff 15
#номер ppp интерфейса
unit 1
ekzorchik@srv-trusty:~$ sudo vi /etc/ppp/ip-up.d/route-traffic
#!/bin/bash
NET1="<LAN_NETWORK_ZA_VPN_MIKROTIK>"
NET2="<LAN_NETWORK_ZA_VPN_MIKROTIK>"
NET3="<LAN_NETWORK_ZA_VPN_MIKROTIK>"
IFACE="ppp1"
route add -net ${NET1} dev ${IFACE}
route add -net ${NET2} dev ${IFACE}
route add -net ${NET3} dev ${IFACE}
ekzorchik@srv-trusty:~$ sudo pon mikrotik
Чтобы удалить данный клиент с системы:
ekzorchik@srv-trusty:~$ sudo apt-get remove pptp-linux --purge -y
ekzorchik@srv-trusty:~$ sudo rm -Rf /etc/ppp /usr/share/ppp /usr/share/doc/ppp
Итого, я сделал/рассмотрел в шагах, что и как нужно сделать дабы моя Server (серверная) редакция Ubuntu Trusty смогла подключиться к моей сети находящейся за VPN подключением.
Работает. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.