1、iptables -t -L -n
-t指定表格
-L 显示目前表格的规则
-n 数字显示
2、iptables-save
以命令方式显示规则
3、清除清空filter从头制定规则
ipatables -F 清除已经定义
iptables -X 清除自定义链
iptables -z 清除链统计和计数
4、设定默认规则,当所有规则不匹配则执行默认策略
iptables -t filter -P INPUT ACCEPT/REJECT/DROP
5、规则参数含义
iptable -t tablename
-A/I 给链追加到尾部或插入规则到首部
-i 针对来源于某个物理端口的数据包
-o 针对从某个物理端口发出的数据包
-p 协议,针对某个协议的数据包
-s 针对来源于IP/网络的数据包
-d 针对发往目的IP/网络的数据包
-j 规则匹配后,将要执行的动作
--sport 1024:65535 针对来源端口范围的数据包 ,必须与-p标志配合使用,-p tcp/udp ,只有tcp/udp协议才有端口,参数值还可以是知名服务名称 比如ssh
--dport 1024:65535 针对目的端口范围的数据包 ,必须与-p标志配合使用,-p tcp/udp ,只有tcp/udp协议才有端口,参数值还可以是知名服务名称 比如ssh
--syn 性质是主动发起连接的数据包
一般情况下,我们可以丢弃小于1023端口的主动连接,因为一般小于1023的端口都是作为服务存在,如果一个服务主动对外发起连接,就可能存在问题了
-m state 外挂规则
-m state --state INVALID/ESTABLISHED/RELATED(表示主机发出请求回来的响应包)
-m mac --mac-source ----局域网的路由器可以这样限制网内的某台主机 ,MAC不能跨网络。
6、常见示例
1)禁止掉 icmp 8类型的ping探测
iptables -A INPUT -p icmp --icmp-type 8 -j A DROP 一般局域网路由器不要设置,因为客户需要测试网络问题,个人主机可以设置。
2)个人客户机器的防火墙设置
A、iftables -F clear all
B、filter INPUT默认策略是DROP
C、开放主动请求的回应
-m state --state RELATED -j ACCEPT
D、本地lo的端口完全开放
iptables -I INPUT -i lo -j ACCEPT
3)拒绝服务攻击
A、启用内核的防护,但不建议在高负载的服务器上使用,因为客户对响应要求高。可以自用自动探测来动态添加防火墙规则。
内核参数:/proc/sys/net/ipv4/tcp_syncookies 为1
4)拒绝广播ping /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 为1
拒绝所有ping iptables -A INPUT -p icmp --icmp-type 8 -j A DROP
5) 34设置可以通过配置文件实现永久设置
/etc/sysctl.conf
sysctl -p 即时生效加载配置