Linux防火墙配置方法
1)查看防火墙状态
查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
重启防火墙:
/etc/init.d/iptables restart
启动防火墙:
/etc/init.d/iptables start
2)重启后生效 (设置后需重启服务器)
开启: chkconfig iptables on
关闭: chkconfig iptables off
3) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
2、Linux安装防火墙
1、安装防火墙
1)yum install iptables(centos) 安装IPtables服务 yum install iptables-services
2)清楚规则
iptables -F iptables -X iptables -Z
3)端口放行
(1)允许访问22端口:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
(2)允许访问80端口:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
(3)允许访问8080端口:
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
4)消息出站放行:
iptables -P OUTPUT ACCEPT
5)屏蔽端口:
iptables -A INPUT -p tcp --dport 8080 -j DROP \\ iptables -A OUTPUT -p tcp --sport 80 -j DROP
6)屏蔽ip:
iptables -I INPUT -s IP地址 -j DROP
7)删除已添加的规则:
将所有规则以序号标记显示:
iptables -L -n --line-numbers
比如删除序号为8的规则:
iptables -D INPUT 8
8)开启防火墙:
service iptables start
9)重启防火墙:
service iptables restart
2、映射端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
其他防火墙配合命令:
查看iptables现有规则
iptables -L -n
先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
清空所有默认规则
iptables -F
清空所有自定义规则
iptables -X
所有计数器归0
iptables -Z
允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
开放80端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
其他入站一律丢弃
iptables -P INPUT DROP
所有出站一律绿灯
iptables -P OUTPUT ACCEPT
所有转发一律丢弃
iptables -P FORWARD DROP
如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
过滤所有非以上规则的请求
iptables -P INPUT DROP
要封停一个IP,使用下面这条命令
iptables -I INPUT -s ***.***.***.*** -j DROP
要解封一个IP,使用下面这条命令
iptables -D INPUT -s ***.***.***.*** -j DROP