Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Настройка VPN-соединения. (http://forum.oszone.net/showthread.php?t=46404)

_Dest_ 08-03-2005 13:22 304552

Настройка VPN-соединения.
 
Уважаемые гуру.

Помогите разобраться с подключением через vpn. Перечитал факи и маны, но все бестолку, инета так и нет. Наставьте на путь истинный.

Есть mandrake 10.1, локалка с выходом в инет через vpn, IP машине присваивает DHCP сервак, внутри локалки 10.0.*.* на выходе в инет присваивается 172.16.*.*. Установил ppp и pptp. Произвел все настройки и в итоге я получил:


[root@localhost]# pptp-command start VPN

All routes added.

Tunnel VPN is active on ppp0. IP Address: 172.16.0.12

Installed /etc/resolv.conf.pptp as /etc/resolv.conf



[root@localhost]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:02:A5:14:E2:DA

inet addr:10.0.0.12 Bcast:10.0.3.255 Mask:255.255.252.0

inet6 addr: fe80::202:a5ff:fe14:e2da/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:27934 errors:0 dropped:0 overruns:249 frame:0

TX packets:157 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1795117 (1.7 Mb) TX bytes:14181 (13.8 Kb)

Interrupt:16 Base address:0xe800



lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:912 errors:0 dropped:0 overruns:0 frame:0

TX packets:912 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:60452 (59.0 Kb) TX bytes:60452 (59.0 Kb)



ppp0 Link encap:Point-to-Point Protocol

inet addr:172.16.0.12 P-t-P:172.16.0.1 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

RX packets:3 errors:0 dropped:0 overruns:0 frame:0

TX packets:3 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:42 (42.0 b) TX bytes:48 (48.0 b)


Думал, что из-за маски в ppp0 подклучении:


[root@localhost]# ifconfig ppp0 netmask 0.0.0.0


Но все глухо. Пинг не проходит (типа неизвестный хост), страницы не открываются. Поможите плиззззззззз.

ihc 08-03-2005 16:35 304590

Peer пингуется? в смысле 172.16.0.1? А что в /etc/resolv.conf после установки соединения? А ip route show что говорит после установки соединения?

_Dest_ 08-03-2005 16:56 304593

По поводу пинга:

[root@localhost]# ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=63 time=2.50 ms
64 bytes from 172.16.0.1: icmp_seq=2 ttl=63 time=4.10 ms
64 bytes from 172.16.0.1: icmp_seq=3 ttl=63 time=2.50 ms

В /etc/resolv.conf такая лабуда:

search

А вот это выдает ip .... show:

[root@localhost]# ip route show
10.0.0.0/22 dev eth0 proto kernel scope link src 10.0.0.12
default via 10.0.0.1 dev eth0





ihc 08-03-2005 18:08 304606

Ok, звоним провайдеру и вписываем адреса DNS-серверов руками в файлик /etc/resolv.conf.pptp до соединения или в /etc/resolv.conf после. Файл должен быть в формате:
Код:

search prefixA prefixB prefixC
 nameserver XXX.XXX.XXX.XXX
 nameserver YYY.YYY.YYY.YYY

Если тебе не важен резолвинг укороченных имён (чтоб резолвилось www вместо www.home и т.п.), то на строчку search пока забей. Если провайдер затруднится объяснить, на каких IP расположены его DNS-сервера, то как временное решение можно использовать сервера другого провайдера. Например, мои DNS -- 217.170.64.5 и 217.170.67.5. Однако, прописывание чужих DNS приведёт к траффику с/на них, что, возможно, будет обсчитываться провайдером, если оплата по траффику, а не по времени или безлимитка.

Ну, и ещё нужно прописать маршрутизацию. Это или поставить опцию defaultroute в /etc/ppp/options, или прописать команду добавления соотв. маршрута в скрипт /etc/ppp/ip-up, или руками сказать от рута:

Код:

ip route add default via 172.16.0.1
и говорить это каждый раз после установки соединения

_Dest_ 08-03-2005 18:23 304611

Я в Linux полный лох (пока).
Я знаю свои DNS (если енто они), в виндазовских настройках посмотрел, но я не понял этой строчки:

search prefixA prefixB prefixC


ее так и надо прописать

ihc 08-03-2005 18:30 304612

просто я спешу и иногда пишу невнятно :))

Предположим, у тебя есть домашний домен .home, где есть машины www.home, mail.home и так далее. Но вводить имена полностью тебя ломает. Тогда в /etc/resolv можно занести такую строчку:
Код:

search home
Потом начинает ломать набирать .ru и .spb.ru:
Код:

search home spb.ru ru
Итого, когда наберёшь www, машина сначала посмотрит www, потом www.home, потом www.spb.ru и www.ru. Это то, что в виндах называется "порядком просмотра DNS-суффиксов", если мне память не изменяет. Если же пока не хочешь с этим заморачиваться, просто не вписывай эту строчку, без неё всё тоже работает.

_Dest_ 08-03-2005 19:12 304629

Глухо как в танке.

При вводе команды ругается:
ip route add default via 172.16.0.1
RTNETLINK answers: Network is unreachable


