Я пытаюсь подключить сервер Linux (Ubuntu 10.04 LST) к VPN-серверу через Клиент PPTP к серверу VPN. Я настроил PPTP-клиент, как сказано в документация. Соединение правильно добавлено как интерфейс, но каким-то образом соединение не работает. ping -I ppp0 google.com
доза ничего не вернуть и traceroute -i ppp0
показывает только первый прыжок, а затем ничего не отображает. Есть идеи, что происходит не так? Неправильная конфигурация маршрутизации?
ifconfig
вывод для настроенного интерфейса:
ppp0 Link encap:Point-to-Point Protocol
inet addr:xx.x.xxx.xxx P-t-P:10.0.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1
RX packets:415 errors:0 dropped:0 overruns:0 frame:0
TX packets:468 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:31428 (31.4 KB) TX bytes:32394 (32.3 KB)
route
вывод
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
xx.x.x.1 * 255.255.255.255 UH 0 0 0 ppp0
xx.xxx.xxx.xx sp.ip 255.255.255.255 UGH 0 0 0 eth1
192.168.3.0 * 255.255.255.0 U 0 0 0 eth2
192.168.2.0 * 255.255.255.0 U 0 0 0 eth1
default sp.ip 0.0.0.0 UG 100 0 0 eth1
Вам необходимо настроить NAT IP-Masquerading с помощью iptables
на удаленном сервере. В противном случае ваш клиентский сервер не сможет получить доступ к Интернету через VPN с одним IP-адресом удаленного сервера.
в двух словах:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
эти две строки показывают, как можно настроить IP-Masquerading.
если вы не знакомы с iptables
, в Интернете есть множество руководств.
К вашему сведению, tldp содержит довольно подробную инструкцию по настройке IP-маскарадинга. http://tldp.org/HOWTO/html_single/Masquerading-Simple-HOWTO/
Как можно что-то пинговать через ppp0, если у вас нет маршрута для этого.
Во-первых: добавьте маршрут к VPN-серверу
route add $VPN_SERVER_IP gw $GATEWAY_TO_VPN_SERVER
(как я вижу, $ GATEWAY_TO_VPN_SERVER = sp.ip)
Во-вторых: удалить маршрут по умолчанию для eth1
route del default dev eth1
В-третьих: добавьте маршрут по умолчанию для ppp0
route add default dev ppp0
И с этого момента все пакеты будут маршрутизироваться через dev ppp0.