当前位置:首页 > VPS教程 > 正文内容

linux vps端口转发一键脚本

23vps3年前 (2022-06-03)VPS教程1273

什么是端口转发?为什么要转发?

准确来讲叫流量转发,因为流量是基于端口的,所以一般称为端口转发。

阿里云限量代金券 | 此广告位出租25元/月


比如电信到伯力很差,我买了个上海联通鸡做转发,那么就是

电信->联通:1200->伯力:4900,那么我访问联通的1200端口,等于访问伯力的4900端口

转发还可以用于公网frp,反代网站等用途


用什么转发?

推荐iptables或者firewalld,都是内核级别的转发,性能损耗极少。

如果用gost/brook等第三方工具转发,流量大或者连接数过多的时候cpu和负载压力变大,对于nat小鸡特别不友好。


但是无论是iptables还是firewalld这种内核命令对没有任何网络基础的新手用户来说太复杂了,下面推荐个vps端口转发一键脚本。


准备工作

centos7,默认使用firewalld,需要切换到iptables,将firewalld停掉。

查看firewalld状态

systemctl status firewalld

如果是活动状态就把它停掉

systemctl stop firewalld

关闭firewalld自启

systemctl disable firewalld

如果你是debian那可能无需这个准备工作,但是你要开启内核级别转发,请按下面操作:

基于iptables转发(适用于centos7,debian8)

#先安装iptables,debian换成 apt-get install

yum install -y iptables
yum install -y iptables-services

#开机启动

systemctl start iptables
systemctl enable iptables

#查看服务状态,显示绿色active就可以了

service iptables status

#避免不必要的麻烦所以要备份iptables规则

cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak

iptables-save > /etc/sysconfig/iptables.bak

恢复命令

iptables-restore < /etc/sysconfig/iptables.bak

#清空所有防火墙规则,避免因端口没开造成影响

iptables -F
iptables -X


到这里就准备工作结束,下面使用下面这个转发脚本

这是知名的转发脚本,支持debian和centos,这个脚本是帮你一键执行iptables命令,还是调用iptables,非第三方转发软件,支持ddns,感谢arloor   https://github.com/arloor/iptablesUtils

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

FB2F8302-2DCD-4DA5-BF08-775685BD4F70.jpeg

注意:有安装宝塔面板的vps安装iptables后会导致宝塔自带firewalld防火墙关闭,请重启iptables后手动放行网站80,443,8888端口

#删除转发端口后要重启iptables服务才能真正生效

systemctl restart iptables

#查看firewalld防火墙状态并关闭firewalld自启(这样做是为了确保宝塔不会再次把firewalld作为默认防火墙)

systemctl status firewalld

关闭firewalld自启

systemctl disable firewalld

#改用iptables放行网站和宝塔端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 443 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

#保存iptables规则

iptables-save > /etc/sysconfig/iptables

#查看已开放端口

iptables -L -n

这里我们会发现通过脚本增加的端口不会出现在这里,脚本作者考虑到了这一点,这样就防止我们管理自己网站端口时看起来凌乱了。

#删除已开放端口

比如我现在有 2 个相同的端口,我想删除一个:

C10F2C8F-F83D-4D57-A285-2269DC06434C.jpeg

可以用这个命令删除第二行的端口

iptables -D INPUT 2

结果:

8EB531F3-559F-4E6B-B7D7-99F20C2A38AB.jpeg

最后再保存一次规则

iptables-save > /etc/sysconfig/iptables


最后主机哥提醒:这个脚本好像有bug,第一次添加端口转发后要删除再重新添加才有效果。

本网站由提供服务

扫描二维码推送至手机访问。

版权声明:本文由主机测评网发布,如需转载请注明出处。

本文链接:https://23vps.com/post/12.html

分享给朋友:

“linux vps端口转发一键脚本” 的相关文章

Ubuntu关闭防火墙命令

手动关闭ubuntu防火墙命令sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P ...

windows vps端口转发命令

windows vps端口转发命令

在Windows系统中,从XP开始就内嵌了一个设置网络端口转发的功能。依靠这个功能,任何到本地端口的TCP连接(ipv4或者ipv6)都能够被转发到任意一个本地端口,甚至是远程主机的某个端口。这种配置方法适用于windows的任意版本。转发命令如下netsh interface ...

linux vps服务器运行python程序时提示python: command not found解决方法

给vps dd完debian10系统在运行python程序的时候提示这个错误root@srv1634123456:~# python client-linux.py -bash: python: command not found解决办法...

测试linux vps基础信息io和网络:SuperBench

测试linux vps基础信息io和网络:SuperBench

可测试linux vps基础信息io及网络,第一次运行需等待半分钟左右wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbenc...

linux vps没有wget命令解决

linux vps没有wget命令会提示:-bash: wget: command not foundlinux vps解决没有wget命令的方法:debian系统apt-get -y update apt-get instal...

消耗VPS流量命令

主机哥闲着无聊写了一个流量消耗命令,运行这个命令后可以把VPS流量全部都消耗光!这样不仅仅是无聊,而是一定程度上可以测试出主机商是否能否长期跑带宽,因为有些主机商会在你带宽持续占用一定时间后限制你的速度。此脚本适合所有linux vps系统使用方法:安装screen命令apt-get is...