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

linux vps端口转发一键脚本

23vps2年前 (2022-06-03)VPS教程1069

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

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

阿里云限量代金券 | 此广告位出租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端口转发一键脚本” 的相关文章

在windows或linux vps上生成指定大小文件命令

在linux vps上生成指定大小文件命令dd if=/dev/zero of=1GB.bin bs=1M count=1024这样就生成了一个1GB大小的文件,在服务器生成指定大小文件一般是为了测试磁盘写入性能或者当测速文件用的。在Windows vps上生...

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

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

VPS基础信息及跑分测试脚本

上次主机哥分享过一款测评脚本里其实也带跑分测试,但是主机哥发现在某些VPS跑分测不出来,于是再分享一个脚本。wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh...

CentOS7.6挂载硬盘

主机哥VPS自带一个硬盘没有被挂载,需要手工来挂载,下面方法适用于CentOS7.6系统。查看已挂载的硬盘# 使用 fdisk -l 命令查看所有磁盘信息 [root@ecs-Up5 ~]# fdisk -l Disk&n...

Debian9下磁盘挂载及开机启动设置教程

Debian9下磁盘挂载及开机启动设置教程

检查磁盘空间即剩余情况本文是在实际使用过程中真实操作,用于交流和学习1. 使用fdisk -l命令查看当前磁盘的大小,其中/dev/sda磁盘发现并未使用;使用时,需要切换到root权限   其中,系统默认磁盘是在/dev/sdb1上root@****# fdisk&n...

测试linux vps基础信息io和网络:Bench.sh

测试linux vps基础信息io和网络:Bench.sh

秋水逸冰大佬的写的Bench.sh脚本,主机哥之前分享的测试脚本大多不支持在国内网络下测试,这款脚本是支持国内VPS里测试的。特点显示当前测试的各种系统信息;取自世界多处的知名数据中心的测试点,下载测试比较全面;支持 IPv6 下载测速;IO 测试三次,并显示平均值。使用:wget -qO...