RaspberryPi[28] VPNとFirewall

Softetherで接続されたラズパイクライアントから同じくsoftetherで接続された windowsにUDP接続するとき、同じセグメントの場合は、Firewallを弄る必要もなく、UDPを受信することができますが、Softether経由でUDP送信された場合は、Windowsは外部(パブリックネットワーク)からのアクセスと認識するので、パブリックネットワークのFirewallを設定しないとUDP受信できません。Softether(VPN)接続もローカルセグメントを認識すると思っていましたが、どうもそこは区別しているようです。普通はUDPの場合、ポート番号のみでIPの指定は any になります。

netstat -ano で見てみると、0.0.0.0 で指定したポートが開かれているのがわかります。下記はポート60000で待機した場合です。

  UDP         0.0.0.0:60000          *:*                                    12248

 ローカルネットワークを  192.168.1.x とし、softether を 192.168.100.x とした場合でも、0.0.0.0 は両方を聞くと思っていましたが、192.168.1.x しか受信できません。その原因はFirewallがプライベートネットワークではなく、パブリックと認識されるからです。

ちなみに、wiresharkで確認してみるとちゃんと受信しています。多分、wiresharkはFirewallの外側を見ているのでしょう。(これって結構すごいなと思う)