Skonfigurowałem serwer PPTP na komputerze CentOS 6.5, aby korzystać z VPN z sieci publicznych i innych różnych skryptów. Wszystko działa poprawnie, z tym wyjątkiem, że nie mogę pingować serwera VPN po jego publicznym adresie IP lub nazwie, gdy tylko się połączę!
Załóżmy, że mam następującą konfigurację
serwer
host: vpn.myserver.com,
public ip: 178.62.x.x
private ip (pptp): 10.0.0.1
host range /dhcp: 10.0.0.100-200
Klient
private ip:= 10.241.0.76
Zanim połączę się z VPN, mogę pingować serwer (według nazwy lub publicznego adresu IP). Jednak gdy już się połączę, muszę użyć prywatnego adresu serwera do ssh do serwera.
Reguły Iptable (zrzucane do pliku)
# Generated by iptables-save v1.4.7 on Tue Sep 29 10:51:16 2015
*nat
:PREROUTING ACCEPT [3279:270754]
:POSTROUTING ACCEPT [16:1761]
:OUTPUT ACCEPT [354:21503]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Sep 29 10:51:16 2015
# Generated by iptables-save v1.4.7 on Tue Sep 29 10:51:16 2015
*filter
:INPUT ACCEPT [76829:9558834]
:FORWARD ACCEPT [67632:61015363]
:OUTPUT ACCEPT [90822:67426561]
COMMIT
# Completed on Tue Sep 29 10:51:16 2015
Konfiguracja Sysctl:
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
Netstats
netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.0.100 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.0.0.101 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
178.62.xx.xx 0.0.0.0 255.255.192.0 U 0 0 0 eth0
10.131.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 178.62.xx.xx 0.0.0.0 UG 0 0 0 eth0
Czy brakuje jakiejś reguły routingu?
Aktualizacja
Zapomniałem dodać szczegóły traceroute ..
traceroute to 178.62.x.x (178.62.x.x), 64 hops max, 52 byte packets
1 10.241.254.254 (10.241.254.254) 15.450 ms 15.955 ms 10.267 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *