인터넷 Linux 서버가 있고 클라이언트 컴퓨터 (Windows 실행)가 SSH 터널을 통해 서버에 인터넷에 액세스합니다.
이제 어떤 이유로이 서버는 포트 8118 (다른 서버에서 실행)이있는 http 프록시를 통해서만 인터넷에 액세스 할 수 있습니다. 결과적으로 클라이언트 컴퓨터의 인터넷 연결이 끊어졌습니다.
nat 테이블 (iptables)에 OUTPUT 규칙을 추가하여 포트 80을 8118로 리디렉션하려고 시도했지만 작동하지 않습니다.
클라이언트 컴퓨터를 온라인 상태로 만드는 방법은 무엇입니까?
답변
이것을 위해 iptables를 사용할 수 있어야하지만 전달 규칙을 사용하여 80 개의 트래픽을 모두 프록시로 전달하려고합니다. 이 시도:
먼저 전달이 허용되는지 확인하십시오.
cat /proc/sys/net/ipv4/ip_forward
1
그렇지 않은 경우 루트 실행으로를 반환해야 합니다.
echo 1 > /proc/sys/net/ipv4/ip_forward
이제 NAT 테이블에 대한 규칙을 설정해야하며 올바른 포트와 가장을 전달해야합니다.
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination [server_ip]:8118
iptables -t nat -A POSTROUTING -p tcp -d [server_ip] --dport 8118 -j MASQUERADE
또한 전달 규칙을 추가해야합니다.
iptables -A FORWARD -p tcp -d [server_ip] --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT