iptables防火墙,一般关闭两项功能
1.selinux(生产中也是关闭的),ids入侵检测
2.iptables(生产中看情况,内网关闭,外网打开)
大并发的情况,不能开iptables,影响性能,一般用硬件防火墙
net.ipv4.ip_forward=0
一、容器:包含或者说属于的关系
二、Netfilter/iptables 的表又是链的容器
表(tables):
1.filter
2.NAT
3.MANGLE
4.RAW
三、链(chains):
1.INPUT 进
2.OUTPUT 出
3.FORWARD 转发
4.PREROUTING 预路由,改目的地址,端口等,可以把80端口转发到内网9000端口
5.POSTROUTING 出去的路由改源地址,源端口等,应用:局域网共享上网。
四、链是规则容器(Policy)
五、一条条过滤的语句
查看表规则
iptables -L -n iptables -L -n -v -x 显示进出方向 iptables -L -n --line-numbers 显示序号
默认加载的内核模块
lsmod | egrep "nat|filter|ipt" 加载如下到内核: modprobe ip_tables modprobe iptable_filter modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_state
清楚默认规则
iptables -F //清除所有规则,不会处理默认的规则。 iptables -X //删除用户自定义的链。 iptables -Z //链的记数器清零。
禁止端口规则
语法: iptables -t [table] -[AD] chain rule-specification [options] iptables -t filter -A INPUT -p tcp --dport 22 -j DROP //添加到链尾,最后一条 iptables -t filter -I INPUT -p tcp --dport 22 -j DROP //添加到链头,第一条 iptables -t filter -I INPUT -p tcp --dport 18:80 -j DROP //封端口范围 iptables -t filter -I INPUT -p tcp -m multiport --dport 18,19,20,21,50 -j DROP //封端口范围 ACCEPT(接受) DROP(丢弃) REJECT(拒绝)
禁止网络状态
匹配网络状态 -m state --state NEW:已经或将启动新的连接 ESTABLISHED:已建立的连接 RELATED:正在启动新连接 INVALID:非法或无法识别的 FTP服务是特殊的,需要配状态连接。 ●7.允许关联的状态包通过(web服务不要使用FTP服务) #others RELATED ftp协议 #允许关联的状态包 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m limit --limit n/{second/minute/hour}:指定时间内的请求速率"n"为速率,后面为时间分别为:秒、分、时 --limit-burst [n]:在同一时间内允许通过的请求"n"为数字,不指定默认为5 fg:本机地址:172.16.14.1,允许172.16.0.0/16网络ping本机,但限制每分钟请求不能超过20,每次并发不能超过6个 iptables -A INPUT -s 172.16.0.0/16 -d 172.16.14.1 -p icmp --icmp-type 8 -m limit --limit 20/min --limit-burst 6 -j ACCEPT ptables -A OUTPUT -s 172.16.14.1 -d 172.16.0.0/16 -p icmp --icmp-type 0 -j ACCEPT
删除端口规则
iptables -t filter -D INPUT -p tcp --dport 22 -j DROP iptables -t filter -D INPUT 1
禁止IP规则
iptables -t filter -I INPUT -p tcp -s 10.10.0.100 -dprot 80 -j DROP //添加到链头,第一条 iptables -t filter -I INPUT 520 -p tcp -s 10.10.0.100 -dprot 80 -j DROP //添加到链头,第520条上 iptables -t filter -A INPUT -i eth0 -s 10.10.0.0/24 -dprot 80 -j DROP //禁止整个网段 iptables -t filter -A INPUT -i eth0 -s 10.10.0.100 -j DROP //禁止IP iptables -t filter -A INPUT -i eth0 ! -s 10.10.0.100 -j DROP //此IP以外的IP,全禁止 iptables -t filter -A INPUT -p icmp --icmp-type 8 -i eth0 -s 10.10.0.0/24 -j DRO //此网段的icmp协议访问,全禁止
生产环境防火墙配置
iptables -F iptables -X iptables -Z iptables -A INPUT -p tcp --dport 22 -s 10.0.0.0/24 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -o lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT #允许合法的进入 iptables -A INPUT -s 124.43.62.96/27 -p all -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT iptables -A INPUT -s 10.0.0.0/24 -p all -j ACCEPT iptables -A INPUT -s 203.83.24.0/24 -p all -j ACCEPT iptables -A INPUT -s 201.82.34.0/24 -p all -j ACCEPT iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #others RELATED ftp协议 #允许关联的状态包 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #默认规则 iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #对外开放服务 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /etc/init.d/iptables save //保存配置
企业iptables面试题:自定义链处理syn攻击
iptables -N syn-flood iptables -A INPUT -i eth0 -syn -j syn-flood iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN iptables -A syn-flood -j DROP
cente7
#查看firewall的状态 firewall-cmd --state # 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop # 查询端口是否开放 firewall-cmd --query-port=8080/tcp # 开放80端口 firewall-cmd --permanent --add-port=80/tcp # 移除端口 firewall-cmd --permanent --remove-port=8080/tcp #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload # 参数解释 1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口; #查看防火墙规则 firewall-cmd --list-all
停留在世界边缘,与之惜别