TCP端口轉發(centos7)

===============================================centos

 2019/2/14_第1次修改                       ccb_warlock安全

 

===============================================服務器

因爲業務中個別TCP的服務須要作遷移,而該服務目前又是否是集羣的方式對外提供服務,爲了儘量的縮短服務的中斷,在部署完新服務後,原服務器的端口須要轉發TCP的流量到新的服務器,通過一段時間後用戶更新了配置,流量大致上直接向新服務器跑時,再將老服務器的端口撤掉。網絡

 

在網上找了些資料,針對centos7的TCP端口轉發找到2種途徑:tcp

1)firewalld工具

      優:系統自帶的防火牆,不須要配置其餘軟件就能實現TCP流量的轉發;centos7

      缺:必須是firewalld運行的時候才能轉發,可是有些服務的運行不適合開啓firewalld,或者原先設計就是關閉服務器自身的防火牆而依靠外部的防火牆(好比雲服務商的安全組);spa

2)rinetd設計

      優:無論防火牆是否開啓,均可以使用該服務實現端口轉發(固然防火牆得開放這個端口);code

      缺:須要裝服務,並且是一個最後更新時間是2003年的工具,面對十幾年的系統網絡發展會不會有風險須要大量試驗後才能知道;

 


 1、firewalld
 # 容許防火牆假裝IP

firewall-cmd --add-masquerade

 

 # 增長80、8080端口的映射到192.168.13.1的80、8080端口

firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.13.1:toport=80 --permanent
firewall-cmd --add-forward-port=port=8080:proto=tcp:toaddr=192.168.13.1:toport=8080 --permanent

 


 2、rinetd
 # 獲取rinetd源碼包到/opt目錄下

cd /opt
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar -zxvf rinetd.tar.gz

 

 # 進入rinetd目錄

cd rinetd

 

 # 設置轉發端口的範圍

sed -i 's/65536/65535/g' rinetd.c

 

 # 建立目錄

mkdir -p /usr/man

 

 # 編譯並安裝

make && make install

 

# 編輯配置文件

vi /etc/rinetd.conf

 

 # 表示將全部發往本機80、8080端口的請求轉發到192.168.13.1的80、8080端口(0.0.0.0表示本機綁定全部可用地址)
 # 將下面的內容添加到rinetd.conf文件內,wq保存。

0.0.0.0 80 192.168.13.1 80
0.0.0.0 8080 192.168.13.1 80

 

 # 啓動rinetd

rinetd -c /etc/rinetd.conf
相關文章
相關標籤/搜索