私がここで見逃した明らかな何かがあることを願っています。 NATルールを設定して、いくつかの異なるポートを内部マシンに転送します。インターネットからリクエストが届くと、すべてが計画どおりに機能します。
ただし、同じポートを使用してネットワーク内から外部IPにアクセスすると、要求は適切な場所に転送されるのではなく、ファイアウォールマシンで終了します。
私が間違っていることは明らかですか?生成されたiptablesルールは以下のとおりです。
# Generated by iptables-save v1.4.4 on Wed Sep 7 20:36:37 2011
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:Cid4488E49C.0 - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.0.0.11/32 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i lo -m state --state NEW -j ACCEPT
-A INPUT -s XXX.XXX.XXX.XXX/32 -m state --state NEW -j ACCEPT
-A INPUT -s 10.0.0.1/32 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp -m multiport --dports 5050,22,5900 -m state --state NEW -j ACCEPT
-A INPUT -p udp -m udp --dport 67 -m state --state NEW -j ACCEPT
-A INPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
-A INPUT -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 10.0.0.11/32 -p tcp -m tcp --dport 5900 -m state --state NEW -j ACCEPT
-A FORWARD -d 10.0.0.10/32 -p tcp -m tcp --dport 5050 -m state --state NEW -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
-A FORWARD -j DROP
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 10.0.0.11/32 -p tcp -m tcp --sport 22 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -m state --state NEW -j ACCEPT
-A OUTPUT -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp -m multiport --dports 5050,22,5900 -m state --state NEW -j Cid4488E49C.0
-A OUTPUT -p udp -m udp --dport 67 -m state --state NEW -j Cid4488E49C.0
-A OUTPUT -d 10.0.0.11/32 -p tcp -m tcp --dport 5900 -m state --state NEW -j ACCEPT
-A OUTPUT -d 10.0.0.10/32 -p tcp -m tcp --dport 5050 -m state --state NEW -j ACCEPT
-A OUTPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
-A OUTPUT -j DROP
-A Cid4488E49C.0 -d XXX.XXX.XXX.XXX/32 -j ACCEPT
-A Cid4488E49C.0 -d 10.0.0.1/32 -j ACCEPT
COMMIT
# Completed on Wed Sep 7 20:36:37 2011
# Generated by iptables-save v1.4.4 on Wed Sep 7 20:36:37 2011
*nat
:PREROUTING ACCEPT [114:15633]
:POSTROUTING ACCEPT [1:48]
:OUTPUT ACCEPT [1:48]
-A PREROUTING -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5050 -j DNAT --to-destination 10.0.0.10:5050
-A PREROUTING -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5900 -j DNAT --to-destination 10.0.0.11:5900
-A POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASQUERADE
-A OUTPUT -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5050 -j DNAT --to-destination 10.0.0.10:5050
-A OUTPUT -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5900 -j DNAT --to-destination 10.0.0.11:5900
COMMIT
# Completed on Wed Sep 7 20:36:37 2011
10.0.0.0/24ネットワーク上の別のマシンから10.0.0.10サーバーに接続している場合は、パケットのルーティング方法に問題がある可能性があります。たとえば、ソースが10.0.0.99で、パブリックIPアドレスを介して10.0.0.10に接続する場合、10.0.0.10サーバーからの応答パケットは10.0.0.99に直接送信され、10.0.0.99がないため、それらはドロップされます。 10.0.0.10とのハーフオープン接続(ハーフオープン接続はパブリックIPとの接続です)。
考えられる解決策の1つは、ダブルNATです。次に例を示します。
http://www.fwbuilder.org/4.0/docs/users_guide5/double_nat.html
ところで、fwbuilderのサポートを受けるのに適した場所は、fwbuilderメーリングリストまたはSFのディスカッションフォーラムからです。
http://sourceforge.net/projects/fwbuilder/forums/forum/16372
https://lists.sourceforge.net/lists/listinfo/fwbuilder-discussion