http 요청을 프록시 서버로 전달하는 방법은 무엇입니까?


1

인터넷 Linux 서버가 있고 클라이언트 컴퓨터 (Windows 실행)가 SSH 터널을 통해 서버에 인터넷에 액세스합니다.

이제 어떤 이유로이 서버는 포트 8118 (다른 서버에서 실행)이있는 http 프록시를 통해서만 인터넷에 액세스 할 수 있습니다. 결과적으로 클라이언트 컴퓨터의 인터넷 연결이 끊어졌습니다.

nat 테이블 (iptables)에 OUTPUT 규칙을 추가하여 포트 80을 8118로 리디렉션하려고 시도했지만 작동하지 않습니다.

클라이언트 컴퓨터를 온라인 상태로 만드는 방법은 무엇입니까?

답변:


2

이것을 위해 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.