로컬 네트워크에서 게이트웨이를 설정하는 방법은 무엇입니까?

로컬 네트워크에서 게이트웨이를 설정하는 방법은 무엇입니까?

숙제 면책 조항...

그래서 IP 주소가 192.168.0.81. 인 컴퓨터 A가 있습니다. 컴퓨터에는 웹 서버가 설치되어 있으며 포트 80을 노출합니다. 따라서 192.168.0.81로컬 네트워크에 있는 다른 컴퓨터의 웹 브라우저 주소 표시줄에 입력하면 이 페이지가 표시됩니다.

하지만 이 로컬 네트워크에는 또 다른 컴퓨터가 있습니다. 192.168.0.129내 임무는 이 두 컴퓨터를 구성하는 것입니다 192.168.0.129. 192.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네트워크에 있는 다른 컴퓨터의 웹 브라우저 주소 표시줄에 ( )를 입력하면 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=(...)

그러나 게이트웨이 로그에는 관련 트래픽이 표시되지 않는 것 같습니다.

이 문제를 어떻게 해결하나요?

관련 정보