[轉帖]Linux-Windows 端口轉發 netsh 還有 rinetd

Linux-Windows 端口轉發

 
https://www.cnblogs.com/operationhome/p/11284559.html

以前本身學習過 netsh

也曾經用過frp

此次學習一下表 rinetd 

感受工具備不少 須要一直保持學習的心態. 

 

在實際的生產環境中,咱們爲了安全性,會將一些重要的服務(數據庫服務)不開放外網訪問,可是當咱們某個時刻因爲一些特殊需求,須要進行外網訪問的時候,咱們能夠經過端口轉發來實現。經過一臺和與服務能夠互相訪問的主機,經過該主機進行端口轉發。css

  • Windows 端口轉發
  • Linux 端口轉發

1、Windows 端口轉發

windows 主要是經過 netsh 進行端口轉發。html

listenaddress  # 本地監聽的ip listenport # 本地監聽的端口 connectaddress # 轉發請求接收的主機ip connectport # 轉發請求接收的主機的端口 # 執行命令 netsh interface portproxy add v4tov4 listenaddress=localip listenport=localport connectaddress=remoteip connectport=remoteport # 查看現有的配置 netsh interface portproxy show all # 刪除原有的端口轉發 netsh interface portproxy delete v4tov4 listenaddress=localip listenport=localport

示例

設置將請求到 本地 IP 192.168.15.89 的端口請求 2222 轉發到 192.168.15.35 端口 22linux

注意: 下面的命令須要用管理員執行。nginx

netsh  interface  portproxy    add  v4tov4  listenaddress=192.168.15.89 listenport=2222 connectaddress=192.168.15.35 connectport=22
PS C:\WINDOWS\system32> netsh  interface  portproxy show all

偵聽 ipv4:                 鏈接到 ipv4:

地址            端口        地址            端口
--------------- ----------  --------------- ----------
192.168.15.89 2222 192.168.15.35 22

2、Linux 端口轉發

一、rinetd

簡介

官方文檔 :https://boutell.com/rinetd/shell

下載 https://boutell.com/rinetd/http/rinetd.tar.gz數據庫

rinetd 能夠將 TCP 鏈接從一個 IP 地址和端口重定向到另一個 IP 地址和端口。rinetd 是一個單進程服務(非阻塞IO進程),它能夠處理配置文件/etc/rinetd.conf中指定的地址和端口中任意數量的鏈接。rinetd 不能重定向 FTP,由於 FTP 須要多個 socket。 rinetd 能夠在 Linux 平臺上運行,也能夠在 Windows 95/98/NT 平臺上運行。windows

安裝:

wget https://boutell.com/rinetd/http/rinetd.tar.gz
tar -xzf  rinetd.tar.gz
yum  install gcc -y
cd rinetd # (修改端口範圍) sed -i 's/65536/65535/g' rinetd.c # 建立目錄 mkdir /usr/man # 解壓安裝 make && make install

配置文件

配置轉發安全

配置文件的轉發書寫規則,能夠配置多個轉發。bash

bindaddress bindport connectaddress connectport

示例:markdown

0.0.0.0 2222 192.168.15.89 22 0.0.0.0 3333 192.168.15.89 80

配置過濾規則

rinetd 可使用過濾規則,來設定能夠訪問的主機。(只能使用ip,不能使用主機名)

注意: 填寫的位置應該位於文件的開頭

allow #設置容許訪問的主機 deny #設置拒絕訪問的主機

示例:拒絕 192.168.15 整個網段的請求。

deny 192.168.15.*

配置日誌文件

默認狀況下, rinetd 不會生成日誌文件。要激活日誌記錄,請將如下行添加到配置文件中:

logfile log-file-location

示例:注意 logfile 與後面路徑只有一個空格哦。

logfile /var/log/rinetd.log

配置文件示例:

deny 192.168.15.* 0.0.0.0 2222 192.168.15.89 22 0.0.0.0 3333 192.168.15.89 80 logfile /var/log/rinetd.log

寫入配置文件

echo <<EOF >/etc/rinetd.conf deny 192.168.15.* 0.0.0.0 2222 192.168.15.89 22 0.0.0.0 3333 192.168.15.89 80 logfile /var/log/rinetd.log EOF 

運行和管理

# 啓動 rinetd rinetd # 設置開機自啓 echo rinetd >>/etc/rc.local # 暫停 ,經過kill pid kill `cat /var/run/rinetd.pid` # 使用其餘配置文件 rinetd -c /opt/rinetd.conf

咱們在上面使用的端口,記得在防火牆添加放行規則。

iptables 和 Firewalld 進行端口轉發的話咱們後面進行補充。

做者: 理想三旬
若是以爲文章寫得不錯,或者幫助到您了,請點個贊,加個關注哦。運維學習交流羣:544692191
本文版權歸做者全部,歡迎轉載,若是文章有寫的不足的地方,或者是寫得錯誤的地方,請你必定要指出,由於這樣不光是對我寫文章的一種促進,也是一份對後面看此文章的人的責任。謝謝。
 
分類:  linuxwindows
相關文章
相關標籤/搜索