dividir túnel ponto de acesso vpn

0

Eu não consegui descobrir como fazer isso.

Eu tenho um ponto de acesso vpn que usa openconnect e hostapd com as seguintes regras vpn iptables

pi@raspberrypi:~ $ cat /etc/iptables.ipv4.vpn.nat
# Generated by iptables-save v1.4.21 on Sun Sep  4 02:28:21 2016
*filter
:INPUT ACCEPT [2:152]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:152] 
-A FORWARD -i tun0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan1 -o tun0 -j ACCEPT
COMMIT
# Completed on Sun Sep  4 02:28:21 2016 
# Generated by iptables-save v1.4.21 on Sun Sep  4 02:28:21 2016
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [5:380]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o tun0 -j MASQUERADE
COMMIT
# Completed on Sun Sep  4 02:28:21 2016

e o seguinte ponto de acesso não vpn'd

# Generated by iptables-save v1.4.21 on Sun Sep  4 02:28:21 2016
*filter
:INPUT ACCEPT [2:152]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:152]
-A FORWARD -i wlan1 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i wlan0 -o wlan1 -j ACCEPT
COMMIT
# Completed on Sun Sep  4 02:28:21 2016
# Generated by iptables-save v1.4.21 on Sun Sep  4 02:28:21 2016
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [5:380] 
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan1 -j MASQUERADE
COMMIT
# Completed on Sun Sep  4 02:28:21 2016

Existem alguns IPs que não são acessíveis dentro da VPN, então o que eu quero fazer é enviar todo o tráfego através da VPN, exceto para x.x.x.xe x.x.x.y, por exemplo. Para esse tráfego eu só quero regularmente nat'd para que eu possa acessá-lo através do ponto de acesso, mas não através da vpn.

Alguma ideia de como posso fazer isso?

    
por user3554796 06.09.2016 / 23:20

1 resposta

0

Você está pensando demais sobre o problema.

Considere os dois gateways para as duas interfaces (os gateways, não os endereços IP das próprias interfaces)

gweth0=192.168.1.254
gwtun0=10.1.1.1

Você pode rotear isso assim

route add default gw $gwtun0
route add -host x.x.x.x gw $gweth0
route add -host x.x.x.y gw $gweth0

Você pode até rotear sub-redes inteiras

route add -net a.b.c.d/24 gw $gweth0

O material iptables ... MASQUERADE só é necessário se você precisar reescrever os endereços IP. De um único cliente que é improvável.

    
por 07.09.2016 / 22:52