特定のサブネット間のルーティングをブロックする方法(他のサブネットへのルーティングは許可)

特定のサブネット間のルーティングをブロックする方法(他のサブネットへのルーティングは許可)

Raspbian Linux 8.0を使用して、Model 3 Raspberry PiをVPNルーターとして設定しました。これには次のネットワークインターフェイスがあります。

  • eth0 - 有線インターネットアップリンクで構成されています(現在使用されていません)
  • wlan0 - ワイヤレスインターネットアップリンク(アクティブ)
  • eth1 (サブネット 192.168.5.0/24) - 有線クライアント LAN (マイ PC 用)
  • wlan1 (サブネット 192.168.4.0/24) - クライアント WLAN (マイ電話用)
  • tun0, tun1 - VPN インターフェイス

すべてが私が望む方法で動作します(VPNを介したクライアント接続)。 1つだけを除いて、eth1とwlan1の間にルーティングされるようですが、これは私が望んでいません。 wlan1 のクライアントシステムが eth1 のシステムに接続したくないのですが、可能です。また、クライアントWLANのシステムがEthernet経由で接続されているシステムのみがPiにSSHで接続できるとは思わないが、現在は可能である。 192.168.5.1(192.168.4.1ではない)でのみ受信するようにSSHを設定しましたが、クライアントWLANに接続しても192.168.5.1にSSHで接続できます。

もちろん、wlan1とtun0 / tun1の間、eth1とtun0 / tun1の間をルーティングしたいので、IP転送を有効にしました。

私のiptablesルールは次のとおりです。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A FORWARD -s 192.168.4.0/24 -i wlan1 -o eth0 -m conntrack --ctstate NEW -m comment --comment "Block traffic from wlan1 (client WiFi) to eth0 (wired uplink)" -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.4.0/24 -i wlan1 -o wlan0 -m conntrack --ctstate NEW -m comment --comment "Block traffic from wlan1 (client WiFi) to wlan0 (WiFi uplink)" -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.4.0/24 -i wlan1 -o tun0 -m conntrack --ctstate NEW -m comment --comment "Allow traffic from wlan1 (client WiFi) to tun0 (VPN)" -j ACCEPT
-A FORWARD -s 192.168.4.0/24 -i wlan1 -o tun1 -m conntrack --ctstate NEW -m comment --comment "Allow traffic from wlan1 (client WiFi) to tun1 (VPN)" -j ACCEPT

-A FORWARD -s 192.168.5.0/24 -i eth1 -o eth0 -m conntrack --ctstate NEW -m comment --comment "Block traffic from eth1 (client LAN) to eth0 (wired uplink)" -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.5.0/24 -i eth1 -o wlan0 -m conntrack --ctstate NEW -m comment --comment "Block traffic from eth1 (client LAN) to wlan0 (WiFi uplink)" -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.5.0/24 -i eth1 -o tun0 -m conntrack --ctstate NEW -m comment --comment "Allow traffic from eth1 (client LAN) to tun0 (VPN)" -j ACCEPT
-A FORWARD -s 192.168.5.0/24 -i eth1 -o tun1 -m conntrack --ctstate NEW -m comment --comment "Allow traffic from eth1 (client LAN) to tun1 (VPN)" -j ACCEPT

-A FORWARD -s 192.168.4.0/24 -i wlan1 -o eth1 -m conntrack --ctstate NEW -m comment --comment "Block traffic from wlan1 (client WiFi) to eth1 (client LAN)" -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.4.0/24 -d 192.168.5.0/24 -m conntrack --ctstate NEW -m comment --comment "Block traffic from client WiFi range to client LAN range" -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.5.0/24 -i eth1 -o wlan1 -m conntrack --ctstate NEW -m comment --comment "Block traffic from eth1 (client LAN) to wlan1 (client WiFi)" -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.5.0/24 -d 192.168.4.0/24 -m conntrack --ctstate NEW -m comment --comment "Block traffic from client LAN range to client WiFi range" -j REJECT --reject-with icmp-port-unreachable

COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -m comment --comment "Use VPN IP for eth0" -j MASQUERADE
-A POSTROUTING -o wlan0 -m comment --comment "Use VPN IP for wlan0" -j MASQUERADE
-A POSTROUTING -o tun0 -m comment --comment "Use VPN IP for tun0" -j MASQUERADE
-A POSTROUTING -o tun1 -m comment --comment "Use VPN IP for tun1" -j MASQUERADE
COMMIT

答え1

SSHアクセスブロックwlan1:

iptables -A INPUT -i wlan1 -p tcp --dport 22 -j REJECT --reject-with icmp-port-unreachable

総評:使用の意味がわかりません

-s 192.168.4.0/24 -i wlan1 -o eth1

変える

-i wlan1 -o eth1

有効な送信元アドレスを持つパケットだけでなく、すべてのパケットをブロックしたいからです。

関連情報