Muszę skonfigurować coś takiego:
Clients - OpenVPN_tun0 - Int_Server - OpenVPN_tun1 - Ext_Servers - public_internet
Oba tunele OpenVPN działają i działają przy użyciu „dev tun”, ale mam problemy z kierowaniem ruchu między tunelami.
Serwer OpenVPN_tun0 to Int_Server, a Int_Server to klient w OpenVPN_tun1.
OpenVPN_tun0 to 10.20.30.0/24 (tylko jeden serwer), a adres IP OpenVPN_tun1 różni się (kilka serwerów „zdalnie losowych” obecnych w konfiguracji tun1).
Int_Server uruchamia Fedorę21, więc ma firewalld.
Konfiguracja serwera Int_server OpenVPN ma „push” redirect-gateway „”, więc cały ruch z klienta jest kierowany do OpenVN_tun0.
Problem polega na tym, że klient nie ma dostępu do Internetu, chyba że włączę maskaradę dla strefy publicznej w serwerze Int_Server („firewall-cmd --zone = public --add-masquerade”), a następnie ruch wychodzi z „eth0” berło.
Oto, co mam teraz (bez maskowania w strefie publicznej):
Int_Server # firewall-cmd --list-all-zones | grep -v -e ": $" -e "masquerade: no$"
...
external (active)
interfaces: tun1
masquerade: yes
...
internal (active)
interfaces: tun0
public (default, active)
interfaces: eth0
services: xxx yyy zzz ssh
...
Int_Server # firewall-cmd --direct --get-all-rules
ipv4 filter FORWARD 10 -i tun0 -o tun1 -m conntrack --ctstate NEW -j ACCEPT
ipv4 filter FORWARD 20 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Int_Server # cat /etc/openvpn/openvpn.log | grep ROUTE_GATEWAY | tail -1
Mon Jan 19 21:49:53 2015 ROUTE_GATEWAY x.y.z.1/255.255.255.0 IFACE=eth0 HWADDR=ff:aa:bb:cc:ee:ee
Każda pomoc jest doceniana, począwszy od potwierdzenia, że routing między dwoma tunelami OpenVPN jest możliwy w pierwszej kolejności.
-Paavo
źródło
firewalld
więc nie mogę nic o tym powiedzieć; Zawsze budujęiptables
zasady ręcznie. Nie pomaga również w zaciemnianiu adresów za pomocą x.y.z itp .; byłoby pomocne, gdybyś pokazał wszystkie informacje o interfejsie za pomocąip a
i informacje o routingu za pomocąip ro sh
na odpowiednich hostach (np. klienci, Int_Server, Ext_Servers).