프록시 또는 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

관련 정보