DD-WRT + OpenVPN
Írta: Kerekes Attila
Jun/090
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
May/090
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