Mam serwer Linux, który działa jako brama do mojej sieci domowej. Ma dwa urządzenia Ethernet:
p3p1
: WAN, publiczny adres IPa.b.c.d
p2p1
: LAN, prywatny adres IP10.0.3.1/24
Łączy się również tunelem OpenVPN typu punkt-punkt do zdalnego serwera Linux (którym również administruję). To dodaje urządzenie
tun2
: VPN, prywatny adres IP10.2.0.2/32
Pytanie brzmi: jak zrobić cały ruch z klientów w sieci LAN przekierowuje przez tunel OpenVPN?
Mogę przekierować cały ruch (w tym pochodzący z serwera bramy) za pomocą opcji konfiguracji klienta VPN redirect-gateway def1
. Ale nie tego chcę.
Czy byłby na to sposób za pomocą IPTables NAT?
Dzięki!
redirect-gateway def1
dyrektywę i utwórz niektóre wpisy routingu oparte na zasadach: tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.simple.html Jak powiedziałeś: każdy ruch z sieci lokalnej trafia do domyślnej bramy VPN i ruch serwera trafia do bramy domyślnej za p3p1.Udało mi się to zrobić za pomocą routingu IP opartego na zasadach, jak wspomniał A. Fendt w komentarzu:
$ echo "200 vpndef1" | sudo tee -a /etc/iproute2/rt_tables
$ sudo ip route add 10.0.3.0/24 via 10.0.3.1 dev p2p1 table vpndef1 $ sudo ip route add default via 10.2.0.1 dev tun2 table vpndef1
$ sudo ip rule add from 10.0.3.0/24 lookup vpndef1
źródło