LINUX.ORG.RU

VPN, PPTP и все-все-все


0

0

Происходит коннект к VPN-серверу, резолвятся IP сайтов, но до самих сайтов достучаться не получается. Куда копать? Приконнектиться в "оффтопике", посмотреть там роутинг и прочие параметры и прописать всё это ручками в линуксе не предлагать - хочется узнать именно куда надо "пнуть" чтобы оно само автоматически подхватилось, как в "оффтопике". Представьте себе, что оффтопика на компе нету. :)

Прилагаю всё необходимое:

/etc/ppp/options.pptp:
lock
noauth
nobsdcomp
nodeflate

/etc/ppp/chap-secrets:
xdomain\\xlogin XLINK "xpassword" *

/etc/ppp/peers/XLINK:
pty "pptp xvpn --nolaunchpppd"
name xdomain\\xlogin
remotename PPTP
require-mppe-128
require-mschap-v2
file /etc/ppp/options.pptp
ipparam XLINK


вывод pppd call AGF debug dump logfd 2 nodetach (только то что относится к делу):

rcvd [CHAP Challenge id=0x1 <dcb6fb3e1e63662e3db758c5e9b7f88d>, name = "xlink"]
sent [CHAP Response id=0x1 <7cee2abd6ee6993484d6d7f9f3c2bb91c000009f5906080a82a68241fdff08146bd6f5035d18 ac340249d50341a7e6cd00>, name = "xdomain\\xlogin"]
rcvd [LCP EchoRep id=0x0 magic=0x4140ea57]
rcvd [CHAP Success id=0x1 "S=27F14FE019912F9756BA86219CC8AAE372063D76"]
CHAP authentication succeeded
sent [CCP ConfReq id=0x1 <mppe +H -M +S -L -D -C>]
rcvd [IPCP ConfReq id=0x1 <addr 172.18.20.3> <compress VJ 0f 01>]
sent [IPCP TermAck id=0x1]
rcvd [CCP ConfReq id=0x1 <mppe +H -M +S +L -D -C>]
sent [CCP ConfNak id=0x1 <mppe +H -M +S -L -D -C>]
rcvd [CCP ConfAck id=0x1 <mppe +H -M +S -L -D -C>]
rcvd [CCP ConfReq id=0x2 <mppe +H -M +S -L -D -C>]
sent [CCP ConfAck id=0x2 <mppe +H -M +S -L -D -C>]
MPPE 128-bit stateless compression enabled
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 192.168.4.100>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.4.100>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.4.100>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 192.168.4.100>]
rcvd [IPCP ConfReq id=0x1 <addr 172.18.20.3> <compress VJ 0f 01>]
sent [IPCP ConfAck id=0x1 <addr 172.18.20.3> <compress VJ 0f 01>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 192.168.4.100>]
Cannot determine ethernet address for proxy ARP
local IP address 192.168.4.100
remote IP address 172.18.20.3

вывод ifconfig:

ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.4.100 P-t-P:172.18.20.3 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:88 (88.0 b) TX bytes:82 (82.0 b)

вывод route:

xlink * 255.255.255.255 UH 0 0 0 ppp0
10.0.252.0 * 255.255.254.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 10.0.253.254 0.0.0.0 UG 0 0 0 eth0

вывод ping:

PING linux.org.ru (217.76.32.61) 56(84) bytes of data.
From 10.0.253.254 icmp_seq=7 Packet filtered


10.0.253.254 - гейтвей, через который должно идти всё что идёт в инет.


route del default
route add default dev ppp0

10.0.253.254 - это скорее всего адрес серва к которому ты 
коннектишься по PPTP, так как он у тебя висит на eth0

The_Ketchup ★★
()
Ответ на: комментарий от The_Ketchup

Отвалился DNS, связь разорвалась и больше соединяться оно не захотело, т.к. не смогло найти IP сервера по его имени.

QNX
() автор топика
Ответ на: комментарий от QNX

Чтобы роутинг не приходилось прописывать, нужно в конфиг вставить:

defaultroute
replacedefaultroute

Но тогда весь трафик пойдет через VPN соединение. DNS отвалился, похоже, из-за того,
что из той подсети, к которой ты коннектишься по VPN, недоступен твой текущий nameserver. 
Добавь в /etc/resolv.conf nameserver той подсети, куда подключаешься.

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

