라우터, DHCP 서버 및 프록시 역할을 하는 Linux 상자가 있습니다. 내 LAN 측에서는 충분한 IP를 갖기 위해 두 개의 서브넷이 필요합니다. 192.168.100.0 - 192.168.101.255 - 필요한 범위입니다. 두 서브넷 모두 내 Linux 상자를 통해 인터넷에 연결할 수 있어야 합니다.
eth1(em1)에는 고정 IP로 인터넷 모뎀이 연결되어 있습니다.
eth2(em2)에서 LAN이 다음 설정으로 연결되어 있습니다.
- IP 주소: 192.168.100.1
- 방송 주소 : 192.168.101.255
- 서브넷 마스크: 255.255.254.0
- 기본 게이트웨이: 192.168.100.1
내 라우팅 테이블은 다음과 같습니다.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 56343ffe.rev.st 0.0.0.0 UG 0 0 0 em1
86.52.0.0 * 255.255.192.0 U 1 0 0 em1
192.168.100.0 * 255.255.254.0 U 1 0 0 em2
192.168.101.0 * 255.255.255.0 U 0 0 0 em2
포트 80의 모든 트래픽은 해안벽에 있는 내 프록시로 리디렉션됩니다. 이는 정상적으로 작동합니다. 모든 호스트는 웹사이트, YouTube 등에 액세스할 수 있습니다(포트 80). 다른 모든 트래픽은 매스커레이드되지만 다른 포트로의 트래픽은 문제입니다. 예: Microsoft의 DRM 라이센스 서버 AVG 업데이트 서버 - 연결할 수 없습니다!? 하지만 라우팅 테이블에 뭔가 잘못 구성되어 있다고 생각합니다. 내 방화벽은 포트 80 트래픽을 리디렉션한 후 모든 아웃바운드 트래픽을 허용합니다.
편집 - 방화벽의 출력(인터넷 주소의 숫자를 xxx.xxx로 대체했습니다):
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
dnat all -- anywhere anywhere
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
em1_masq all -- anywhere anywhere
Chain dnat (1 references)
target prot opt source destination
loc_dnat all -- anywhere anywhere
Chain em1_masq (1 references)
target prot opt source destination
SNAT all -- 192.168.100.0/24 anywhere to:86.52.xxx.xxx
SNAT all -- 192.168.101.0/24 anywhere to:86.52.xxx.xxx
Chain loc_dnat (1 references)
target prot opt source destination
REDIRECT tcp -- 192.168.100.0/24 anywhere multiport dports http,squid redir ports 8080
REDIRECT tcp -- 192.168.101.0/24 anywhere multiport dports http,squid redir ports 8080
답변1
NAT(가장)를 수행해야 합니다.
그리고 거기서 당신은 실패합니다.
당신은 그것이 가장 무도회되었다고 말하지만 분명히 그것은 작동하지 않습니다.
(포트 80은 프록시되기 때문에 작동합니다.)
NAT 또는 방화벽(아마도 둘 다)에 일부 구성이 올바르지 않습니다.
PS 마지막 라우팅 라인은 필요하지 않습니다. 이미 위에 있는 내용으로 덮여 있습니다.