Forum » Omrežja in internet » OpenVPN - očitno ne znam narediti IP forwardinga...
OpenVPN - očitno ne znam narediti IP forwardinga...
poweroff ::
Torej, postavim OpenVPN strežnik (na Ubuntu), zgeneriram ključe in nastavim sledeči config file:
Na prenosniku se z NetworkManagerjem povežem na VPN strežnik in javi mi, da je povezava uspešna.
route na preonsiku pravi tole:
To mi izgleda OK. Problem je, ker se zadeva noče povezat na internet.
Na VPN serverju sem vklopil IP forwarding takole (internet povezavo imam na eth1):
Na serverju imam tun device, ki ima IP 10.8.8.1.
Nekako mi ni več jasno kje sem ga polomil.
cat etc/openvpn/M.conf
# Nastavitvena datoteka VPN streznika (VPN server config file)
# Zunanji IP streznika
local 193.X.X.X
port 1194
# Protokol
proto udp
# Virtualni mrezni vmesnik
dev tun
# Certificate Authority file
ca keys/ca.crt
# Server certificate/public key
cert keys/M.crt
# Server private key
key keys/M.key
# DH Key
dh keys/dh3072.pem
# TLS ta.key
tls-auth keys/ta.key 0
# Revoked certificates
crl-verify keys/crl.pem
# V primeru da se streznik ponovno zazene ali pride do napake v povezavi
# naj odjemalci, ki se bodo ponovno povezali dobijo isti lokalni IP naslov
# Lokalni IP naslovi se zapišejo v datoteko ipp.txt.
server 10.8.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# Ce zelimo spremeniti prehod do interneta:
push "redirect-gateway def1"
persist-key
persist-tun
user nobody
group nogroup
comp-lzo
keepalive 10 120
status /var/log/openvpn/status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
verb 3
Na prenosniku se z NetworkManagerjem povežem na VPN strežnik in javi mi, da je povezava uspešna.
route na preonsiku pravi tole:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.8.5 * 255.255.255.255 UH 0 0 0 tun0
sluzba 153.5.133.1 255.255.255.255 UGH 0 0 0 ra0
153.5.133.0 * 255.255.255.0 U 2 0 0 ra0
default 10.8.8.5 0.0.0.0 UG 0 0 0 tun0
To mi izgleda OK. Problem je, ker se zadeva noče povezat na internet.
Na VPN serverju sem vklopil IP forwarding takole (internet povezavo imam na eth1):
sudo iptables -A INPUT -p udp -m multiport --dport 1194 -j ACCEPT
sudo su
# Vkljucimo IP posredovanje
echo 1 > /proc/sys/net/ipv4/ip_forward
# Natavimo zavracanje paketov brez znane povezave, "broadcast" in "multicast" paketov,
# dovolimo vracanje paketkov iz ze vzpostavljenih povezav ter DNS poizvedbe...
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m pkttype --pkt-type broadcast -j DROP
iptables -A FORWARD -m pkttype --pkt-type multicast -j DROP
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
# VPN odjemalcem dovolimo vzpostavljanje vseh povezav
iptables -A FORWARD -m state --state NEW -i ! eth1 -j ACCEPT
# Nastavimo prehod za povezavo VPN odjemalcev v internet ter optimiziramo delovanje NAT-a
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j SNAT --to-source 193.xxx.xxx.xxx
iptables -A FORWARD --protocol tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Na serverju imam tun device, ki ima IP 10.8.8.1.
Nekako mi ni več jasno kje sem ga polomil.
sudo poweroff
BlueRunner ::
Na VPN serverju sem vklopil IP forwarding takole (internet povezavo imam na eth1):
...
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j SNAT --to-source 193.xxx.xxx.xxx
...
Na serverju imam tun device, ki ima IP 10.8.8.1.
Nekako mi ni več jasno kje sem ga polomil.
Hmmm. Internet imaš na eth1 output PAT pa delaš na eth0? Ali morda pošiljaš v internet pakete, ki se nimajo več kam za vrniti? Lahko preveriš s tshark?
poweroff ::
Pardon, tole sem skopiral iz nekega wikija in nisem popravil eth0 v eth1. V resnici sem pognal pravilno, torej takole:
iptables -t nat -A POSTROUTING -o eth1 -s 10.8.0.0/24 -j SNAT --to-source 193.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -o eth1 -s 10.8.0.0/24 -j SNAT --to-source 193.xxx.xxx.xxx
sudo poweroff
BlueRunner ::
Daj vseeno poglej s tshark kaj gre kam po katerem vmesniku (tun in eth). Pa začasno daj REJECT namesto DROP, da boš ločil napake v usmerjanju od tistega, kar ti počne nf.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | dnsmasq problemOddelek: Omrežja in internet | 1868 (1608) | poweroff |
» | tun0 device?Oddelek: Operacijski sistemi | 1562 (1403) | poweroff |
» | pomoč pri iptablesOddelek: Omrežja in internet | 2611 (2440) | HellRaiseR |
» | iptables + forwardOddelek: Operacijski sistemi | 2336 (1911) | tx-z |
» | router noče routatiOddelek: Operacijski sistemi | 1512 (1384) | marshaltito |