服务器流量中转(转载)

发布于 2019-08-23  267 次阅读


Socat一键安装脚本,可转发TCP和UDP流量

系统要求:支持CentOS 6+ 、Debian 7+Ubuntu 14+
脚本说明:脚本默认开启UDPTCP转发,带开机自启功能,且一次只能转发单个端口,如果想转发多个端口请重复运行本脚本。
提示:该脚本在Vultr各个系统均测试通过,包括最新的Ubuntu 18.04,如果有其它问题可以留言。

使用root运行以下命令:

wget https://www.moerats.com/usr/shell/socat.sh && bash socat.sh

按要求输入以下信息:

#如果你要用本地服务器的3333端口转发IP为1.1.1.1服务器的6666端口,那就依次填入指定参数。
请输入本地端口:3333
请输入远程端口:6666
请输入远程IP:1.1.1.1

如需删除转发端口可编辑/etc/rc.local文件



皮老板的一键脚本

wget -N --no-check-certificate https://www.pqs.pw/script/restart-brook-pf.sh -O /home/restart-brook-pf.sh && chmod +x /home/restart-brook-pf.sh &&  (crontab -l ; echo "* */12 * * * /home/restart-brook-pf.sh") | crontab

iptables-pf.sh

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh


iptables设置端口转发的shell脚本 (Github)

支持转发到ddns域名、支持udp转发,但不支持端口段转发

wget -qO natcfg.sh https://raw.githubusercontent.com/arloor/iptablesUtils/master/natcfg.sh && bash natcfg.sh

输出如下:

用途: 便捷的设置iptables端口转发
注意1: 到域名的转发规则在添加后需要等待2分钟才会生效,且在机器重启后仍然有效
注意2: 到IP的转发规则在重启后会失效,这是iptables的特性

你要做什么呢(请输入数字)?Ctrl+C 退出本脚本
1) 增加到域名的转发      3) 增加到IP的转发        5) 列出所有到域名的转发
2) 删除到域名的转发      4) 删除到IP的转发        6) 查看iptables转发规则
#? 

此时按照需要,输入1-6中的任意数字,然后按照提示即可



iptables设置端口转发的shell脚本(Github)

很多玩VPS的人都会有设置端口转发、进行中转的需求,在这方面也有若干种方案,比如socat、haproxy、brook等等。他们都有一些局限或者问题,比如socat会爆内存,haproxy不支持udp转发。

我比较喜欢iptables。iptables利用linux的一个内核模块进行ip包的转发,工作在linux的内核态,不涉及内核态和用户态的状态转换,因此可以说是所有端口转发方案中性能最好、最稳定的。但他的缺点也显而易见:只支持IP、需要输入一大堆参数。本项目就是为了解决这些缺点,让大家能方便快速地使用最快、最稳定的端口转发方案。

脚本功能优势限制
iptables.sh1. 快速方便地设置本机到目标域名/IP的iptables转发

2. 仅需输入本地端口号、目标端口号、目标域名/IP即可
1. 原生iptables仅支持ip,该脚本支持域名并

2. 另外,仅需要用户输入三个参数,避免了复杂地手动调用过程
不能处理ddns(域名解析地ip地址会改变的情况)。

处理ddns请使用下面两栏介绍的脚本
setCroniptablesDDNS.sh设置到ddns域名的动态转发规则能正确处理目标域名对应的IP会变的情况(ddns)只适用于centos系统
setCroniptablesDDNS-debian.sh同上同上只适用于debain系统
rmPreNatRule.sh删除本机某端口上的iptables转发规则仅需要输入端口号即可

用法

iptables.sh

wget -O iptables.sh https://raw.githubusercontent.com/arloor/iptablesUtils/master/iptables.sh;bash iptables.sh

输出如下:

本脚本用途:
设置本机tcp和udp端口转发
原始iptables仅支持ip地址,该脚本增加域名支持(要求域名指向的主机ip不变)
若要支持ddns,请使用
https://raw.githubusercontent.com/arloor/iptablesUtils/master/setCroniptablesDDNS.sh;
local port:8388
remote port:1234
target domain/ip:xxx.com
target-ip: xx.xx.xx.xx
local-ip: xx.xx.xx.xx
done!

setCroniptablesDDNS.sh

适用于centos系

wget -O setCroniptablesDDNS.sh https://raw.githubusercontent.com/arloor/iptablesUtils/master/setCroniptablesDDNS.sh;bash setCroniptablesDDNS.sh
#local port:80
#remote port:58000
#targetDDNS:xxxx.example.com
#done!
#现在每分钟都会检查ddns的ip是否改变,并自动更新

setCroniptablesDDNS-debian.sh

适用于debain系

wget -O setCroniptablesDDNS-debian.sh https://raw.githubusercontent.com/arloor/iptablesUtils/master/setCroniptablesDDNS-debian.sh;bash setCroniptablesDDNS-debian.sh

rmPreNatRule.sh

wget -O rmPreNatRule.sh https://raw.githubusercontent.com/arloor/iptablesUtils/master/rmPreNatRule.sh;bash rmPreNatRule.sh $localport
IT探索者,版权所有丨如未注明,均为原创丨网站使用4.0 国际许可协议进行授权,转载请注明转自:http://www.maleisiyin.online/482.html

星际时间旅行者: 流浪于宇宙深处,寻找究极答案。