iptables防火墙
CentOS6:
service iptables {start|stop|restart|status}
start:读取事先保存的规则,并应用到netfilter上
stop:清空netfilter上的规则,以及还原默认策略等
status:显示生效的规则
restart:清空netfilter上的规则,再读取事先保存的规则,并应用到netfilter上;
CentOS7:
systemctl start|status|stop|restart|disable firewalld.service
装完系统一定最好关掉,禁止开机启动,用iptables管理,这个太麻烦
最后启动的脚本/etc/rc.d/rc.local
[root@yph7 ~]# iptables -N mychain 添加链
[root@yph7 ~]# iptables -L n 查看
[root@yph7 ~]# iptables -X mychain 删除链
-F:默认清空整张表的所有链
清空nat表的prerouting链
[root@yph7 ~]# iptables -t nat -F PREROUTING
禁止访问,用filter表,IP为网段的话用172.16.0.0/16
[root@yph7 ~]# iptables -t filter -A INPUT -s 172.16.59.20 -d 172.16.59.10 -j DROP
[root@yph7 ~]# iptables -t filter -L -n
[root@yph7 ~]# iptables -t filter -L -n --line-numbers -v
Chain INPUT (policy ACCEPT 293 packets, 22875 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DROP all -- * * 172.16.59.20 172.16.59.10
policy ACCEPT:表示默认就算不指明也是允许的
num:规则编号
pkts:规则匹配到的报文个数
bytes:所有报文大小
target:处理动作
prot:协议
opt:选项
in:从哪个网卡进来
out:从哪个网卡出去
source:源IP
destination:目的地
[root@yph7 ~]# watch -n1 'iptables -t filter -L -n -v'
然后拿172.16.59.20主机ping此主机,会发现pkts一直增加[root@y7-2 ~]# hping --faster 172.16.59.10
修改链,修改序列号为1的链为:
[root@yph7 ~]# iptables -t filter -R INPUT 1 -s 172.16.59.20 -d 172.16.59.10 -p icmp -j REJECT
只拒收来自172.16.59.20的IP的icmp协议,但tcp协议正常
功能:
filter:过滤,防火墙;
nat:netword address translation:用于修改源IP或目标IP,也可以改端口
mangle:拆解报文,作出修改,并重新封装
raw:关闭nat表上启用的连接追踪功能
功能<--链
raw: PREROUTING OUTPUT
mangle: PREROUTING INPUT FORWARD OUTPUT POSTROUTING
nat: PREROUTING [INPUT] OUTPUT POSTROUTING
filter: INPUT FORWARD OUTPUT
链---功能
PREROUTING:raw mangle nat
INPUT: mangle filter
FORWARD: mangle filter
OUTPUT: raw mangle nat filter
POSTROUTING: mangle nat
报文流向:
流入本机:PREROUTING --> INPUT
由本机流出:OUTPUT --> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING
添加规则时的考量点
1、要实现的功能:判断添加到哪张表上
2、报文流经的路径:判断添加到哪条链上
链上的规则次序,即为检查次序;
1、同类规则(访问同一应用),匹配范围小的放上面
2、不同类的规则(访问不同应用),匹配到的报文频率较大的放在上面
3、将那些可由一条规则描述的多个规则合并起来
4、设置默认策略
-t table:
raw ,mangle,nat,[filter]为默认
COMMAND:
链管理:
-N:new,自定义一条新规则连
-X:delete,删除自定义规则连
-P:policy,设置默认策略;对filter表中的链而言,默认策略有
ACCEPT:接受
DROP:丢弃
REJECT:拒绝
-E:重命名自定义链,引用计数不为0时自定义链不能被重命名,也不能被删除
规则管理:
-A:append,追加
-I:insert,插入要指明位置
var kevent = 'onabort|onblur|onchange|onclick|ondblclick|onerror|onfocus|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onresize|onselect|onsubmit|onunload'; var aevent = kevent.split('|'); jQuery('.showContent img').each(function(){ var nimg = this; jQuery.each(aevent, function(i, n){ if (n!='onload') { jQuery(nimg).attr(n, ''); } else { if (jQuery(nimg).attr(n) != 'if(this.width>650) this.width=650;') { jQuery(nimg).attr(n, ''); } } }); });
0人
|
了这篇文章 |