OpenVPN routing

Fórumok

Sziasztok!

A következőt szeretném megvalósítani: Adott egy OpenVPN szerver (Debian), illetve pár kliens (Ubuntu, Debian). A szerver beállítás "kész", a két kliens tud csatlakozni minden gond nélkül. Viszont szeretném, hogyha a kliensek csatlakozva vannak, akkor a VPN szerveren keresztül menjen minden forgalmuk. Na ezzel van a problémám.

Ha jól tudom, az utóbbihoz szükségem van a következő opcióra a kliens konfigurációjába:
redirect-gateway def1

Viszont ezzel csak azt sikerült eddig elérnem, hogy a kliensnek nem lesz internetkapcsolata.

A szerveren a sysctl -p kimenete:
net.ipv4.ip_forward = 1

A szerver konfigurációja:
script-security 3 system
port 1194
proto udp
dev tun

ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/szerver_neve.crt
key /etc/openvpn/certs/szerver_neve.key
dh /etc/openvpn/certs/dh4096.pem
tls-auth /etc/openvpn/certs/ta.key 0

server 172.16.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

keepalive 1800 4000

cipher DES-EDE3-CBC
comp-lzo

max-clients 3

user nobody
group nogroup

persist-key
persist-tun

verb 5
mute 20

A kliens konfigurációja:
script-security 3 system
client

remote xxx.xxx.xxx.xxx

ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/kliens_neve.crt
key /etc/openvpn/certs/kliens_neve.key

cipher DES-EDE3-CBC
comp-lzo yes

dev tun
proto udp

redirect-gateway def1
nobind
resolv-retry infinite
route-method exe
route-delay 2

tls-auth /etc/openvpn/certs/ta.key 1

nobind
auth-nocache

persist-key

persist-tun
user nobody
group nogroup

Ami még számomra érdekes, hogy a kliensről tudom pingelni a szervert, illetve fordítva, valamint a kliensen ha egy hosztnevet próbálok pingelni, akkor a névfeloldást elvégzi, viszont válasz nem érkezik.

Amikor a kliensről akarok pingelni, akkor az a szerver kimenő interfészén így néz ki (ping hup.hu):
33 0.232346 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=13/3328, ttl=63 (no response found!)
157 1.240732 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=14/3584, ttl=63 (no response found!)
225 2.248724 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=15/3840, ttl=63 (no response found!)
241 3.256973 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=16/4096, ttl=63 (no response found!)
284 4.279942 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=17/4352, ttl=63 (no response found!)
403 5.272929 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=18/4608, ttl=63 (no response found!)
518 6.281360 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=19/4864, ttl=63 (no response found!)
636 7.384644 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=20/5120, ttl=63 (no response found!)
1086 11.500621 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=24/6144, ttl=63 (no response found!)
1216 17.369465 172.16.1.6 195.228.252.138 ICMP 100 Echo (ping) request id=0x3a19, seq=30/7680, ttl=63 (no response found!)

Segítségeteket előre is köszönöm!

Hozzászólások

Natolast allitottal be, tuzfalban engedve van ez a forgalom?

Ha jól tudom, akkor ennek a tűzfal szabálynak elégnek kellene lenni hozzá:
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o venet0:0 -j MASQUERADE

Miután így sem működött, próbálkoztam még pár dologgal, eredménytelenül:
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -o venet0:0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o venet0:0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Szia!

A venet0:0 miatt gyanús hogy openvz konténerben futtatnád.
Ehhez viszont a kiszolgálón is szükséges beállításokat elvégezni, ha esetleg még nem lenne engedélyezve:
https://openvpn.net/index.php/access-server/docs/admin-guides/186-how-t…

A nathoz szükséges modulokat is engedélyezni kell a konténerhez:
http://linuxworldweb.blogspot.hu/2012/04/enable-iptable-nat-support-on-…

Szia!

Igen, valóban OpenVZ konténerben fut. Sajnos a hoszt géphez nincs hozzáférésem, viszont a szolgáltató elvégezte, amit írtál, illetve a TUN/TAP engedélyezését biztos, mert enélkül gondolom nem is tudná az OpenVPN létrehozni a tun0 interfészt, illetve a kliensek sem tudnának hozzá csatlakozni.
Hogy a nathoz szükséges modulokat engedélyezte-e a szolgáltató arról fogalmam sincs, csak annyit tudok erre mondani, hogy -látszólag- minden iptables szabályt megeszik a konténerben lévő gép.