允许某个端口
[root@CentOS7 ~]# iptables -I INPUT 3 -s 192.168.47.71 -p tcp --dport 80 -j ACCEPT
[root@CentOS7 ~]# iptables -I INPUT 3 -s 192.168.47.71 -p tcp --dport 3306 -j ACCEPT
匹配第一次握手
[root@CentOS7 ~]# iptables -I INPUT 5 -s 192.168.47.72 -j ACCEPT
[root@CentOS7 ~]# iptables -I INPUT 5 -s 192.168.47.72 -p tcp --syn -j ACCEPT
能ping通其他主机,其他主机不能ping通自己
[root@CentOS7 ~]# iptables -I INPUT 5 -p icmp --icmp-type 0 -j ACCEPT
8 请求报文
0 回应报文
加载模块
yum install samba -y
systemctl start smb
useradd -s /sbin/nologin smb1;smbpasswd -a smb1
[root@CentOS7 ~]# iptables -I INPUT 5 -p tcp -m multiport --dports 139,445 -j ACCEPT
smbclient -L 192.168.47.70 -U smb1%123
smbclient //192.168.47.70/smb1 -U smb1%123
通过mac地址允许访问
[root@CentOS7 ~]# iptables -I INPUT 5 -m mac --mac-source 00:50:56:20:b1:11 -j ACCEPT
设置访问信息中带某个字符的规则
[root@CentOS7 ~]# iptables -A OUTPUT -p tcp --sport 80 -m string --algo bm --string "google" -j REJECT
设置某个时间段的规则
[root@CentOS7 ~]# iptables -I INPUT 3 -m time --timestart 1:00 --timestop 10:00 -j ACCEPT
对访问限定次数
[root@CentOS7 ~]# iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 100 -j REJECT
限制速度
[root@CentOS7 ~]# iptables -I INPUT 2 -p icmp --icmp-type 8 -m limit --limit 20/minute --limit-burst 10 -j ACCEPT
老用户允许连接,新用户不允许
[root@CentOS7 ~]# iptables -I INPUT 3 -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
state扩展
yum install vsftpd -y
systemctl start vsftpd
手动加载模块
modprobe nf_conntrack_ftp
[root@CentOS7 ~]# iptables -I INPUT 3 -p tcp --dport 21 -j ACCEPT
[root@CentOS7 ~]# iptables -I INPUT 3 -m state --state ESTABLISHED,RELATED -j ACCEPT
记录日志
[root@CentOS7 ~]# iptables -I INPUT 3 -s 192.168.47.72 -j LOG --log-prefix "from :47.71 access:"
[root@CentOS7 ~]# tail -f /var/log/messages
保存与恢复
[root@CentOS7 ~]# iptables-save > /data/rule.txt
[root@CentOS7 ~]# iptables -F
[root@CentOS7 ~]# iptables-restore < /data/rule.txt
写到配置文件中,开机自动加载
[root@CentOS7 ~]# chmod +x /etc/rc.d/rc.local
[root@CentOS7 ~]# vim /etc/rc.d/rc.local
iptables-restore < /data/rule.txt
方法2
yum install iptables-services -y
iptables-services与firewalld有冲突
systemctl start iptables
规则存放位置:
cat /etc/sysconfig/iptables
可保存规则:
service iptables save (centos6)
设置开机启动
chkconfig iptables on