iptables防火墙配置

iptables命令:

列出iptables规则:iptables -L -n

列出iptables规则并显示规则编号:iptables -L -n --line-numbers

列出iptables nat表规则(默认是filter表):iptables -L -n -t nat

清除默认规则(注意默认是filter表,如果对nat表操作要加-t nat)

#清楚所有规则:iptables -F 

#删除用户自定义的链:iptables -X

#将链的计数器清零:iptables -Z

#重启iptables发现规则依然存在,因为没有保存:service iptables restart

#保存配置:service iptables save

#禁止ssh登陆(若果服务器在机房,一定要小心)iptables -A INPUT -p tcp --dport 22 -j DROP

#清除规则:iptables -D INPUT -p tcp --dport 22 -j DROP

-A, --append chain    追加到规则的最后一条

-D, --delete chain [rulenum]    Delete rule rulenum (1 = first) from chain

-I, --insert chain [rulenum]    Insert in chain as rulenum (default 1=first) 添加到规则的第一条

-p, --proto  proto    protocol: by number or name, eg. 'tcp',常用协议有tcp、udp、icmp、all

-j, --jump target 常见的行为有ACCEPT、DROP和REJECT三种,但一般不用REJECT,会带来安全隐患

注意:INPUT和DROP这样的关键字需要大写

#禁止192.168.10.0网段从eth0网卡接入

iptables -A INPUT -p tcp -i eth0 -s 192.168.10.100 -j DROP

iptables -A INPUT -p tcp --dport 22 -i eth0 -s 192.168.10.100  -j ACCEPT

#禁止ip地址非192.168.10.10的所有类型数据接入:iptables -A INPUT ! -s 192.168.10.10 -j DROP

#禁止ip地址非192.168.10.10的ping请求:iptables -I INPUT -p icmp --icmp-type 8 -s 192.168.50.100 -j DROP

#扩展匹配:1.隐式扩展 2.显示扩展

    #隐式扩展   -p tcp

        --sport PORT 源端口

        --dport PORT 目标端口

    #显示扩展:使用额外的匹配规则

    -m EXTENSTION --SUB-OPT

    -p tcp --dport 22 与 -p tcp -m tcp --dport 22功能相同

    state:状态扩展,接口ip_contrack追踪会话状态

        NEW:新的连接请求, ESTABLISHED:已建立的连接请求, INVALID:非法连接, RELATED:相关联的连接

#匹配端口范围:iptables -I INPUT -p tcp --dport 22:80 -j DROP

#匹配多个端口:iptables -I INPUT -p tcp -m multiport --dport 22,80,3306 -j ACCEPT

#不允许源端口为80的数据流出:iptables -I OUTPUT -p tcp --sport 80 -j DROP

配置防火墙:两种模式-->电影院模式和逛公园模式

配置一个生产环境的防火墙

#1.清空所有规则

iptables -F

iptables -Z

iptables -X

#2.配置允许ssh协议的22端口进入

iptables -A INPUT -p tcp --dport 22 -s 192.168.50.100 -j ACCEPT

#3.配置允许lo接口数据的进出

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

#4.设置默认的进出规则,DROP掉INPUT链和FORWARD链,保留OUTPUT链

iptables --policy OUTPUT ACCEPT

iptables -P INPUT DROP

iptables -P FORWARD DROP

#5.开启信任的IP段

iptables -A INPUT -p all -s 192.168.10.0/24 -j ACCEPT

#6.开放http的80端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#7.允许icmp类型协议通过

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

#8.允许关联状态包进出

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#对于FTP而言,就需要 RELATED 才能实现 21 端口白名单,如不加此项需要额外开放端口,而那些额外开放端口是不受连接状态保护的。

#9.保存iptables配置到文件

service iptables save

iptables的NAT功能:将Linux服务器配置为上网网关和端口映射功能

    上网网关:就是将Linux服务器配置成路由器或者网关,实现其他服务器能通过这台服务器进行上网的功能,如果需要实在

该功能,就要借助iptables的nat表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值