iptables是linux下的防火墙,同时也是服务名称。
service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
防火墙开放特定端口:
①文件/etc/sysconfig/iptables
②添加:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
★数字8080代表开放8080端口,也可以改成其他的端口
★
③重启防火墙
================================================================
保存对防火墙的设置
serivce iptables save
查看iptables规则及编号
iptables -nL --line-number
关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
只打开22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
参数讲解:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
禁止某个IP访问
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
–s 参数是来源(即192.168.1.2)
后面拒绝就是DROP
删除规则
iptables -D INPUT 2
删除INPUT链编号为2的规则
添加信任端口
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可
>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
>/etc/init.d/iptables save
>service iptables restart
或者修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
注意:
3690是SVN的端口号,做例子使用
即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
查看防火墙
看端口号
tcp类的:
netstat -ntpl
udp类的:
netstat -nupl
看信任的服务
iptables -L
FTP服务器连不上
500 OOPS:cannot change directory seLinux的问题
查询selinux
sestatus -b |grep ftp
开启选中项
setsebool -P ftp_home_dir 1
重新启动vsftpd
service vsftpd restart
连上之后无法显示文件夹 iptables仅仅开放了80,21等正常的端口,导致了vsftpd在被动模式时无法使用随机端口,从而导致客户端链接FTP时出现这种问题
解决:
给vsftpd增加随机端口,把这些端口加入到iptables中
pasv_min_port=2000
pasv_max_port=3000
重启ftp服务
service vsftpd restart
添加防火墙规则
iptables stop iptables -I INPUT -p tcp -d port 2000:3000 -j ACCEPT
重启iptables
iptables save
iptables start