회사에서 22포트로 외부로 나가는게 불가능해서, 내 서버의 ssh 는 22002로 변경을 해둔 상태인데, b 서버에 접근할일이 생겼다. 근데 곧장 sftp 를 쓰고자 하는데 ...
그럼 패킷을 포워딩 하면 어떨까 해서 방법을 찾아보니 iptables 로 하는방법이 있긴 하지만 매우 복잡, 비권장이라는 것에 정보를 더 찾아보니 socat 이라는게 존재했다.
사용법은 매우 간단하다.
Redirect TCP port 443 in localhost to checkwebcam.com port 80.
socat TCP-LISTEN:443,fork TCP:checkwebcam.com:80
fork parameter is required so that socat fork a new process for every connection attempt. If fork is not specified, socat will exit once a redirected connection closes, times out, or who knows what kind of error occurs.
Redirect UDP port 13443 in localhost to checkwebcam.com port 80.
socat UDP-LISTEN:13443,fork UDP:checkwebcam.com:80
내 서버에 x번 포트로 TCP/UDP 로 들어왔을때 어디로 전달할껀지만 지정하면 된다.
그리고 커맨드를 입력하면 해당 세션에서만 작동하기 때문에, 뒤에 & > /dev/null 을 붙여 background 에서 실행하도록 해주자.
처음에 , 하고 fork 사이에 빈칸을 두었더니 '주소는 무조건 2개여야 합니다' 라는 오류가 떴다.
그러니 빈칸은 fork 다음에 한칸만 ..... 콤마 뒤에 무조건 스페이스를 넣는 습관이 있는분은 주의하시길, (;;)
참조 : http://palimpsest.minivi.com/socat/portforwarding/index.html
'서버 등 운영체제(OS) > Linux' 카테고리의 다른 글
How to gitlab restart (0) | 2020.02.06 |
---|---|
error: insufficient permission for adding an object to repository database .git/objects (0) | 2019.08.15 |
history 명령 재 실행 (0) | 2016.09.06 |
SSL 웹서버 시작시 암호 입력 안하기 (0) | 2016.08.01 |
[Ubuntu] W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: (0) | 2016.07.11 |