一、概述
目前常用的端口轉(zhuǎn)發(fā)工具有rinetd、Haproxy、iptables、Socat前面2種只能轉(zhuǎn)發(fā)TCP,后面TCP/UDP都可以轉(zhuǎn)發(fā)。如果是需要udp轉(zhuǎn)發(fā)的話,只能選擇iptables、Socat。iptables方面的轉(zhuǎn)口轉(zhuǎn)發(fā)配置這里就不多講了,網(wǎng)上資料一大堆。下面分享一下Socat使用和配置。
二、安裝配置
Socat可以通過rpm包的方式安裝,然后配置,下面分享一個(gè)更簡單的方法,一鍵部署安裝部署腳本。
2.1 系統(tǒng)要求及說明
系統(tǒng)要求:支持CentOS 6+ 、Debian 7+、Ubuntu 14+。
腳本說明:腳本默認(rèn)開啟UDP、TCP轉(zhuǎn)發(fā),帶開機(jī)自啟功能,且一次只能轉(zhuǎn)發(fā)單個(gè)端口,如果想轉(zhuǎn)發(fā)多個(gè)端口請(qǐng)重復(fù)運(yùn)行本腳本。
2.2 安裝配置
1、腳本安裝
wget https://raw.githubusercontent.com/iiiiiii1/Socat/master/socat.sh && bash socat.sh
注:以root用戶執(zhí)行上面的命令
2、輸入的參數(shù)說明:
輸入本地端口:指定本機(jī)未被占用的端口,用戶可自定義。 輸入遠(yuǎn)程端口:遠(yuǎn)程主機(jī)的真實(shí)的端口。 遠(yuǎn)程主機(jī):遠(yuǎn)程主機(jī)的真實(shí)的IP地址。
3、配置保存位置
配置保存在/etc/rc.local文件中。
[root@localhost128 ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
nohup /usr/local/inception/bin/Inception --defaults-file=/etc/inc.cnf &
nohup socat TCP4-LISTEN:13022,reuseaddr,fork TCP4:192.168.42.130:22 >> /root/socat.log 2>&1 &
nohup socat -T 600 UDP4-LISTEN:13022,reuseaddr,fork UDP4:192.168.42.130:22 >> /root/socat.log 2>&1 &
2.3 軟件卸載
yum remove socat
2.4 使用展示
1、環(huán)境說明
192.168.42.128:配置socat的機(jī)器,監(jiān)聽本地端口:13022 192.168.42.130:跳板遠(yuǎn)程連接的機(jī)器。ssh的監(jiān)聽端口為:22
2、配置
3、通過跳板連接到遠(yuǎn)程機(jī)器
三、小結(jié)
1、socat是繼rinetd、Haproxy、iptables之后,端口轉(zhuǎn)發(fā)和跳板的又一神器,同時(shí)支持tcp和udp。通過此一鍵配置腳本配置,非常簡單便捷。
以上文章來源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系創(chuàng)一網(wǎng)的客服處理。謝謝!