安装步骤
首先建立并进入文件夹(假设你当前目录是 /root ,那么 tinyPortMapper的目录就是 /root/tinyPortMapper ):
mkdir tinyPortMapper && cd tinyPortMapper
然后获取最新的版本号:
tinyPortMapper_ver=$(wget -qO- "https://github.com/wangyu-/tinyPortMapper/tags"| grep "/wangyu-/tinyPortMapper/releases/tag/"| head -n 1| awk -F "/tag/" '{print $2}'| sed 's/\">//') && echo ${tinyPortMapper_ver}
执行完后会输出获取的最新版本号,比如 20171112.0这样的日期格式,如果返回是空或者其他错误的内容,那么就代表获取失败。
获取失败的情况请去 Github 获取最新的版本号,例如 20171112.0,然后执行 tinyPortMapper_ver=20171112.0(自己替换版本号)即可继续下面的下载步骤。
wget -N --no-check-certificate "https://github.com/wangyu-/tinyPortMapper/releases/download/${tinyPortMapper_ver}/tinymapper_binaries.tar.gz"
# 解压下载的压缩包
tar zxvf tinymapper_binaries.tar.gz
# 然后你需要判断一下VPS的位数,运行 uname -m 会输出VPS的位数,如果显示 x86_64 则是64位,如果显示 386/i386/686/i686 这四个之一,则是32位。
# x86_64,64位运行:
mv tinymapper_amd64 tinymapper
# 386/i386/686/i686 四个之一,32位运行:
mv tinymapper_x86 tinymapper
# 删除无用的压缩包和其他平台文件。
rm -rf version.txt
rm -rf tinymapper_*
rm -rf tinymapper_binaries.tar.gz
最后只需要赋予一下执行权限即可继续看下面的使用方法了。
chmod +x tinymapper
完整端口转发命令:
nohup ./tinymapper -l 0.0.0.0:2333 -r 12.12.12.12:6666 -t -u > /tmp/tinymapper.log 2>&1 &
解释:
-l 0.0.0.0:2333
指的是 监听本地网卡所有 ipv4地址的端口(2333),也就是 转发的端口。Shadowsocks客户端链接中继服务器时填写这个端口(2333)。
-r 12.12.12.12:6666
指的是 被转发的 IP(12.12.12.12) 和 端口(6666),也就是你要中继的服务器的 IP 和 端口。
注意:这里的 中继端口(2333) 和 被中继端口(6666) 是可以一样的,我区分开只是为了让你们更好地理解。
-t
指的是 转发TCP协议的流量。
-u
指的是 转发UDP协议的流量。
注意:-t TCP和 -u UDP可以只转发其一,都写上参数(-t -u),则代表都转发。
> /tmp/tinymapper.log 2>&1 &
指的是 日志记录到 /tmp/tinymapper.log 这个临时文件夹,每次重启服务器都会清空。如果不想清空可以改成 tinymapper.log (但记得定时清理)。
停止所有端口转发进程:
kill -9 $(ps -ef|grep tinymapper|grep -v grep|awk '{print $2}')
卸载方法
假设 tinyPortMapper 的目录是 /root/tinyPortMapper ,那么:
# 记得先停止所有转发进程
rm -rf /root/tinyPortMapper
简单解释
注意:假设你的中继服务器也就是现在在操作的服务器 IP 是 1.1.1.1 ,那么你的 中继端口 就是 2333 。你的 被中继服务器的 IP 是 12.12.12.12 ,端口是 6666 。
这时候你的 Shadowsocks客户端 填写信息的时候 IP 就是 1.1.1.1 ,端口 就是 2333 。
所以原理就是:
Shadowsocks客户端通过 1.1.1.1:2333 链接中继服务器 1.1.1.1 ,然后中继服务器把端口 2333 的流量转发到 被中继服务器 12.12.12.12 的端口 6666 上面。然后 被中继服务器 也就是上面的 Shadowsocks服务端,就会去访问你要的数据,最后依次返回 中继服务器 -> Shadowsocks客户端。
其他问题
如果你设置后无法链接,那么多半是防火墙 阻拦了,只要开放端口 就行了:
以上面的 示例的中继端口 2333 为例。
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 2333 -j ACCEPT
iptables -I INPUT -m state --state NEW -m udp -p udp --dport 2333 -j ACCEPT
# 如果要删除端口开放规则,只需要把 -I 改成 -D 即可。
iptables -D INPUT -m state --state NEW -m tcp -p tcp --dport 2333 -j ACCEPT
iptables -D INPUT -m state --state NEW -m udp -p udp --dport 2333 -j ACCEPT
开机启动
因为这个工具并没有开机启动的设定,所以需要设置系统的开机启动。
Centos系统:
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
Ubuntu/Debian系统:
chmod +x /etc/rc.local
vi /etc/rc.local
项目地址:https://github.com/wangyu-/tinyPortMapper/
首先建立并进入文件夹(假设你当前目录是 /root ,那么 tinyPortMapper的目录就是 /root/tinyPortMapper ):
mkdir tinyPortMapper && cd tinyPortMapper
然后获取最新的版本号:
tinyPortMapper_ver=$(wget -qO- "https://github.com/wangyu-/tinyPortMapper/tags"| grep "/wangyu-/tinyPortMapper/releases/tag/"| head -n 1| awk -F "/tag/" '{print $2}'| sed 's/\">//') && echo ${tinyPortMapper_ver}
执行完后会输出获取的最新版本号,比如 20171112.0这样的日期格式,如果返回是空或者其他错误的内容,那么就代表获取失败。
获取失败的情况请去 Github 获取最新的版本号,例如 20171112.0,然后执行 tinyPortMapper_ver=20171112.0(自己替换版本号)即可继续下面的下载步骤。
wget -N --no-check-certificate "https://github.com/wangyu-/tinyPortMapper/releases/download/${tinyPortMapper_ver}/tinymapper_binaries.tar.gz"
# 解压下载的压缩包
tar zxvf tinymapper_binaries.tar.gz
# 然后你需要判断一下VPS的位数,运行 uname -m 会输出VPS的位数,如果显示 x86_64 则是64位,如果显示 386/i386/686/i686 这四个之一,则是32位。
# x86_64,64位运行:
mv tinymapper_amd64 tinymapper
# 386/i386/686/i686 四个之一,32位运行:
mv tinymapper_x86 tinymapper
# 删除无用的压缩包和其他平台文件。
rm -rf version.txt
rm -rf tinymapper_*
rm -rf tinymapper_binaries.tar.gz
最后只需要赋予一下执行权限即可继续看下面的使用方法了。
chmod +x tinymapper
完整端口转发命令:
nohup ./tinymapper -l 0.0.0.0:2333 -r 12.12.12.12:6666 -t -u > /tmp/tinymapper.log 2>&1 &
解释:
-l 0.0.0.0:2333
指的是 监听本地网卡所有 ipv4地址的端口(2333),也就是 转发的端口。Shadowsocks客户端链接中继服务器时填写这个端口(2333)。
-r 12.12.12.12:6666
指的是 被转发的 IP(12.12.12.12) 和 端口(6666),也就是你要中继的服务器的 IP 和 端口。
注意:这里的 中继端口(2333) 和 被中继端口(6666) 是可以一样的,我区分开只是为了让你们更好地理解。
-t
指的是 转发TCP协议的流量。
-u
指的是 转发UDP协议的流量。
注意:-t TCP和 -u UDP可以只转发其一,都写上参数(-t -u),则代表都转发。
> /tmp/tinymapper.log 2>&1 &
指的是 日志记录到 /tmp/tinymapper.log 这个临时文件夹,每次重启服务器都会清空。如果不想清空可以改成 tinymapper.log (但记得定时清理)。
停止所有端口转发进程:
kill -9 $(ps -ef|grep tinymapper|grep -v grep|awk '{print $2}')
卸载方法
假设 tinyPortMapper 的目录是 /root/tinyPortMapper ,那么:
# 记得先停止所有转发进程
rm -rf /root/tinyPortMapper
简单解释
注意:假设你的中继服务器也就是现在在操作的服务器 IP 是 1.1.1.1 ,那么你的 中继端口 就是 2333 。你的 被中继服务器的 IP 是 12.12.12.12 ,端口是 6666 。
这时候你的 Shadowsocks客户端 填写信息的时候 IP 就是 1.1.1.1 ,端口 就是 2333 。
所以原理就是:
Shadowsocks客户端通过 1.1.1.1:2333 链接中继服务器 1.1.1.1 ,然后中继服务器把端口 2333 的流量转发到 被中继服务器 12.12.12.12 的端口 6666 上面。然后 被中继服务器 也就是上面的 Shadowsocks服务端,就会去访问你要的数据,最后依次返回 中继服务器 -> Shadowsocks客户端。
其他问题
如果你设置后无法链接,那么多半是防火墙 阻拦了,只要开放端口 就行了:
以上面的 示例的中继端口 2333 为例。
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 2333 -j ACCEPT
iptables -I INPUT -m state --state NEW -m udp -p udp --dport 2333 -j ACCEPT
# 如果要删除端口开放规则,只需要把 -I 改成 -D 即可。
iptables -D INPUT -m state --state NEW -m tcp -p tcp --dport 2333 -j ACCEPT
iptables -D INPUT -m state --state NEW -m udp -p udp --dport 2333 -j ACCEPT
开机启动
因为这个工具并没有开机启动的设定,所以需要设置系统的开机启动。
Centos系统:
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
Ubuntu/Debian系统:
chmod +x /etc/rc.local
vi /etc/rc.local
项目地址:https://github.com/wangyu-/tinyPortMapper/
No comments:
Post a Comment