阿里云服务器配置端口转发
文章目录
- 前言
- 第一步 配置阿里云安全组
- 第二步 打开防火墙
- 第三步 配置防火墙开放端口
- 第四步 配置防火墙端口转发
- 第五步 防火墙重新加载配置
前言
最近碰到一个问题,某客户需要从我们的阿里云服务器上下载文件,我们阿里云服务器上提供下载的服务是ftp,端口是默认的21端口,但是客户那边死活下不下来。测试一通后发现,客户那边似乎是禁止了对外网21端口的访问,但是可以访问外网的其他端口。于是想到了用端口转发的方式,尝试在云端做11121端口转发到21端口,该客户访问云端的11121端口下载文件,不影响正在使用ftp服务的其他人。
其实Linux系统的iptables和firewalld防火墙都具备端口转发的功能,但是由于阿里云本来就有安全组的配置,我们服务器上的防火墙就没有启动了。
第一步 配置阿里云安全组
通过阿里云控制台,把11121端口加到安全组中,这一步的作用是允许访问云端的11121端口。没有这一步的话,其他机器是连接不到云端的11121端口的。只配11121是因为其他正在用的端口是以前就已经配置过了。
控制台–>实例–>安全组,然后选择具体的安全组进去,
进去之后手动添加–>添加端口–>添加源–>保存
这样,阿里云的安全组就配置完成了。
第二步 打开防火墙
云服务器操作系统是CentOS7,自带的防火墙服务是firewalld,直接用
systemctl start firewalld
命令就可以了,当然,得有超级用户权限,用root用户操作。
使用 systemctl status firewalld 查看防火墙状态,上图中绿字active (running)就是防火墙正在运行了。
第三步 配置防火墙开放端口
我这里防火墙打开的时候默认ssh服务是允许的,还需要将云服务器对外提供服务的端口都开放,我们对外开放的端口只有21、80、8080和8090。使用命令:
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8090/tcp --permanent
依次将用到的端口开放,–permanent的作用是使策略永久生效,没有此参数重启后失效。
第四步 配置防火墙端口转发
以下命令将11121端口的流量转到21端口:
firewall-cmd --add-forward-port=port=11121:proto=tcp:toport=21 --permanent
第五步 防火墙重新加载配置
以下命令重新加载防火墙配置:
firewall-cmd --reload
当然也可以systemctl restart firewall,直接重启防火墙。
至此全部配置完成,以下命令
firewall-cmd --list-all
查看状态:
参考文章:
https://blog.csdn.net/GMingZhou/article/details/78090963
https://wangchujiang.com/linux-command/c/firewall-cmd.html