а так проглатывает:
# ip route add default via 172.16.0.1


но все равно ничерта не работает. Броузер налету посылает меня (т.е. даже не ищет)

ihc 08-03-2005 19:23 304631

Пробуем ещё раз по пунктам (:))

1) устанавливаем pptp-соединение, pptp-command start VPN
2) проверяем, что туннель поднялся: ip addr show, там должен быть девайс ppp0 с такой строчкой: inet addr:172.16.0.12 P-t-P:172.16.0.1. Эта строчка означает, что адрес интерфейса ppp0 -- 172.16.0.12 (к примеру, может быть иным), а адрес "соседа" (он же "пир", "peer") -- 172.16.0.1 (к примеру, может быть иным)
3) проверяем, что пир доступен, пингуя его
4) проверяем, что маршруты смотрят через него, ip route show, если нет соотв. строчки с default, ставим руками: ip route add default via 172.16.0.1 (к примеру, адрес пира может быть иным)
5) строчка RTNETLINK answers: Network is unreachable будет выводиться только в том случае, если адрес шлюза, который ты вводишь, недоступен, а это может быть только когда pptp-соединения нет. Мораль: делать после установки соединения
6) проверяем, что /etc/resolv.conf содержит именно то, что нам надо
7) пингуем, для примера, www.ru

Именно в таком порядке. Всё, что нужно для автоматизации, я отписал выше, надо просто перечитать и взглянуть свежим глазом после того, как пройдёшь этот путь самурая.

_Dest_ 08-03-2005 19:45 304634

Вроде все сделал как ты сказал:

[root@localhost]# pptp-command start vpn
All routes added.
Tunnel vpn is active on ppp0. IP Address: 172.16.0.12
Installed /etc/resolv.conf.pptp as /etc/resolv.conf

[root@localhost]]# ip addr show

1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:02:a5:14:e2:da brd ff:ff:ff:ff:ff:ff
inet 10.0.0.12/22 brd 10.0.3.255 scope global eth0
inet6 fe80::202:a5ff:fe14:e2da/64 scope link
valid_lft forever preferred_lft forever

3: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0

4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 3
link/ppp
inet 172.16.0.12 peer 172.16.0.1/32 scope global ppp0

[root@localhost]# ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=64 time=7.74 ms
64 bytes from 172.16.0.1: icmp_seq=2 ttl=64 time=0.523 ms

[root@localhost]# ping 172.16.0.32
PING 172.16.0.32 (172.16.0.32) 56(84) bytes of data.
From 10.0.255.2 icmp_seq=1 Time to live exceeded
From 10.0.255.2 icmp_seq=2 Time to live exceeded

[root@localhost]]# ip route show

172.16.0.1 dev ppp0 proto kernel scope link src 172.16.0.12
10.0.0.0/22 dev eth0 proto kernel scope link src 10.0.0.12
default via 10.0.0.1 dev eth0

Ну а далше все тоже самое (плохо)
Может я в pptp-command setup что-то неправильно сделал

ihc 08-03-2005 19:51 304636

нормально, ещё немного -- и взлетим (:))

теперь:

1) ping 172.16.0.32 -- это к чему? Видимо, перепутал с маской (мишется через слэш после адреса), забей и забудь :) Главное, что 172.16.0.1 пингуется
2) ок, в маршрутах у тебя default via 10.0.0.1 dev eth0. Как я уже говорил, нужно по дефолту направить через ppp0, то есть:
Код:

ip route del
 ip route add default via 172.16.0.1

Первая команда убирает маршрут по умолчанию (через eth0), вторая добавляет новый через ppp0. Ещё раз обращаю внимание, это надо говорить после установки соединения, но сказать-таки надо :) Всё, я потопал в гости винище пить, в сети окажусь только глубокой ночью. Удачи

PS: возможно, для всего этого есть соответствующие галки. К стыду своему должен сказать -- не знаю, я никогда не пользовался pptp-setup Но описанное должно работать. У тебя, судя по всему, установливается соединение. Дальше надо наладить маршрутизацию (пара строк) и резолвинг (ещё пара строк).

_Dest_ 08-03-2005 19:56 304637

Сенкс, удачно гульнуть.
А я в сети похоже до утра буду искать инфу.

Telepuzik 02-11-2005 10:11 369754

Вопрос про настройку defaultroute при VPN соединении.
В файлах ifcfg-eth0 и ifcfg-eth1 параметр GATEWAY удалил. После загрузки системы в таблице маршрутизации default gw прописывается 192.168.0.254 - откуда он берется не могу понять. Прописал в /etc/ppp/options параметр defaultroute. VPN соединение нормально проходит но default gw остается прежнем. В логах написано:
pppd[1267]: not replacing existing default route to eth0 [192.168.0.254]
Если перед установкой VPN соединения принудительно удалить default gw из таблицы маррутизации, то при запуске VPN соединения default gw прописавыется тот, что необходим.
Можно как нибудь заставить менять default gw в таблице маршрутизации на шлюз получаемый при VPN соединении без ручного удаления default gw из таблицы маршрутизации????


Время: 20:20.

Время: 20:20.
© OSzone.net 2001-