CentOS5.4安装配置vsftpd
对CentOS防火墙的设置问题,有很多的网友一直存在着不少的疑问,下面,就是我找到设置CentOS防火墙的方法,给大家展示一下。
看了好几个页面CentOS防火墙内容都有错,下面是正确方法:
- #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
- #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
然后保存:#/etc/rc.d/init.d/iptables save 这样重启计算机后,防火墙默认已经开放了80和22端口
对CentOS防火墙设置已经完成了很重要的部分
这里应该也可以不重启计算机:#/etc/init.d/iptables restart防火墙的关闭,关闭其服务即可:查看防火墙信息:#/etc/init.d/iptables status关闭防火墙服务:#/etc/init.d/iptables stop永久关闭?
不知道怎么个永久法:#chkconfig –level 35 iptables off 再查看是否已经有了:
- [root@vcentos ~]# /etc/init.d/iptables status
- Table: filter
- Chain INPUT (policy ACCEPT)
- num target prot opt source destination
- 1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80
- 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
- 3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
- Chain FORWARD (policy ACCEPT)
- num target prot opt source destination
- 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
以后大家就可以这样设置CentOS防火墙了。
在我们使用CentOS系统的时候,CentOS防火墙有时是需要改变设置的。CentOS防火墙默认是打开的,设置CentOS防火墙开放端口方法如下:
打开iptables的配置文件:
vi /etc/sysconfig/iptables
修改CentOS防火墙时注意:一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口
下面是一个iptables的示例:
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT
修改CentOS防火墙需要注意的是,你必须根据自己服务器的情况来修改这个文件。
举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
全部修改完之后重启iptables:
service iptables restart
你可以验证一下是否规则都已经生效:iptables -L
这样,我们就完成了CentOS防火墙的设置修改。
###############FTP无法显示列表####################################
Linux服务器上安装ftp提供用户上传下载,是很方便的事情,但是如果你的服务器
开启了iptables防火墙,就要对ftp端口做一些设置。
我之前也做过iptables允许某个端口访问的视频,为什么还要做ftp端口这个演示?
因为ftp端口真的比较特殊,并不像80,22这些端口。
它分为连接用的端口,还有当你上传下载文件的传输数据用的端口。
好下面我边演示,边讲下它如何的特别。
netstat -tnl 命令可以看到,我们现在运行了ftp服务。
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
================
[root@localhost root]# iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22
我这里现在只允许 22 端口的访问。
现在我开始对ftp端口的设置,按照我们以前的视频,添加需要开放的端口
ftp连接端口有2个 21 和 20 端口,我现在添加对应的规则。
好,这样就添加完了,我们用浏览器访问一下ftp,出现超时。
所以我刚才说 ftp 是比较特殊的端口,它还有一些端口是 数据传输端口,
例如目录列表, 上传 ,下载 文件都要用到这些端口。
而这些端口是 任意 端口。。。 这个 任意 真的比较特殊。
如果不指定什么一个端口范围, iptables 很难对任意端口开放的,
如果iptables允许任意端口访问, 那和不设置防火墙没什么区别,所以不现实的。
那么我们的解决办法就是 指定这个数据传输端口的一个范围。
下面我们修改一下ftp配置文件。
我这里使用vsftpd来修改演示,其他ftp我不知道哪里修改,大家可以找找资料。
在配置文件的最下面 加入
然后保存退出。
这两句话的意思告诉vsftpd, 要传输数据的端口范围就在30001到31000 这个范围内传送。
这样我们使用 iptables 就好办多了,我们就打开 30001到31000 这些端口。
最后进行保存, 然后我们再用浏览器范围下 ftp。可以正常访问