OpenWRTルーターで実行されているOpenVPNサーバーがあり、それを使用したいと思います。ゲートウェイとしてのOpenVPNクライアント私のルーターに接続されているいくつかのローカルコンピュータの場合。
私がしたこと/成功したこと:
- OpenWRTルーター(
192.168.0.1
/10.0.0.1
)からOpenVPNクライアント(/10.0.0.6
)にpingとsshを送信できます。 - 私はルータに次の
tunnelpi1
新しいルーティングテーブルを設定しました。/etc/iproute2/rt_tables
#
# reserved values
#
128 prelocal
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
10 tunnelpi1
192.168.0.217
10.0.0.6
クライアントIPをtunnelpi1
テーブルに追加し、このテーブルへのデフォルトルートを設定して、OpenVPNクライアントを介してローカルクライアント()のトラフィックをルーティングするようにルータを設定しました。
ip rule add from 192.168.0.217/32 table tunnelpi1
ip route add default via 10.0.0.6 dev tun table tunnelpi1
- ローカルクライアント()でパスを追加すると、もうping
192.168.0.217
できなくなり、削除すると再度pingできます。したがって、ルールが何かをしているように見えます(他のクライアントは影響を受けないので大丈夫です)。8.8.8.8
8.8.8.8
- OpenVPNクライアント(
10.0.0.6
)には、それ自体で完全に機能するインターネット接続がありますeth0
。ping 8.8.8.8
問題なく動作しました。デフォルトゲートウェイはVPN(tun0
)ではなく、eth0
私が望むインターフェースです。 - OpenVPNクライアントでIP転送を有効にし、iptablesを介してNATルールを追加し、以下を介してすべてを転送しました
eth0
。
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
**動作しないこと:トラフィックが192.168.0.217
通過したいのです10.0.0.6
が、そのようなことは起こらないようです。テーブルルールを追加した後は何もpingできません。 OpenVPNが何かをブロックしているか、openvpn-clientのiptables設定が間違っているようです。ここからどのように進むべきかわかりません。
どんな提案がありますか?