kvit
()
Ответ на: комментарий от kvit

Это всё понятно... Просто суть вопроса была в другом. В оффтопике правильный роутинг прописывается каким-то образом сам. Специального софта для выхода в инет у нас в сети ставить не надо, тот же самый обычный VPN что и в линуксе, однако в оффтопике при выходе в инет к таблице роутинга дописывается куча всего интересного и оно стирается когда отсоединяешься и сидишь только в локалке... Роутинг прописывается правильный - traceroute до другого компа в локалке всегда 1 хоп, т.е. оно идёт именно напрямую, а не через сервер. Хотелось бы понять, каким образом оно это проделывает и сделать тоже самое в линуксе.

А так прописал роутинг, через локальный сервак - в локалку и через ppp0 всё остальное. Теперь всё работает, как ни странно. :)

Кстати не подскажешь, как сделать чтобы когда ppp поднимается, эти route add сами выполнялись?

> replacedefaultroute

Мне уже предлагали... На этот пункт pppd ругается:

pppd: In file /etc/ppp/peers/XLINK: unrecognized option 'replacedefaultroute'

pppd самый последний, pptpclient тоже... Дистр - слака 11, ставил pppd и pptp из сорцов.

QNX
() автор топика
Ответ на: комментарий от QNX

>В оффтопике правильный роутинг прописывается каким-то образом сам

В моём случает в оффтопике после pptp-соединения внутренняя сеть не работала, всё равно приходилось прописывать роутинг. Я взял bat файл, которые написал наш админ для винды и сделал из него sh скрипт.

Payalnic ★★
()
Ответ на: комментарий от QNX

>pppd: In file /etc/ppp/peers/XLINK: unrecognized option 'replacedefaultroute' 

From man pppd (в моем случае):

       defaultroute
              Add a default route to the system routing tables, using the peer as the gateway, when IPCP negotiation  is  successfully  completed.   This
              entry is removed when the PPP connection is broken.  This option is privileged if the nodefaultroute option has been specified.

       replacedefaultroute
              This option is a flag to the defaultroute option. If defaultroute is set and this flag is also set, pppd replaces an existing default route
              with the new default route.

Возможно данная опция присутствует не во всех версиях, либо это в debian патченый pppd.

>Кстати не подскажешь, как сделать чтобы когда ppp поднимается, эти route add сами выполнялись? 

У меня соединение поднимается скриптом (да и у остальных, скорее всего, тоже),
потому как вручную постоянно вбивать 'pptp <IP> user ....' неудобно. Собственно в скрипте и прописано все. 

>Роутинг прописывается правильный - traceroute до другого компа в локалке всегда 1 хоп, 
т.е. оно идёт именно напрямую, а не через сервер. Хотелось бы понять, каким образом 
оно это проделывает и сделать тоже самое в линуксе.

Ну естественно,  у меня даже после 'route del default' с локальными адресами 1 хоп (для диапазона network/netmask).

>А так прописал роутинг, через локальный сервак - в локалку и через ppp0 всё остальное. Теперь всё работает, как ни странно. :) 

Вообще говоря, проделать это автоматически правильно (так, как надо польозвателю) невозможно. 
У меня, к примеру, существуют варианты выхода во внешнюю сеть через оба шлюза, в некоторые 
локальные подсети тоже, поэтому без ручной настройки маршрутизации работать будет, но не так, как мне нужно.

kvit
()
Ответ на: комментарий от QNX

>Кстати не подскажешь, как сделать чтобы когда ppp поднимается, эти route add сами выполнялись?

man pppd

usepeerdns

Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer (if any) are passed to the /etc/ppp/ip-up script in the environment variables DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In addition, pppd will create an /etc/ppp/resolv.conf file containing one or two nameserver lines with the address(es) supplied by the peer.

....

SCRIPTS

/etc/ppp/ip-up

A program or script which is executed when the link is available for sending and receiving IP packets (that is, IPCP has come up). It is executed with the parameters

interface-name tty-device speed local-IP-address remote-IP-address ipparam

/etc/ppp/ip-down

A program or script which is executed when the link is no longer available for sending and receiving IP packets. This script can be used for undoing the effects of the /etc/ppp/ip-up script. It is invoked in the same manner and with the same parameters as the ip-up script.

qwe ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.