일회성 또는 어쨌든 상황에 따라 ProxyCommand 접근 방식은 매우 편리한 방법입니다.
반면에 여러 개의 동시 연결이 필요하거나 일상적인 작업에이 명령을 자주 사용해야하는 경우 서버에서 NAT (Network-Address-Translation) 규칙을 설정하는 것이 좋습니다.
이를 위해서는 root
먼저 단일 NAT 규칙 하나를 적용하기 위해 서버에서 수퍼 유저 (일반적으로 ) 액세스가 필요합니다. 이주의 수도 귀하의 "서버가"실제로 (A 도커 같은) 컨테이너 경우, 수퍼 유저 권한이 경우에도 NAT 규칙을 적용 전혀 허용 (또는 효과)하지 않고 기계.
iptables
제품군 이 포함 된 일반적인 Linux 시스템에 대해 샘플 사례에 대해 서버 1에 적용 할 NAT 규칙은 다음과 같습니다.
iptables -t nat -I POSTROUTING -d <server2-ip-address> -p tcp --dport <server2-port> -j SNAT --to :33101-33109
이 명령은 Linux 커널에게 server2-ip-address 의 포트 server2-port 로 연결 하여 해당 시점에 사용 가능한 33101-33109 범위에서 선택한 소스 포트를 사용하여 나가도록 지시합니다.
해당 규칙이 설정되면 평소와 같이 서버 2에 연결합니다.
ssh username@server2 -p remote_port
ssh
NAT 규칙에 지정된 범위의 사용 가능한 포트가있는 한이 명령을 필요한만큼 동시에 사용할 수도 있습니다 .
그러나 netstat
서버에서 실행 되는 (또는 동등한 명령) 서버 에 전달 된 실제 트래픽이 수정 된 소스 포트 번호를 가지고 있더라도 연결의 로컬 주소가 수정되지 않고 임의로 선택된 소스 포트 번호 인 것으로보고합니다.
NAT 규칙을 실행 취소하려면 명령 -D
대신 옵션을 제외하고 명령이 동일 합니다 -I
.
부팅시 NAT 규칙을 자동으로 적용하려면 서버에있는 Linux 배포판과 방화벽 구성이 이미 있는지 여부에 따라 다릅니다.
나는 BSD와 같은 시스템에 대한 경험이 없지만 동등한 것이 있다고 믿습니다.