
아주 적은 양의 참여로 인해 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