VPN через VPN в Linux
Сети/интернет
Статья была опубликована 1 февраля 2010 года в 00:00, а последний раз правилась 4 июня 2010 года в 17:08.
Постоянная ссылка: http://www.nixp.ru/articles/35.html
Имеется Slackware Linux 9.0, kernel-2.4.20. Будем подключать через интернет к нашей сети.
Имеется Slackware Linux 9.0, kernel-2.4.20. Будем подключать через интернет к нашей сети. Идем на http://pptpclient.sourceforge.net. Смотрим: может, уже есть готовые пакеты. Если есть, то с ними сами разберетесь и можете переходить к настройкам. А для тех, у кого не оказалось, качаем PPTP клиента и ppp.
Устанавливаем
Если нам нужна поддержка MPPE, проверяем, поддерживает ли наш pppd MPPE:
# strings „which pppd“|grep -i mppe|wc --lines
(Если выдаст не нулевое значение, то поддерживает.)
Если нам нужна поддержка MPPE, то патчим ядро:
# pwd /root/ppp-2.4.2 # cd linux/mppe # sh mppeinstall.sh /usr/src/linux-2.4.20 # cd /usr/src/linux # make menuconfig
Видим, что появилась новая опция CONFIG_PPP_MPPE. Конфигурируем ядро:
CONFIG_DUMMY=y CONFIG_TUN=m
CONFIG_PPP_MPPE=m CONFIG_PLIP=m CONFIG_PPP=y CONFIG_PPP_MULTILINK=y CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m CONFIG_PPP_MPPE=m #eсли мы патчили CONFIG_PPPOE=m
Компилируем и ставим. Перезагружаемся. С установкой ПО, вроде, покончили. Приступаем к конфигурированию.
Настраиваем
Сначала настроим тунель для соединения с интернетом:
# vi /etc/ppp/peers/tun
Пишем:
#---/etc/ppp/peers/tun---- name login remotename PPTP debug lock deflate 0 defaultroute pty "/usr/sbin/pptp x.x.x.x --nolaunchpppd" #---/etc/ppp/peers/tun----
(x.x.x.x — адрес VPN-сервера.)
В /etc/ppp/chap-secrets добавляем следующее:
login PPTP pass *
(где login и pass — пароли для подключения)
Все готово.
Подключаемся
# pppd call tun # ping nixp.ru PING nixp.ru (194.226.200.40): 56 octets data 64 octets from 194.226.200.40: icmp_seq=0 ttl=52 time=144.7 ms
Теперь нужно подключится к нашей сети с помощью второго тунеля. На сервере установлена ОС Windows. Здесь нам и пригодится поддержка MPPE. Адрес сервера y.y.y.y, настройка аналогична:
# vi /etc/ppp/peers/vpn #---/etc/ppp/peers/vpn---- name login2 remotename VPN pty "pptp y.y.y.y --nolaunchpppd" lock debug logfd 2 require-mppe-128 require-mschap-v2 noauth refuse-eap #---/etc/ppp/peers/vpn---- # vi /etc/ppp/chap-secrets login2 VPN pass2
Соединяемся
# pppd call vpn nodetach
(Опция nodetach полезна для отладки.)
Вот, что нам сказали:
remote IP address 192.168.99.1
Осталось только настроить маршрут:
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.99.1 * 255.255.255.255 UH 0 0 0 ppp1 192.168.101.1 * 255.255.255.255 UH 0 0 0 ppp0 192.168.8.0 * 255.255.255.0 U 0 0 0 eth0 loopback * 255.0.0.0 U 0 0 0 lo default 192.168.101.1 0.0.0.0 UG 0 0 0 ppp0
# /sbin/route add -host y.y.y.y ppp0 # "привязываем" адрес_нашего_сервера к ppp0 # /sbin/route add default gw 192.168.99.1
Проверяем
# ping nixp.ru PING nixp.ru (194.226.200.40): 56 octets data 64 octets from 194.226.200.40: icmp_seq=0 ttl=52 time=535.1 ms
Вот и все. Ничего сложного не оказалось. Советую почитать:
- /root/ppp-2.4.2/README.MPPE;
- man pppd;
- man pptp;
- http://pptpclient.sourceforge.net/howto-diagnosis.phtml.
P.S. Вряд ли у вас будет так же, поэтому думайте головой.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Хотелось-бы ещё добавить сюда говорку о mtu. если вы вкладываете один тунель в другой, то обязательно нужно понижать mtu. если этого не делать то возможны обрывы соединения или-же проход не всех пакетов по соединению. (на счёт указания mru не уверен, но обычно у меня равняется mtu)
Мораль сей басни как-то смазана. Фразой: «P.S. Вряд ли у вас будет так же, поэтому думайте головой» — автор как будто хотел сказать: «а теперь забудьте, всё о чем я написал, поскольку у вас всё равно будет по-другому» ;))
А так ведь обычно и бывает :-D
Если это так прямолинейно заявлять, то для чего эта статья была написана? Автор хотел поделиться с нами тем, что ему-таки удалось настроить VPN в линуксе? =)