前言
最近碰到一个问题。某客户需要从我们的阿里云服务器上下载文件。我们阿里云服务器上提供下载的服务是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://gpu.xuandashi.com/38792.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!