ローカルネットワークでゲートウェイを設定するには?

ローカルネットワークでゲートウェイを設定するには?

宿題免責条項...

だから、IPアドレスが192.168.0.81。インコンピュータAがあります。コンピュータにはWebサーバーがインストールされ、ポート80を公開します。したがって、192.168.0.81ローカルネットワーク上の他のコンピュータのWebブラウザのアドレスバーに入力すると、このページが表示されます。

ただし、このローカルネットワークには別のコンピュータがあります。192.168.0.129私の使命は、これら2つのコンピュータを構成することです192.168.0.129192.168.0.81送信されたすべてのパケットは192.168.0.81通過し、192.168.0.129ポート192.168.0.12980で受信する必要があります。に転送されるすべてのトラフィックは192.168.0.81

試してみることができるソリューション。サーバーでこれを行い、次のように応答を送信するようにします192.168.0.129

route add default gw 192.168.0.129

ゲートウェイでこれを実行して、サーバーから外部の世界にトラフィックを転送できることを願っています。

echo 1 > /proc/sys/net/ipv4/ip_forward

ゲートウェイでこれを行い、受信したトラフィックをサーバーに転送してください。

iptables -t nat -A PREROUTING -p tcp -d 192.168.0.129 --dport 80 -j DNAT --to 192.168.0.81:80

しかし、これはうまくいきません。192.168.0.129ネットワーク上の他のコンピュータのWebブラウザのアドレスバーに()を入力すると、192.168.0.185このページの代わりにブラウザエラーが表示されます。私は何が間違っていましたか?

何が起こっているのかを知るために、両方のコンピュータで発行してすべてのパケットを記録してみました。

iptables -A INPUT -j LOG
iptables -A OUTPUT -j LOG

結果は次のとおりです。サーバーは元の要求者からパケットを受信し、いくつかのパケットを再送信しようとするようです。次の項目が表示されます。

Dec 19 23:23:25 debian kernel: (...) IN= OUT=eth0 MAC=(...) SRC=192.168.0.185 DST=192.168.0.81 LEN=60 TOS=0x00 PREC=(blah blah this and subsequent stuff omitted for brevity)
Dec 19 23:23:25 debian kernel: (...) IN= OUT=eth0 SRC=192.168.0.81 DST=192.168.0.185 LEN=60 TOS=0x00 PREC=(...)

ただし、ゲートウェイログには関連トラフィックが表示されないようです。

この問題をどのように解決しますか?

関連情報