一、概述
目前常用的端口轉(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包的方式安裝,然后配置,下面分享一個更簡單的方法,一鍵部署安裝部署腳本。
2.1 系統(tǒng)要求及說明
系統(tǒng)要求:支持CentOS 6+ 、Debian 7+、Ubuntu 14+。
腳本說明:腳本默認(rèn)開啟UDP、TCP轉(zhuǎn)發(fā),帶開機自啟功能,且一次只能轉(zhuǎn)發(fā)單個端口,如果想轉(zhuǎn)發(fā)多個端口請重復(fù)運行本腳本。
2.2 安裝配置
1、腳本安裝
wget https://raw.githubusercontent.com/iiiiiii1/Socat/master/socat.sh && bash socat.sh
注:以root用戶執(zhí)行上面的命令
2、輸入的參數(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的機器,監(jiān)聽本地端口:13022 192.168.42.130:跳板遠程連接的機器。ssh的監(jiān)聽端口為:22
2、配置
3、通過跳板連接到遠程機器
三、小結(jié)
1、socat是繼rinetd、Haproxy、iptables之后,端口轉(zhuǎn)發(fā)和跳板的又一神器,同時支持tcp和udp。通過此一鍵配置腳本配置,非常簡單便捷。
以上文章來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系創(chuàng)一網(wǎng)的客服處理。謝謝!