DD-WRT + OpenVPN

Írta: Kerekes Attila

3
Jun/09
0

Ha már annyi hasznos szolgáltatást sikerült összehoznom a kis ASUS routeremen, gondoltam egy openvpn kliens is még simán belefér. Meglepődve tapasztaltam, hogy a dd-wrt alapból tartalmazza az openvpn klienst és szervert is. Hát az egyetemi vpn fájljait gyorsan fel is dobáltam rá, majd indítottam is a programot shellből:

openvpn --daemon --config nyme.ovpn

És már megy is. Ha az openvpn fellülírta a default gatewayt azt nem árthat visszaállítani, hacsak nem akarjuk az egész adatforgalmunkat a vpn-en keresztül küldeni. Elsőre nézzük meg mi volt az eredeti. Használjuk a route -n parancsot, majd keressünk egy olyan útvonalat, ahol a destination mező az openvpn szerverünk ipjével egyezik, a gateway pedig nem 10.8.0.1. Innét másoljuk ki a gateway mezőt. Nálam ez 86.101.107.254. Majd:

root@Mainstream:~# route del default gw 10.8.0.1
root@Mainstream:~# route add default gw 86.101.107.254

Hogy a kis otthoni hálózatunk is tudjon csatlakozni az egyetemi gépekhez nemárt még beállítani egy SNAT-ot. Nézzük milyen alhálózatok kerültek be hozzánk:

root@Mainstream:/opt/root/nymevpn# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
172.16.4.0      10.8.0.1        255.255.255.0   UG    0      0        0 tap0
172.16.115.0    10.8.0.1        255.255.255.0   UG    0      0        0 tap0
...

Ezek a sorok gyanúsak. a 172.16.4.0/24-es és a 172.16.115.0/24-es rangekre lesz szükség adott esetben. Szóval:

iptables -t nat -A POSTROUTING -o tap0 -d 172.16.4.0/24 -j SNAT --to-source 10.8.0.2
iptables -t nat -A POSTROUTING -o tap0 -d 172.16.115.0/24 -j SNAT --to-source 10.8.0.2

Kész is vagyunk. Az otthoni hálózatunk gépeiről már gond nélkül küldhetjük az exploitokat az egyetemre :)

Ajánlott irodalom:
http://www.dd-wrt.com/wiki/index.php/OpenVPN

#eof

FreeBSD + OpenVPN kliens

Írta: Kerekes Attila

21
May/09
0

Pont ma futottam bele ebbe a problémába, hát nézzük, hogyan lehet összehozni egy openvpn kapcsolatot freebsd alatt.
Elsőre tegyük fel az openvpn-t:

[root@rogue ~]# cd /usr/ports/security/openvpn
[root@rogue /usr/ports/security/openvpn]# make install clean

Ez eltart egy kis ideig, de végeredményben szinte kész is vagyunk. Egyetlen probléma, hogy az openvpn indításkor nem rántja be automatikusan a tap device drivert, és csatlakozáskor csak egy hibaüzenetet kapunk. A megoldás egyszerű, kézzel kell betölteni a drivert:

[root@rogue ~]# kldload if_tap

Mostmár hiba nélkül tudunk csatlakozni a kliensünkkel például az egyetemi hálózatunkra, ha megvannak a szükséges fájljaink:

[root@rogue ~/nymevpn]# openvpn nyme.ovpn
Thu May 21 22:44:23 2009 OpenVPN 2.0.6 i386-portbld-freebsd7.2 [SSL] [LZO] built on May 21 2009
...
[root@rogue ~]# ifconfig tap0
tap0: flags=8843 metric 0 mtu 1500
ether 00:bd:cb:ca:24:00
inet 10.8.0.2 netmask 0xffffff00 broadcast 10.8.0.255

És kész is vagyunk.
Esetleg egy pár tipp: netstattal megnézhetjük, hogy vajon a default gatewayünknek is a vpn-es router került be. Ha igen ezt visszaállíthatjuk az eredetire (adott esetben 10.0.0.1):

[root@rogue ~]# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.8.0.1 UGS 0 0 tap0
172.16.4.0/24 10.8.0.1 UGS 0 0 tap0
...
[root@rogue ~]# route del default 10.8.0.1
del net default: gateway 10.8.0.1
[root@rogue ~]# route add default 10.0.0.1
add net default: gateway 10.0.0.1
[root@rogue ~]# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 0 em0
172.16.4.0/24 10.8.0.1 UGS 0 0 tap0

#eof