http 요청을 프록시 서버로 전달하는 방법은 무엇입니까? http 프록시를 통해서만 인터넷에

인터넷 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