Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Pesand 21. 02. 2013, 09:09:10
-
Prosím o radu. Ve firmě máme bránu, na které běží OpenVPN server, ke kterému se připojují zaměstnanci s notebooky. Potřeboval bych nyní pomocí jednoho routeru (mám na něm DD-WRT) připojit jako klienta celou síť, která bude připojena přes wifi na tom routeru. Povedlo se mi nastavit openvpn tak, že router do firemní sítě vidí, ale počítače za routerem ne. Potřeboval bych udělat buď bridge, nebo routu tak, aby vše co je na eth1 toho wrta šlo přes tap0 rozhraní. Poradíte?
-
Pokud si pamatuji, je potřeba nastavit routování (a firewall, aby pracně přesunuté pakety z druhé sítě nezahazoval).
-
na dd-wrt nastavit routu, kde najde serverovou síť (to nejspíš je), ale na serveru taky nastavit routu, kde najde síť za dd-wrt. jinak se pakety nevrátí :-) druhá varianta je na dd-wrt nastavit NAT a ten už server zpátky najde.
+ teda zkontrolovat pravidla na firewallech.
+ v případě problémů pohrát si s tcpdumpem na obou koncích vpn, různých interfacech a různých odchozích strojích. může to být i na dlouho :-)
-
Opsáno z funkční konfigurace:
Není to DD-WRT, ale předpokládám, že tohle bude v podstatě stejné. Beru to v rychlosti, tak mne snad někdo neukamenuje, že to není bezpečné nebo v tom jsou boty - při přepisu IP adres (nemusí každý vědět moje sítě ;-) se udělá chyba snadno...
192.168.1.x = síť "domácí",
192.168.2.x = síť "vzdálená",
192.168.9.x síť OpenVPN (na routeru 192.168.1.1).
192.168.1.1 = "domácí"
+ firewall:
iptables -I INPUT -s 192.168.0.0/21 -i tun0 -d 192.168.0.0/21 -j ACCEPT
iptables -I FORWARD -s 192.168.0.0/21 -o tun0 -d 192.168.0.0/21 -j ACCEPT
iptables -I FORWARD -d 192.168.0.0/21 -o eth0 -j ACCEPT
# Allow TUN interface connections to OpenVPN server
iptables -A INPUT -i tun+ -j ACCEPT
# Allow TUN interface connections to be forwarded through other interfaces
iptables -A FORWARD -i tun+ -j ACCEPT
+ routing (co patří do "vzdálené sítě", pošli do tunelu):
route add -net 192.168.2.0/24 gw 192.168.9.1 dev tun0
+ v .../openvpn/ (tohle tam bude, jinak by nechodily ani klienti):
# Push the 'server subnet route' to the clients
push "route 192.168.1.0 255.255.255.0"
+ v .../openvpn/ccd/othernet (kde "othernet" je jméno vzdáleného stroje z certifikátu):
iroute 192.168.2.0 255.255.255.0
192.168.2.1 = "vzdálený"
+ firewall:
# Allow TUN interface connections to OpenVPN server
iptables -A INPUT -i tun+ -j ACCEPT
# Allow TUN interface connections to be forwarded through other interfaces
iptables -A FORWARD -i tun+ -j ACCEPT
+ routing by nemělo být potřeba nastavovat, protože to obvykle zařídí OpenVPN během přihlašování, ale jinak by to bylo:
route add -net 192.168.1.0/24 gw 192.168.9.aa dev tun0
kde "192.168.9.aa" je IP adresa brány v OpenVPN.
Doufám, že jsem v tom nenasekal moc chyb a že to pomůže. Hlavně: je to určeno ke studiu a k zamyšlení, nikoliv ke slepému kopírování. (Ostatně soudím, že clipboard má vinu na snižování inteligence.)