如何将FTP默认端口更改为自定义端口

时间:2020-03-21 11:48:05  来源:igfitidea点击:

在我们以前的教程中,我们看到了如何更改Apache Web Server默认端口。
在本教程中,我们将学习如何在Linux中更改FTP默认端口。

将FTP默认端口更改为自定义端口

确保已安装VSFTPD服务器并运行其服务。

然后编辑VSFTPD配置文件并更改如下所述的默认端口。

在Debian/Ubuntu:

编辑/etc/vsftpd.conf文件,

$sudo vi /etc/vsftpd.conf

在Rhel/CentOS/Fedora/Scientific Linux上:

编辑/etc/vsftpd/vsftpd.conf文件,

$sudo vi /etc/vsftpd/vsftpd.conf

找到以下行。
如果找不到,请添加它。

listen_port=21

并将FTP默认端口21更改为自定义端口,例如210.

listen_port=210

保存并关闭文件。
重新启动VSFTPD服务以生效更改。

在Rhel/CentOS/Scientific Linux系统中,确保在SELinux和防火墙中封锁端口号210.

$sudo semanage port -a -t ftp_port_t -p tcp 210

如果找不到SemaNage命令,请安装以下包:

$sudo yum install policycoreutils-python

通过防火墙允许端口210执行以下步骤。

在Rhel 7/CentOS 7/Scientific Linux 7:

$sudo firewall-cmd --permanent --add-port=210/tcp
$sudo firewall-cmd --reload

在Rhel 6/CentOS 6/Scientific Linux 6:

$sudo vi /etc/sysconfig/iptables

并添加新的自定义端口线:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 210 -j ACCEPT

保存并退出文件并重新启动iptables服务。

$sudo service iptables restart

最后重新启动VSFTPD服务。

$sudo systemctl restart vsftpd

或者

$sudo service vsftpd restart

现在使用命令验证端口:

$sudo netstat -tulpn | grep :210

示例输出:

tcp6       0      0 :::210                  :::*                    LISTEN      2610/vsftpd

如果在CentOS/RHEL中找不到NetStat命令,请安装以下包。

$sudo yum install net-tools

现在,我们可以使用URL访问所有客户端的FTP服务器:FTP <FTP-Server-IP> <端口号>

例子:

$ftp 192.168.1.150 210

其中192.168.1.150是我的FTP服务器的IP地址,210是FTP自定义端口。

示例输出:

Connected to 192.168.1.150 (192.168.1.150).
220 (vsFTPd 3.0.2)
Name (192.168.1.150:root): theitroad
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

在上面的输出中看到,我们使用自定义端口210访问了FTP服务器。
我们可以使用我们选择的任何端口号。
但是,只需确保任何其他服务不使用自定义端口。

使用FTP客户端或者Web浏览器访问FTP服务器

类似于CLI方法,我们需要在通过FTP客户端或者Web浏览器访问FTP服务器时提及自定义端口号。

打开FTP客户端,例如FileZilla,以及在相应字段中输入用户名,密码和自定义端口,然后单击"连接"按钮。

要从浏览器访问FTP服务器,必须是:

FTP://<IP-Address>:<port-number>

或者

ftp://<登录名>:<password> @ ip-address:<port-number> /