reklama

OpenVPN neprojde ping na lokální síť

OpenVPN neprojde ping na lokální síť
« kdy: 12. 10. 2011, 19:21:33 »
Dobrý den,

snažím se na domácím serveru rozjet OpenVPN. Mám server, se 2. síťovými kartami. Veřejnou a vnitřní. Klient se na server připojí, ale nepingne si lokální síť eth1. Divné je, že ani ping nedorazí na vnější síťovou kartu.

Kód: [Vybrat]
tcpdump -ni eth0 icmp - mlčí

Konfigurace serveru: http://pastebin.com/y5eFCcbX
Log serveru: http://pastebin.com/TuZYt9dn
Konfigurace klienta (Win7): http://pastebin.com/APCBSBz2
Log klienta: http://pastebin.com/PVs5Jjbg

Kód: [Vybrat]
Část fw:
#icmp(0) - echo replay - odpoved
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -i eth1 -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -i tap0 -p icmp --icmp-type 0 -j ACCEPT
#icmp(3) - destination unreable - nedorucitelny datagram
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 3 -j ACCEPT

#icmp(8) - echo request - zadost
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -i eth1 -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -i tap0 -p icmp --icmp-type 8 -j ACCEPT

#icmp(11) - time execeed - cas doby doruceni skoncil
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 11 -j ACCEPT

#OpenVPN
$IPTABLES -A INPUT -i tap0 -j ACCEPT

# OpenVPN
$IPTABLES -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT

#Povoleni NAT-maskarady v jadre
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -A FORWARD -i eth1 -o eth0 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o eth0 -j SNAT --to 46.149.120.6

Co dělám špatně? Předem všem děkuji za rady.
« Poslední změna: 12. 10. 2011, 23:04:54 od Petr Krčmář »

reklama


Re: OpenVPN neprojde ping na lokalni sit
« Odpověď #1 kdy: 12. 10. 2011, 21:06:40 »
Dobrý den,

snažím se na domácím serveru rozjet OpenVPN. Mám server, se 2. síťovými kartami. Veřejnou a vnitřní. Klient se na server připojí, ale nepingne si lokální síť eth1. Divné je, že ani ping nedorazí na vnější síťovou kartu.

Kód: [Vybrat]
tcpdump -ni eth0 icmp - mlčí


na externú IP nepríde ICMP paket, ale bude zabalený v UDP.

Konfigurace serveru: http://pastebin.com/y5eFCcbX
Log serveru: http://pastebin.com/TuZYt9dn
Konfigurace klienta (Win7): http://pastebin.com/APCBSBz2
Log klienta: http://pastebin.com/PVs5Jjbg

v konfiguráku servera je zakomentovaný riadok

push "route 192.168.20.0 255.255.255.0"

Predpokladám, že 192.168.20.0 je adresa vnútornej siete.

Klient vlastne nevie, že má takúto sieť k dispozícii cez vpn, ale všetky pakety posiela na default gateway. Na win7 sa to dá overiť príkazom

netstat -rn

Kód: [Vybrat]
Část fw:
#icmp(0) - echo replay - odpoved
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -i eth1 -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -i tap0 -p icmp --icmp-type 0 -j ACCEPT
#icmp(3) - destination unreable - nedorucitelny datagram
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 3 -j ACCEPT

#icmp(8) - echo request - zadost
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -i eth1 -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -i tap0 -p icmp --icmp-type 8 -j ACCEPT

#icmp(11) - time execeed - cas doby doruceni skoncil
$IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 11 -j ACCEPT

#OpenVPN
$IPTABLES -A INPUT -i tap0 -j ACCEPT

# OpenVPN
$IPTABLES -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT

#Povoleni NAT-maskarady v jadre
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -A FORWARD -i eth1 -o eth0 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o eth0 -j SNAT --to 46.149.120.6

Co dělám špatně? Předem všem děkuji za rady.

Je mi ľúto, s iptables bude musieť poradiť niekto iný.

Re: OpenVPN neprojde ping na lokalni sit
« Odpověď #2 kdy: 12. 10. 2011, 21:32:19 »
Abych řekl, tak nevím, jak efektivně zapnout tcpdump na portu udp. Když dám
Kód: [Vybrat]
[root@gw ~]# tcpdump -ni eth0 udp port 1194
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
21:22:35.764729 IP 46.149.120.6.openvpn > 46.149.121.36.55280: UDP, length 53
21:22:39.805051 IP 46.149.121.36.55280 > 46.149.120.6.openvpn: UDP, length 53
21:22:45.957764 IP 46.149.120.6.openvpn > 46.149.121.36.55280: UDP, length 53
Tak tam něco chodí i když nepingám.

Řádek v konfiguračním souboru jsem odkomentoval, ale nepomohlo to, ba naopak to hází v logu klienta tuhle chybu, ale spojí se:
Kód: [Vybrat]
ROUTE: route addition failed using CreateIpForwardEntry: Jeden nebo více argumentů není správných.    [if_index=102]

Jinak vnitřní adresa je 10.10.10.1

Routovací tabulka ve win vypadá následně: http://pastebin.com/sTVst3qP

Takže to evidentně směruje na adresu routeru na kterou je připojena stanice - 192.168.88.1.


Re: OpenVPN neprojde ping na lokalni sit
« Odpověď #3 kdy: 12. 10. 2011, 22:49:47 »
Skúsil by som ešte:

1. nainštalovať na klientovi aktuálnu verziu openvpn (2.0.9 sa mi zdá byť dosť stará a tak sa mi marí, že s ňou boli na win7 problémy)

2. zmeniť interface na klientovi aj serveri z tap na tun. Samozrejme ak z nejakého dôvodu nie je nutný tap interface - ale na bežnú tcp/udp/icmp komunikáciu stačí aj tun.

neopreno

Re: OpenVPN neprojde ping na lokální síť
« Odpověď #4 kdy: 12. 10. 2011, 23:26:23 »
Skontrolujte, ci na serveri existuje tap interface. Niekedy sa stane, ze nie je up. V tom pripade treba spravit ifconfig tap0 up. Par krat sa mi to stalo.

Dalsia vec, ktoru je potrebne spravit je, kedze pouzivate tap0 - vpn bude bridge-ovana. Na serveri vytvorte bridge v ktorom bude interface lokalenj siete a tap0. Interface-u br0 je potom potrebne nastavit ip adresu.

Poslite sem vypis prikazu "ifconfig", "ifconfig -a" a "brctl show"

reklama


neopreno

Re: OpenVPN neprojde ping na lokální síť
« Odpověď #5 kdy: 12. 10. 2011, 23:34:51 »
Este jednu vec. Skuste "tcpdump -n -i tap0", tap0 je "vychod" z tunela. Ak chcete pouzivat routovanu vpn, tak je treba pouzit tun interface, ako uz bolo spominane.

Re: OpenVPN neprojde ping na lokální síť
« Odpověď #6 kdy: 13. 10. 2011, 07:27:39 »
Zdravím,
k serveru se dostanu asi až o víkendu, musím odjet na služebku.

Každopádně pokud bych chtěl udělat bridge, tak v současné konfiguraci nechám zařízení tap0
zakomentuji řádky:
Kód: [Vybrat]
#Adresa serveru
ifconfig 10.10.10.1 255.255.255.0

# Rozsah pridelovany klientum
ifconfig-pool 10.10.10.100 10.10.10.120 255.255.255.0

A přidám řádek:
Kód: [Vybrat]
server-bridge 10.10.10.1 255.255.255.0 10.10.10.60 10.10.10.100
Je tak? Zbytek zkusím až o víkendu, každopádně díky za rady..

 

reklama