Linux防火墙iptables-基础与编写防火墙规则

建站服务器

Linux防火墙iptables-基础与编写防火墙规则.txt

成都创新互联是一家集网站建设,弓长岭企业网站建设,弓长岭品牌网站建设,网站定制,弓长岭网站建设报价,网络营销,网络优化,弓长岭网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

Linux防火墙基础与编写防火墙规则

https://www.cnblogs.com/L2366/p/9285917.html

linux 防火墙配置规则

https://blog.csdn.net/lemontree1945/article/details/79309273

iptables详解(1)到(14)

https://www.zsythink.net/archives/category/%e8%bf%90%e7%bb%b4%e7%9b%b8%e5%85%b3/iptables/

https://www.cnblogs.com/wanstack/category/1153938.html

linux系统防火墙iptables命令规则及配置的示例

https://blog.whsir.com/post-167.html

Linux系统修改防火墙配置

https://www.cnblogs.com/ixan/p/8243623.html

Linux Centos 7 防火墙配置

https://www.cnblogs.com/su-king/p/9996633.html

RHEL 7.0 修改防火墙配置

https://blog.csdn.net/weixin_30488085/article/details/95228014

https://blog.csdn.net/catoop/article/details/47861583

规则链:规则的集合

五种链:(必须大写)

INPUT:入站

OUTPUT:出站

FORWARD:转发

POSTROUTING:路由后转换

PREROUTING:路由前转换

1)INPUT链:当收到访问防火墙本机地址的数据包(入站),应用此链中的规则。

2)OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则。

3)FORWARD链:当收到需要通过防火墙中转发送给其他地址的数据包(转发)时,应用此链中的规则。

4)PREROUTING链:在对数据包做路由选择之前,应用此链中的规则。

5)POSTROUTING链:在对数据包做路由选择之后,应用此链中的规则。

规则表:规则链的集合

有4个表:

Raw:状态跟踪

Mangle:设置标记

Nat:地址转换

Filter:包过滤

1)filter表:用来对数据包进行过滤,表内包含三个链,即:INPUT,FORWARD,OUTPUT

2)Nat表:nat表主要用来修改数据包的ip地址、端口号等信息。包含三个链,即PREROUTING,POSTROUTING,OUTPUT

3)Mangle表:用来修改数据包的TOS、TTL,或者为数据包设置MARL标记,实现流量整形,策略路由等高级应用,包含五个链,PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD

4)Raw表:用来决定是否对数据包进行状态跟踪,包含两个链:即OUTPUT,PREROUTING

Iptables -t 表名 命令选项 链名 条件选项 -j 控制类型

1)不指定表名,为filter表

2)命令选项、链名、控制类型必须大写,其他必须小写

3)条件选项可以设置多项

命令选项:

-A:追加到末尾

-I:插入(默认插入到第一条)

-L:查看

-D:删除(必须加序号)

-F:清空,但默认策略不清空

-P:默认策略,只有ACCEPT或DROP两种

-R:替换

-X:删除自定义链

-N:新建自定义链

-n:以数字方式显示

--line-number:添加序号

控制类型:

1)ACCEPT:允许

2)REJECT:拒绝,返回信息

3)DROP:丢弃,无信息

4)LOG:记录日志,传给下一条规则

5)SNAT:源地址转换

6)DNAT:目标地址转换

7)MASQUERADE:ip伪装,源地址转换

8)REDIRECT:重定向

条件选项:

1)通用匹配:不依赖于任何条件可直接使用

-s:源地址 -d:目标地址

-p:协议 -i:入口

-o:出口 !:取反

2)隐含匹配:依赖指定的协议

--sport:源端口 --dport:目标端口

--tcp—flags:TCP标记

--icmp-type:icmp类型,有两种:

Echo-request(可用8代替) 请求

Echo-reply(可用0代替) 回应

开启转发功能:

永久有效:vim /etc/sysctl.conf

Net.ipv4.ip_forward=1

生效:sysctl -p

临时转发,立即生效

Sysctl -w net.ipv4.ip_forward=1

Echo “1” > /proc/sys/net/ipv4/ip_forward

3)显示配置:依赖于指定的功能模块,必须明确指定模块名称才可以使用

