很多時候我們搭建某些服務(wù)后,發(fā)現(xiàn)本地連接效果不給力,但是我們有一個國內(nèi)機(jī)器,由于國內(nèi)機(jī)器出去走BGP線路,國內(nèi)機(jī)器連接國外效果好,本地連接國內(nèi)效果也不錯,這樣我們就可以搭建一個跳板,從國內(nèi)去連接國外服務(wù)器,常見的轉(zhuǎn)發(fā)有rinetd、Haproxy、iptables、socat,前面2種只能轉(zhuǎn)發(fā)TCP,后面TCP/UDP都可以轉(zhuǎn)發(fā)。
系統(tǒng)要求:支持CentOS 6+ 、Debian 7+、Ubuntu 14+。
腳本說明:腳本默認(rèn)開啟UDP、TCP轉(zhuǎn)發(fā),帶開機(jī)自啟功能,且一次只能轉(zhuǎn)發(fā)單個端口,如果想轉(zhuǎn)發(fā)多個端口請重復(fù)運(yùn)行本腳本。
提示:該腳本在Vultr各個系統(tǒng)均測試通過,包括最新的Ubuntu 18.04,如果有其它問題可以留言。使用root運(yùn)行以下命令:
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 updateapt-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后臺運(yùn)行?;蛘遱creen等參數(shù),也可以把這個命令寫到/etc/rc.local里面開機(jī)啟動啟動。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è)置為開機(jī)自動啟動。