Iptables防火墙

防火墙基本流程

防火墙是对于访问的请求数据经过多层规则,层层过滤。

有ACCEPT(接受),DROP(拒绝)两种。任意一种匹配则说明匹配成功,那么数据包则不需要继续往下匹配。

如果没有匹配到规则,那么最终会匹配默认规则。

防火墙默认规则是所有规则都匹配后,最后匹配默认规则。

规则存放

一般拒绝的规则放在所有规则的最上面,允许的规则放在所有规则的最下面。

iptables表链

4张表:filter,nat,raw,mangle

伍个链:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING

filter表

nat表

请求经过防火墙流程

防火墙命令

1.查看防火墙规则

防火墙默认是filter表,所以默认展示的是filter表规则。

#查看所有表
iptables -nL


#-t制定表

iptables -t nat -nL

#显示数字行号
iptables -nL --line-number

iptbales屏蔽地址

1.设置入网ip拒绝

-t 指定表,-I指定链(拒绝类的),-A追加规则(接受类的),-D删除规则,-s指定源ip,-j指定策略(拒绝/接受/重定向)

iptables -t filter -I INPUT -s 10.10.200.11 -j DROP

2.屏蔽整个网段

iptables -I INPUT 192.168.1.0/24 -j DROP

3.删除规则

-D 指定要删除的链,1(第几条)

iptables -D INPUT 1

iptable屏蔽端口

-s 指定网段,-p指定协议,--dport指定本地端口,-j DROP屏蔽丢弃

iptables -I INPUT -s 98.13.17.0/24 -p tcp --dport 8848 -j DROP

2.禁止98.13.17.0网段之外的其他网段连入,!表示取反。

iptables -I INPUT ! -s 98.13.17.0/24 -j DROP

3.禁止多个端口连入

-m multiport 指定多个端口

--deport 88:90 端口如果有规律,可使用:表示范围

iptables -I INPUT -m multiport -p tcp --dport 88,443,8848 -j DROP 

iptables -I INPUT -m multiport -p tcp --dport 88:90 -j DROP 

iptables禁止ping

-p指定协议icmp

iptables -I INPUT -p ICMP --icmp-type 8 -j DROP

iptables保存规则

iptabels-save > /etc/sysconfig/iptables

iptables恢复默认规则

iptables-restore < /etc/sysconfig/iptables

iptables清空所有规则

iptables -F

iptables修改默认规则

iptables -P INPUT DROP

生产环境使用方式

原理:先设置规则,将需要的规则都设置上,然后修改默认规则为DROP

iptables -A INPUT -m multiport -p tcp --dport 80,443 -j ACCEPT
iptables -A INPUT -p tcp  --dport 22 -j ACCEPT


iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -o lo -j ACCEPT

iptabels -A INPUT -s 10.0.0.0/24 -j ACCEPT
iptabels -A INPUT -s 172.16.1.0/24 -j ACCEPT

#tcp连接状态
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j 

#修改默认规则,-P指定规则策略
iptables -P INPUT DROP

iptabels防火墙实现局域网通过一台服务器实现共享上网(SNAT)

场景:内网172.16.1网段,无法上网,通过一台中专服务器实现上共享上网。

注:

1.需要在防火墙服务器事先开启内核转发功能

2.需要上网的客户端(内网服务器)网管指向中专服务器。

3.通过iptables命令将内网ip经过防火墙时更改成防火墙的公网ip,(数据包出去时更改IP,也就是POSTROUTING)

-j SNAT:源地址转换。 --to-source 10.0.0.61:更改目标IP

-j MASQUERADE:不指定目标IP,随公网IP变化而变化

iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE

或者

ptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.61

iptables实现公网到内网服务器的端口映射访问(DNAT)

场景:公网服务器想访问内网某一台服务器的地址:端口

通过防火墙服务器实现端口映射

iptables -t nat -A PREROUTING -d 10.10.1.61 -p tcp --deport 9000 -j DNAT --to-destination 172.16.1.7:22

也可以实现公网IP到内网IP的映射,上面的的规则去掉端口就是IP映射。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值