프록시 또는 iptables를 사용하여 트래픽을 리디렉션하는 가장 쉬운 방법은 무엇입니까?

프록시 또는 iptables를 사용하여 트래픽을 리디렉션하는 가장 쉬운 방법은 무엇입니까?

포트 7777에서 들어오는 모든 트래픽을 특정 목적지_ip:포트로 리디렉션해야 합니다.

나는 약 40개의 Litecoin(scrypt) 채굴 장비를 가지고 있으며 코인이나 채굴 풀을 전환하고 싶을 때마다 수동으로 재구성해야 합니다. 대신 팜을 부팅하기 위해 프록시 상자의 대상 주소를 수정할 수 있기를 원합니다.

저는 현재 완벽해 보이는 리디렉션 모듈이 있는 Dante 프록시를 사용하고 있습니다. 그러나 나는 이 모듈에 쓸 400달러가 없습니다. 또한 Dante는 각 연결마다 많은 메모리를 사용하는 것 같습니다.

또한 프록시를 사용하는 대신 iptables를 솔루션으로 사용하려고 시도했지만 오류가 발생했습니다.

root@xx:~# iptables -t nat -A PREROUTING -p tcp -d x.x.x.x --dport 7777 -j DNAT --to x.x.x.x:7777
root@xx:~# iptables -t nat -A POSTROUTING -d x.x.x.x -j MASQUERADE
iptables: No chain/target/match by that name.

나는 그것을 작동시킬 수 없으며 이것이 내가 원하는 해결책인지 확실하지 않습니다.

내가 원하는 결과를 가장 잘 달성할 수 있는 방법에 대한 아이디어가 있으면 좋을 것 같습니다!

답변1

이 시도,

iptables -t nat -A PREROUTING -p tcp -d x.x.x.x --dport 7777 -j DNAT --to-destination y.y.y.y:port

매개변수로 지정된 대상과 포트를 제공해야 합니다.to-destination.

답변2

편집하다: "더러운" 변경 사항을 적용한 경우(작동하지 않는 작업을 시도한 경우) iptables를 다시 시작하여 정리하세요. 변경 사항을 저장한 경우 작동하지 않더라도 -D규칙을 더 추가하기 전에 옵션을 사용하여 해당 규칙을 지워야 합니다.


먼저, 수신 패킷을 수락했는지 확인하세요.

iptables -A INPUT -p tcp --dport 7777 -j ACCEPT

그런 다음 트래픽을 리디렉션합니다( -I처음에 규칙을 삽입하는 것을 고려하세요. 때로는 체인에 규칙을 추가하는 것보다 낫습니다).

iptables -A PREROUTING -t nat -p tcp --dport 7777 -j DNAT --to-destination <destination_ip>:<destitation_port>

방금 추가한 규칙을 확인할 수 있습니다. 다음과 같은 내용이 표시되어야 하며 해당 특정 포트와 관련된 체인의 다른 규칙은 DNAT [...] tcp dpt:7777 to:<destination_ip>:<destitation_port>표시되지 않아야 합니다 .PREROUTING

iptables -L -n -t nat

모든 것이 제대로 작동하면 변경 사항을 저장하는 것을 잊지 마세요(그렇지 않으면 재부팅 후 규칙이 손실됩니다).

service iptables save

관련 정보