多端口匹配:-m multiport --sports 源端口列表

-m multiport --dports 目的端口列表

IP范围匹配:-m iprange --src-range ip范围

MAC地址匹配:-m mac --mac-source MAC地址

状态匹配:-m state --state 连接状态

查看本机IPTABLES的设置情况

iptables -nL

service iptables status

将新设置的规则保存到文件

格式:iptables -save [-t table]

这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用.

其它格式:iptables [-t table] [-FXZ]

-F :请除所有的已制订的规则

-X :除掉所有用户“自定义”的chain

-Z :将所有的统计值清0

添加规则:添加INPUT链,INPUT链的默认规则是DROP,凡是不在规则里的都DROP。

创建自定义链

iptables -t filter -N self_control

-N = new

增加自定义链规则

iptables -t filter -I self_control -s 192.151.102.2 -j REJECT

引用自定义链

iptables -t filter -I INPUT -j self_control

删除自定义链:

删除自定义链有两个条件:

1.自定义链中没有规则

2.自定义链没有被引用

清空自定义链规则:

iptables -t filter -F self_ctl

删除链引用规则:

iptables -t filter -D INPUT 1

删除自定义链:

iptables -X self_ctl

重命名自定义链

iptables -E self_control self_ctl

-E = --rename-chain

示例

我们只允许192.168.0.3的机器进行SSH连接

iptables -A INPUT -s 192.168.0.3 -p tcp –dport 22 -j ACCEPT

如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.

允许172.16网段内的主机访问:

#iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.63.7 -j ACCEPT

译:-t表,默认filter -A追加规则 INPUT进入 -s检查源 -d检查目标 -j处理动作 ACCEPT接受;入栈的目标是本机所以-d是本机IP;

拒绝172.16.63.66主机访问(目前172.16.63.66可以ping通本机,也可以ssh等):

iptables -t filter -A INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:如果你操作过第一个,那么此时设置完后,发现172.16.63.66依旧可以ping进来,原来是我们刚才已经添加了允许172.16网段访问的规则,所以此规则是后添加的,所以不生效。同一服务规则,小范围放上面,次序很重要。

如果是多个不同的服务,规则排序要根据实际情况,例如web服务每天访问量巨大,而禁止某IP服务属于小范围,如果把某IP禁止服务放在前面,每次web服务都要先检查此IP,所以应该把匹配性较大的规则放在前面。

删除刚才添加的“允许172.16网段访问的”规则:

iptables -D INPUT 1

注:需要先-vnL --line-numbers查询下,此规则属于第几条,这里是第一条则删除第一条。

插入一条规则,不让172.16.63.66的主机访问本机:

iptables -I INPUT -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:默认插入第一条,如果插入第二条,则:#iptables -I INPUT 2 -s 172.16.63.66 -d 172.16.63.7 -j REJECT

注:这样172.16.63.66进行ping本机时,会直接提示拒绝,当然这样是不友好的(就是拒绝你,呵呵...),所以我们一般建议使用DROP直接丢弃。

替换第一条规则,不让172.16.63.77的主机访问本机:

iptables -R INPUT 1 -s 172.16.63.77 -d 172.16.63.7 -j DROP

采用远程SSH登陆,我们要开启22端口

iptables -A INPUT -p tcp –dport 22 -j ACCEPT

iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT

减少不安全的端口连接

iptables -A OUTPUT -p tcp –sport 31337 -j DROP

iptables -A OUTPUT -p tcp –dport 31337 -j DROP

其他的规则连接也一样这么设置:FORWARD链

iptables -A FORWARD -i eth2 -o eh0 -j ACCEPT

处理IP碎片数量,防止攻击,允许每秒100个

iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT

设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包

iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT

查看本机关于NAT的设置情况

iptables -t nat -L

防止外网用内网IP欺骗

iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP

禁止与211.101.46.253的所有连接

iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP

网站栏目:Linux防火墙iptables-基础与编写防火墙规则
网站地址:https://www.cdcxhl.com/article0/cjghoo.html

成都网站建设公司_创新互联,为您提供全网营销推广虚拟主机企业网站制作软件开发微信小程序品牌网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设