Contents

ARST打卡第三周(3/521)

Algorithm

https://github.com/wolfdan666/WolfEat3moreMeatEveryday/tree/master/history_practice/2019.5/2019.5.9

Review

https://medium.com/s/freakonomicsradio/the-1-5-trillion-question-how-to-fix-student-loan-debt-39125449af44

美国大学生确实有很高的债务,怪不得他们大学拼命学习 我们国家大学学费真的很良心了,所以得好好珍惜啊 不过自己的青春时光也很珍贵,所以也要在大学拼命学习

Tips

制作了一个番茄时钟 https://blog.csdn.net/qq_38190111/article/details/89044299#commentsedit

Share-CentOS开启Ftp

注意:我是在CentOS6操作的,CentOS7的重启操作是

systemctl restart vsftpd.service

分析:(很急的观众老爷可以直接看最后面的操作)

Linux服务器上安装ftp提供用户上传下载,是很方便的事情,但是如果你的服务器开启了iptables防火墙,就要对ftp端口做一些设置。

ftp端口真的比较特殊,并不像80,22这些端口。它分为连接用的端口,还有当你上传下载文件的传输数据用的端口。

netstat -tnl 命令可以看到,我们现在运行了ftp服务。

tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN

现在我开始对ftp端口的设置,按照我们以前的视频,添加需要开放的端口

ftp连接端口有 21 和 20 端口,21端口用于连接,20端口用于传输数据,我现在添加对应的规则。

1
2
3
4
[root@localhost root]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@localhost root]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
[root@localhost root]# iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
[root@localhost root]# iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

好,这样就添加完了,我们用浏览器访问一下ftp,出现超时。

所以我刚才说 ftp 是比较特殊的端口,它还有一些端口是 数据传输端口, 例如目录列表, 上传 ,下载 文件都要用到这些端口。

而这些端口是 任意 端口。。。 这个 任意 真的比较特殊。

如果不指定什么一个端口范围, iptables 很难对任意端口开放的,如果iptables允许任意端口访问, 那和不设置防火墙没什么区别,所以不现实的。

那么我们的解决办法就是 指定这个数据传输端口的一个范围。 下面我们修改一下ftp配置文件。

我这里使用vsftpd来修改演示,其他ftp我不知道哪里修改,大家可以找找资料。

1
[root@localhost root]# vi /etc/vsftpd/vsftpd.conf

在配置文件的最下面添加

1
2
pasv_min_port=30001
pasv_max_port=31000

然后保存退出。

这两句话的意思告诉vsftpd, 要传输数据的端口范围就在30001到31000 这个范围内传送。

这样我们使用 iptables 就好办多了,我们就打开 30001到31000 这些端口。

1
2
3
[root@localhost root]# iptables -A INPUT -p tcp --dport 30001:31000 -j ACCEPT
[root@localhost root]# iptables -A OUTPUT -p tcp --sport 30001:31000 -j ACCEPT
[root@localhost root]# service iptables save

最后进行保存, 然后我们再用浏览器范围下 ftp。可以正常访问

https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/ARST/ARST3/image-2.png

1
2
vi /etc/vsftpd/vsftpd.conf
service vsftp restart 

https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/ARST/ARST3/image-3.png

service iptables restart

操作

先对vsftpd服务配置进行操作

vi /etc/vsftpd/vsftpd.conf

在文末添加

1
2
pasv_min_port=30001
pasv_max_port=31000

重启服务CentOS6:

service vsftp restart

重启服务CentOS7: systemctl restart vsftpd.service

再对iptables进行配置: vi /etc/sysconfig/iptables 找到一个位置,然后粘贴配置:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#easy ftp
 -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
 -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
 -A INPUT -p tcp --dport 30001:31000 -j ACCEPT
 -A OUTPUT -p tcp --sport 30001:31000 -j ACCEPT

#下面是bloger尝试但失败的配置,可以不用管,不用复制
# hard ftp,safer but failed
# allow all ftp incoming connections
 #-A INPUT -p tcp --dport 21 -m state --state ESTABLISHED -j ACCEPT
# -A OUTPUT -p tcp --sport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
 #Enable active ftp transfers
 #-A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
 #-A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT
# Enable passive ftp transfers
# -A INPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
# -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

重启服务CentOS6: service iptables restart

重启服务CentOS7: systemctl restart iptables