방법: 1. SSH 포트 전달 사용 2. iptables 포트 전달 사용 4. rinetd 포트 전달 사용 6. socat 포트 전달 사용 8. portfwd 포트 포워딩 등을 사용하세요.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
1. SSH 포트 포워딩
SSH는 SSH 링크를 통해 다른 TCP 포트의 네트워크 데이터를 포워딩할 수 있는 매우 흥미로운 기능을 제공하며 해당 암호화 및 암호화 기능을 자동으로 제공합니다. 암호 해독 서비스.
(1) 로컬 포트 전달
ssh -fgN -L 2222:localhost:22 localhost
(2) 원격 포트 전달
ssh -fgN -R 2222:host1:22 localhost
(3) 동적 전달
ssh -fgN -D 12345 root@host1
2.iptables 포트 전달.
CentOS 7.0에서는 iptables를 통해 구현할 수 있습니다. 데이터 패킷 전달
(1) 데이터 전달 기능 켜기
vi /etc/sysctl.conf #增加一行 net.ipv4.ip_forward=1 //使数据转发功能生效 sysctl -p
(2) 로컬 포트를 로컬 포트로 전달
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j REDIRECT --to-port 22
(3) 로컬 포트를 다른 머신으로 전달
iptables -t nat -A PREROUTING -d 192.168.172.130 -p tcp --dport 8000 -j DNAT --to-destination 192.168.172.131:80 iptables -t nat -A POSTROUTING -d 192.168.172.131 -p tcp --dport 80 -j SNAT --to 192.168.172.130 #清空nat表的所有链 iptables -t nat -F PREROUTING
3. 전달
CentOS 7.0 이상에서는 명령줄 구성을 통해 포트 전달을 구현하는 방화벽을 사용합니다.
(1) 위장된 IP 활성화
firewall-cmd --permanent --add-masquerade
(2) 로컬 시스템의 포트 12345에 대한 액세스를 다른 서버의 포트 22로 전달하도록 포트 전달을 구성합니다.
firewall-cmd --permanent --add-forward-port=port=12345:proto=tcp:toaddr=192.168.172.131:toport=22
(3) 다시 로드하여 무효화
firewall-cmd --reload
4.rinetd 포트 전달
rinetd는 간단한 구성으로 포트 매핑/전달/리디렉션을 수행할 수 있는 경량 TCP 전달 도구입니다.
(1) 소스 코드 다운로드
wget https://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm
(2) rinetd
rpm -ivh rinetd-0.62-9.el7.nux.x86_64.rpm
(3) 구성 파일 편집
vi rinetd.conf 0.0.0.0 1234 127.0.0.1 22
(4) 포워딩 시작
rinetd -c /etc/rinetd.conf
5.ncat 포트 포워딩
netcat(통칭) nc)는 네트워크 보안 세계에서 "Swiss Army Knife"로 알려진 간단하고 유용한 도구입니다. 다음은 netcat을 사용하여 포트 전달을 구현하는 방법입니다.
(1) ncat
yum install nmap-ncat -y
설치(2) 로컬 포트 9876을 수신하고 192.168.172.131
ncat --sh-exec "ncat 192.168.172.131 80" -l 9876 --keep-open
6의 포트 80으로 데이터를 전달합니다. socat 포트 전달
socat은 다기능 네트워크 도구입니다. . 포트 포워딩에는 socat을 사용하세요.
(1) socat 설치
yum install -y socat
(2) 로컬에서 포트 12345를 수신하고 요청을 192.168.172.131의 포트 22로 전달합니다.
socat TCP4-LISTEN:12345,reuseaddr,fork TCP4:192.168.172.131:22
7. portmap 포트 포워딩
Linux 버전의 인트라넷 포트 포워딩 도구입니다.
(1) 다운로드 주소: http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip
(2) 로컬 1234 포트를 듣고 22개의 포트로 전달합니다. 192.168.172.131 Port
/portmap -m 1 -p1 1234 -h2 192.168.172.131 -p2 22
8.portfwd 포트 포워딩
portfwd는 미터프리터에 내장된 기능이며, TCP/UDP 포트 포워딩 서비스를 위한 독립형 버전도 제공합니다
Github 프로젝트 주소: https:/ /github.com/rssnsj /portfwd
(1) 다운로드 및 컴파일
git clone https://github.com/rssnsj/portfwd.git
cd portfwd/src
make
(2) 로컬 전달 12345 포트에서 192.168.172.131 :22
./tcpfwd 0.0.0.0:12345 192.168.172.131:22
9. NATBypass 포트 전달
golang에서 lcx(htran) 구현
Gihub 프로젝트 주소: https://github.com/cw1997/NATBypass
내부 네트워크 호스트가 외부 세계에 적극적으로 연결합니다. 네트워크 호스트가 터널을 엽니다.
대상 머신에서 실행: nb -slave 127.0.0.1:3389 공용 네트워크 IP: 51
공용 네트워크 머신에서 실행: nb -listen 51 3340
공용 네트워크 호스트 0.1:3340에 127.0을 연결하면 인트라넷 머신의 3389 포트에 연결할 수 있습니다.
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 리눅스에서 포트를 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!