iptables - 포트 80으로 향하는 로컬 및 임시 아웃바운드 트래픽을 포트 8080으로 리디렉션합니다.

iptables - 포트 80으로 향하는 로컬 및 임시 아웃바운드 트래픽을 포트 8080으로 리디렉션합니다.

아주 적은 양의 참여로 인해 iptables에 문제가 있습니다.

TOR 종료 릴레이 설정이 있고 모든 로컬 및 TOR 트래픽이 포트 8080에서 내 상자에서 나가도록 리디렉션하려고 합니다.

현재 다음과 같이 설정했습니다.

-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

그러나 이것은 상자에서 발생하는 트래픽이 아닌 라우터 역할을 할 때만 일시적인 트래픽을 리디렉션하는 것 같습니다.

답변1

나는 지식이 많지 않기 때문에 TOR에 대해 언급하지 않습니다.

하지만 iptables 목표의 경우 여기에 있습니다. PREROUTING라우팅이 포함됩니다. 다음에서 연결을 시작할 때현지의시스템, 당신은 라우팅되지 않습니다. OUTPUT대신/추가로 사용해야 합니다 PREROUTING.

범위REDIRECT:

REDIRECT
이 대상은 NAT 테이블, PREROUTING 및 OUTPUT 체인, 해당 체인에서만 호출되는 사용자 정의 체인에서만 유효합니다. 대상 IP를 수신 인터페이스의 기본 주소로 변경하여 패킷을 시스템 자체로 리디렉션합니다(로컬에서 생성된 패킷은 로컬 호스트 주소, IPv4의 경우 127.0.0.1, IPv6의 경우 ::1에 매핑됨).

그래서:

iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

편집하다:

특정 사용자 또는 그룹이 리디렉션되는 것을 방지하려면(예: 포트 8080에서 서비스의 무한 루프를 방지하기 위해) tor위 대신 다음과 같이 수행할 수 있습니다(유효 그룹으로 실행되는 서비스의 예).

iptables -t nat -N OUTPUT intercept
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -j intercept
iptables -t nat -A intercept -m owner --gid-owner tor -j RETURN
iptables -t nat -A intercept -j REDIRECT --to-ports 8080

관련 정보