次のシナリオの設定について助けが必要です。小規模な組織ネットワークの Web ブラウジングは、プロキシ / ファイアウォールとして Debian で設定された認証 (iptables ルールを使用) を持つプロキシ サーバーを介して行われ、親プロキシに接続されます。すべての Web ブラウジングはプロキシ経由で行われ、外部サービスへの他の種類のアクセスは必要ないため、LAN のクライアントは外部に対して DNS クエリを一切行いません。現在、特定の IP アドレス xxx.xxx.xxx.xxx にある jitsi サーバーにアクセスする必要があります。その jitsi サーバーへの Web アクセスはプロキシが処理してくれるので問題ありませんが、UDP ポート 10000 と TCP 4443 へのパケットについては、iptables ルールで処理できていません。
ネットワークスキームは次のとおりです。
eth0 上の LAN (192.168.0.0/24) ---- (192.168.0.1 ens18)debian proxy/firewall(192.168.1.2 ens19) -- (192.168.1.1)モデム ルーター---->ISP
iptables のルールは次のとおりです。
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
# ##### INPUT chain ###### Accept relate or stablished connections
-A INPUT -m conntrack ! -i lo --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A INPUT -p udp -m udp -m conntrack --dport 33434:33534 --ctstate NEW -j REJECT
# Anti spoofing rule
-A INPUT ! -s 192.168.0.0/24 -i ens18 -j LOG --log-prefix "SPOOFED PKT "
-A INPUT ! -s 192.168.0.0/24 -i ens18 -j DROP
# LAN TO PROXY LOCAL
-A INPUT -p tcp -m state -s 192.168.0.0/24 -i ens18 --dport 8080 --state NEW -j ACCEPT
# ACCESS TO WEB REPORTS
-A INPUT -p tcp -m state -s 192.168.0.2/24 -i ens18 --dport 80 --state NEW -j ACCEPT
# ACCESS TO SSH
-A INPUT -p tcp -m state -s 192.168.0.2/24 -i ens18 --dport 22 --state NEW -j ACCEPT
# TIME SYNC FOR LAN
-A INPUT -p udp -i ens18 -m state --sport 123 --state NEW -j ACCEPT
# WEBMIN ACCESS
-A INPUT -p tcp -m state -s 192.168.0.2/24 -i ens18 --dport 10000 --state NEW -j ACCEPT
# LOG the rest and drop by default input chain
-A INPUT ! -i lo -j LOG --log-prefix "DROP INPUT " --log-ip-options --log-tcp-options
-A OUTPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID " --log-ip-options --log-tcp-options
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ##### OUTPUT chain ###### ## ACCEPT rules for allowing connections out
-A OUTPUT -p tcp -m state --dport 21 --state NEW -j ACCEPT
-A OUTPUT -p tcp -m state --dport 80 --state NEW -j ACCEPT
-A OUTPUT -p tcp -m state --dport 443 --state NEW -j ACCEPT
-A OUTPUT -p udp -m state --dport 123 --state NEW -j ACCEPT
# external DNS servers (only reachable, no recursion enabled)
-A OUTPUT -p udp -m state -d XXX.XXX.XXY.131 --dport 53 --state NEW -j ACCEPT
-A OUTPUT -p tcp -m state -d XXX.XXX.XXX.132 --dport 53 --state NEW -j ACCEPT
-A OUTPUT -m state -d XXX.XXX.XXX.68 --state NEW -j ACCEPT
**# TRYING TO REACH JITSI SERVER
-A OUTPUT -m state -d XXX.XXX.ZXX.XXX --state NEW -j ACCEPT**
-A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
# ##### FORWARD chain ###### Accept relate or stablished connections
-A FORWARD -m state --state INVALID -j LOG --log-prefix "DROP INVALID " --log-ip-options --log-tcp-options
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD ! -s 192.168.0.0/24 -i ens18 -j LOG --log-prefix "SPOOFED PKT "
-A FORWARD ! -s 192.168.0.0/24 -i ens18 -j DROP
# prevent forwarding packets for connections initiated from the outside (spoofing)
-A FORWARD -m state -i ens19 --state NEW -j DROP
# ## default log rule
-A FORWARD ! -i lo -j LOG --log-prefix "DROP FORWARD " --log-ip-options --log-tcp-options
COMMIT
# Completed
# Generated by webmin
*mangle
:OUTPUT ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed
# Generated by webmin
*nat
:OUTPUT ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# SOURCE NAT FOR LAN NETWORK ON
-A POSTROUTING -o ens19 -j SNAT --to-source 192.168.1.2
# MASQUERADE (FOR DYNAMIC IP ADDRESSS IN CASE OF DHCP MODEM)
-A POSTROUTING -s 192.168.0.0/24 -o ens19 -j MASQUERADE
COMMIT
# Completed
**** 同じファイアウォールルールで興味深いこと:サーバー上のビデオ会議にアクセスできるhttps://meet.jit.si問題なく。xxx.xxx.xxx.xxx の jitsi サーバー管理者は、私が説明したように、UDP 10000 と TCP 4443 のポートへのアクセスのみが必要であり、もちろん 443 (ネットワーク プロキシによって処理されます) も必要であると主張しています。