firewall iptables

firewall-cmd --get-default-zone查看当前默认区域
firewall-cmd --get-default-zone=public修改当前默认区域
firewall-cmd --set-default-zone=dmz修改当前区域(永久)
firewall-cmd --get-active-zones查看所有区域包含的网卡
firewall-cmd --zone=public --remove-interface=eth0指定区域移除网卡
firewall-cmd --zone=trusted --add-interface=eth0指定区域添加网卡
firewall-cmd --reload加载修改(临时修改会消失)
firewall-cmd --list-all查看所有规则
网卡只能存在一个区域,一个区域可以包含多个网卡
firewall-cmd --add-port=8080/tcp --add-port=8080/udp添加放行端口
firewall-cmd --add-service=http添加放行服务/usr/lib/firewalld/services/所有的服务名称 cp添加服务
转发端口
–add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
firewall-cmd --add-masquerade开启ip伪装功能remove移除

    富规则语法格式
    rule
        [source]
        [destination]
        service|port|protocol|icmp-block|masquerade|forward-port
        [log]
        [audit]
        [accept|reject|drop]

rule [family="ipv4|ipv6"]
source address="address[/mask]" [invert="True"]
service name="service name"
port port="port value" protocol="tcp|udp"
forward-port port="port value" protocol="tcp|udp" to-port="port value" to-addr="address"
accept | reject [type="reject type"] | drop

1.比如允许10.0.0.1主机能够访问80,允许172.16.1.0/24能访问8081端口
[root@manager ~]# firewall-cmd --add-rich-rule=‘rule family=ipv4 source address=10.0.0.1/32 port port=“80” protocol=“tcp” accept’
[root@manager ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=“8081” protocol=“tcp” accept

2.默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器
[root@manager ~]# firewall-cmd --add-rich-rule=‘rule family=ipv4 source address=“172.16.1.0/24” service name=“ssh” drop’

3.使用firewalld,允许所有人能访问http,https服务,但只有10.0.0.1主机可以访问ssh服务
[root@manager ~]# firewall-cmd --remove-service=ssh
[root@manager ~]# firewall-cmd --add-service={http,https}
[root@manager ~]# firewall-cmd --add-rich-rule=‘rule family=ipv4 source address=“10.0.0.1/32” service name=“ssh” accept’

4.当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.7的22端口
firewall-cmd --add-rich-rule=‘rule family=ipv4 source address=“10.0.0.1/32” forward-port port=“6666” protocol=“tcp” to-port=“22” to-addr=“172.16.1.7”’
[root@manager ~]# firewall-cmd --add-masquerade

accept: 允许
reject: 拒绝,回句话(连接被拒绝)
drop: 拒绝,不搭理(连接超时)

filter表屏蔽或准许 端口 ip 默认使用的表
INPUT就是过滤进入主机的数据包
FORWARD负责转发流经主机的数据包
OUTPUT就是处理从主机发出去的数据包
nat表共享上网 ip/端口映射
OUTPUT和主机放出去的数据包有关,改变主机发出数据包的目的地址
PREROUTING改变数据包的目的地址、目的端口
POSTROUTING改变数据包的源地址,源端口
mangle修改数据包,比如TTL,TOS或MARK。 注意MARK并没有真正地改动数据包,它只是在内核空间为包设了一个标记。防火墙内的其他的规则或程序可以使用这种标记对包进行过滤或高级路由。
PREROUTING进入防火墙之后、路由判断之前改变包
POSTROUTING在所有路由判断之后
OUTPUT确定包的目的之前更改数据包
INPUT在包被路由到本地之后,但在用户空间的程序看到它之前改变包
FORWARD在最初的路由判断之后、最后一次更改包的目的之前mangle包

安装yum install -y iptables-services
lsmod 系统模块

iptables -nL查看默认表所有规则
-n不要把端口 或ip反向解析为 名字
-t指定表
-A追加规则 应用于ACCEPT
-D删除规则 可以使用序号删除
-I添加DROP规则
-p协议ping是icmp协议
- -dport目标端口
- -sport源端口
-s源ip
-d目标ip
-m指定模块
-i输入的时候 从哪个网卡进来
-o输出的时候 从哪个网卡出去
-j动作
-F清除所有规则

屏蔽某个ip

iptables -I INPUT -s 10.0.0.7 -j DROP

屏蔽某个端口

iptables -I INPUT -p tcp --dport 22 -j DROP

屏蔽某个网段访问端口

iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 8080 -j DROP

只允许某个网段连接

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

添加多个端口的规则

iptables -I INPUT -p tcp -m multiport  -- dport 80,443 -j DROP
iptables -I INPUT -p tcp --dport 1024:65535 -j DROP#多个端口

禁止ping通

iptables -I INPUT -p icmp --icmp-type 8 -j DROP
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
cat /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1
sysctl -p

限制并发及速率

iptables -I INPUT -p icmp -m limit --limit 10/minute -- limit-burst 5 -j ACCEPT
# --limit n/{second/minute/hour}每分钟只能有10个数据包
#limit-burst在同一时间内允许通过的请求”n”为数字,不指定默认为5

将当前规则写入文件

iptables-save >/etc/sysconfig/iptables

读取文件中的规则

iptables-restore </etc/sysconfig/iptables

实现端口转发

iptables -t nat -A PREROUTING -d 10.0.0.61 - p tcp --dport 9000 -j DNAT --to-destination 172.16.1.7:22
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值