これを行う方法が見つかりませんでした。
openconnect と hostapd と、次の vpn iptables ルールを使用する VPN アクセス ポイントがあります。
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
次の VPN 以外のアクセスポイント
# 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
VPN内部からアクセスできないIPもあるため、xxxx、xxxyを除くすべてのトラフィックをVPN経由で送信したいと思います。そのトラフィックについては、VPNの代わりにアクセスポイントを介してアクセスできるように定期的にNATを使用したいと思います。
どうすればいいのかご存知ですか?
答え1
あなたはこの問題を過度に考えています。
2つのインターフェイスに対して2つのゲートウェイを考慮します(インターフェイス自体のIPアドレスではなくゲートウェイ)。
gweth0=192.168.1.254
gwtun0=10.1.1.1
このようにルーティングできます。
route add default gw $gwtun0
route add -host x.x.x.x gw $gweth0
route add -host x.x.x.y gw $gweth0
サブネット全体をルーティングすることもできます。
route add -net a.b.c.d/24 gw $gweth0
iptables ... MASQUERADE
これは、IPアドレスを再構築する必要がある場合にのみ必要です。単一の顧客には不可能です。