很多時候我們搭建某些服務(wù)后,發(fā)現(xiàn)本地連接效果不給力,但是我們有一個國內(nèi)機器,由于國內(nèi)機器出去走BGP線路,國內(nèi)機器連接國外效果好,本地連接國內(nèi)效果也不錯,這樣我們就可以搭建一個跳板,從國內(nèi)去連接國外服務(wù)器,常見的轉(zhuǎn)發(fā)有rinetd、Haproxy、iptables、socat,前面2種只能轉(zhuǎn)發(fā)TCP,后面TCP/UDP都可以轉(zhuǎn)發(fā)。
socat腳本系統(tǒng)要求:支持CentOS 6+ 、Debian 7+、Ubuntu 14+。
socat腳本說明:腳本默認(rèn)開啟UDP、TCP轉(zhuǎn)發(fā),帶開機自啟功能,且一次只能轉(zhuǎn)發(fā)單個端口,如果想轉(zhuǎn)發(fā)多個端口請重復(fù)運行本腳本。
提示:該腳本在各個系統(tǒng)均測試通過,包括最新的Ubuntu 18.04。
使用root運行以下命令:
wget https://cikeblog.com/s/socat.sh ; bash socat.sh
按要求輸入以下信息:
#如果你要用本地服務(wù)器的3333端口轉(zhuǎn)發(fā)IP為1.1.1.1服務(wù)器的6666端口,那就依次填入指定參數(shù)。
請輸入本地端口:3333
請輸入遠(yuǎn)程端口:6666
請輸入遠(yuǎn)程IP:1.1.1.1
輸入后直到配置完成。
手動安裝方法
centos
yum install -y socat
ubuntu或debian
apt-get update
apt-get install -y socat
socat的使用
1、轉(zhuǎn)發(fā)TCP
nohup socat TCP4-LISTEN:30000,reuseaddr,fork TCP4:1.1.1.1:30000 >> socat.log 2>&1 &
說明:
TCP4-LISTEN:30000監(jiān)聽ipv4的30000TCP端口。30000改成你自己需要轉(zhuǎn)發(fā)的端口
fork TCP4:1.1.1.1:30000轉(zhuǎn)發(fā)到1.1.1.1的30000端口,根據(jù)需求修改自行修改ip和端口
推薦使用nohup后臺運行?;蛘遱creen等參數(shù),也可以把這個命令寫到/etc/rc.local里面開機啟動啟動。
2、轉(zhuǎn)發(fā)UDP
nohup socat -T 600 UDP4-LISTEN:10000,reuseaddr,fork UDP4:1.1.1.1:10000 >> socat.log 2>&1 &
UDP和TCP同理,TCP4-LISTEN更換為UDP4-LISTEN即可。也可以直接寫到/etc/local里面設(shè)置為開機自動啟動。