スタジオのオフィスに、リモートクライアントがLANリソースにアクセスするためのVPNサーバーとして機能するRaspberryPiを使用してネットワークをセットアップしました。
ルーターポート-1194ポートをRPiに転送するため、インターネットからアクセスできます。
しばらくして、ShorewallでOpenVPNを正常にセットアップし、VPNクライアントに選択したLANサーバーへのアクセスを許可しました。しかし、何らかの理由で、VPNクライアントはインターネットにまったくアクセスできません。
これが私のShorewallのセットアップです:
zones、interfaces、Hostファイルに3つのゾーンを設定しました。
ゾーン
#ZONE TYPE
fw firewall
net ipv4
loc:net ipv4
vpn ipv4
インターフェイス
#ZONE INTERFACE OPTIONS
net eth0 dhcp,tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0
vpn tun0
ホスト
#ZONE HOSTS
loc eth0:192.168.200.0/24 (LAN subnet)
OpenVPNサーバーのtunnelsファイルにエントリがあります:
トンネル
#TYPE ZONE GATEWAY
openvpnserver net 0.0.0.0/0
LANクライアントのデフォルトゲートウェイはRPiではなくルーターであるため、VPNからeth0へのパケットはマスカレードされます。
マスク
#INTERFACE SOURCE ADDRESS
eth0 10.8.0.0/24 (VPN subnet) 192.168.200.54 (local RPi address)
policy vpnからlocへの接続を拒否し、vpnからnetへの接続を受け入れます。 vpnからlocへの特定の接続は、rulesファイルで受け入れられます。
私は何を取りこぼしたか? VPNクライアントがインターネットにアクセスできないのはなぜですか?
問題はShorewall構成にはまったくありませんでした。実際にはVPNからインターネットへのアクセスがありましたが、VPNクライアントのDNSサーバーアドレスが間違っていました。
OpenVPNのserver.confに行がありました
Push "dhcp-option DNS 192.168.0.1"
これは、特定の設定では意味がありませんでした。アドレスを修正しましたが、VPNクライアントはインターネットにアクセスできます。