「Linux就该这么学」读书笔记(六)

欢迎来我的博客

iptables

  • 在进行路由选择前处理数据包(PREOUTING)
  • 处理流入的数据包(INPUT)
  • 处理流出的数据包(OUTPUT)
  • 处理转发的数据包(FORWARD)
  • 在进行路由选择后处理数据包(POSTEROUTING)

命令行防火墙策略管理工具

<font color=red>防火墙策略规则的匹配顺序是从上至下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误</font>

参数 作用
-P 设置默认策略
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-s 匹配来源地址IP/MASK,加叹号表示除这个IP外
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如TCP、UDP、ICMP
--dport num 匹配目标端口号
--sport num 匹配来源端口号

把INPUT规则链的默认策略设置为拒绝

# iptables -P INPUT DROP
# iptables -L
Chain INPUT (policy DROP)
target prot opt sources destination
etc...

ICMP流量策略规则

向防火墙的INPUT规则链中添加一条允许ICMP流量进入的策略规则,允许ping命令的检测行为

# iptables -I INPUT -p icmp -j ACCEPT
# ping -c 4 xxx.xxx.xxx.xxx
etc ...

删除INPUT规则链中ICMP的策略

# iptables -D INPUT 1
# iptables -P INPUT ACCEPT
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt sources destination
etc...

端口控制

将INPUT 规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量

# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j REJECT
# iptables -L
Chain prot opt sources destination
ACCEPT tcp -- 192.168.10.0/24 anywhere tcp dpt:ssh
REJECT tcp -- anywhere tcp dpt:ssh reject-with icmp-port-unreachable
etc...

向INPUT 规则链中添加拒绝所有人访问本机12345端口的策略规则

# iptables -I INPUT -p tcp --dport 12345 -j REJECT
# iptables -I INPUT -p udp --dport 12345 -j REJECT
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT udp -- anywhere anywhere udp dpt:italk reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpt:italk reject-with icmp-port-unreachable
ACCEPT tcp -- 192.168.10.0/24 anywhere tcp dpt:ssh
REJECT tcp -- anywhere anywhere tcp dpt:ssh reject-with icmp-port-unreachable
etc...

向INPUT 规则链添加拒绝192.168.10.5主机访问80端口的策略规则

# iptables -I INPUT -p tcp -s 192.168.10.5 --dport 80 -j REJECT
# iptables -L
etc...
REJECT tcp -- 192.168.10.5 anywhere tcp dpt:http reject-with icmp-port-unreachable
etc...

向INPUT 规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则

# iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
# iptables -A INPUT -p udp --dport 1000:1024 -j REJECT
# iptables -L
etc...
REJECT tcp -- anywhere anywhere tcp dpts:cadlock2:1024 reject-with icmp-port-unreachable
REJECT udp -- anywhere anywhere udp dpts:cadlock2:1024 reject-with icmp-port-unreachable
etc...

保存

iptables命令配置的防火墙默认会在系统下一次重启时失效,如果要永久生效,还需要执行保存命令

# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

firewalld

与常规防火墙的区别是,firewalld可以实现防火墙策略之间的快速切换,不同的场景切换不同的策略即可

区域 默认策略规则
trusted 允许所有的数据包
home 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量
internal 等同于home区域
work 拒绝流入的流量,除非与流出的流量树相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量
public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client服务相关,则允许流量
external 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
dmz 拒绝流入的流量,除非与流出的流量相关;二如果流量与ssh服务相关,则允许流量
block 拒绝流入的流量,除非与流出的流量相关
drop 拒绝流入的流量,除非与流出的流量相关

终端管理工具

参数 作用
-—get-default-zone 查询默认的区域名称
-—set-default-zone=<区域名称> 设置默认的区域,使其永久生效
--get-zones 显示可用的区域
--get-services 显示预先定义的服务
--get-active-zones 显示当前正在使用的区域与网卡名称
--add-source= 将源自此IP或子网的流量导向指定的区域
--remove-source= 不再将源自此IP或子网的流量导入某个指定区域
--add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 将某个网卡与区域进行关联
--list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zone 显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名> 设置默认区域允许该服务的流量
--add-port=<端口号/协议> 设置默认区域允许该端口的流量
--remove-service=<服务号> 设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
--reload 让永久生效的配置规则立即生效,并覆盖当前的配置规则
--panic-on 开启紧急状况模式
--panic-off 关闭紧急状况模式

查看当前所用区域

# firewall-cmd --get-default-zone
public

查询xxx网卡所在区域

# firewall-cmd --get-zone-of-interface=enoxxxx
public

指定网卡区域为external,并永久化

# firewall-cmd --permanent --zone=external --change-interface=enoxxx
sucess
# firewall-cmd --get-zone-of-interface=enoxxx
public
# firewall-cmd --permanent --get-zone-of-interface=enoxxx
external

当前默认区域设置为public

# firewall-cmd --set-default-zone=public
success
# firewall-cmd --get-default-zone
public

启动/关闭应急状况模式

# firewall-cmd --panic-on
success
# firewall-cmd --panic-off
success

查询public是否允许请求SSH和HTTPS协议流量

# firewall-cmd --zone=public --add-service=https
success
# firewall-cmd --permanent --zone=public --add-service=https
success
# firewall-cmd --reload
success

HTTP协议流量设置为永久拒绝

# firewall-cmd --permanent --zone=public --remove-service=http
success
# firewall-cmd --reload
success

8080和8081端口流量设置为允许

# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
# firewall-cmd --zone=public --list-ports 8080-8081/tcp

端口转发

# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
success
# firewall-cmd --reload
success

ssh访问192.168.10.10主机的888端口

# ssh -p 888 192.168.10.10
etc...

拒绝192.168.10.0/24网段访问本机ssh

# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
# firewall-cmd --reload
success

图形界面

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 防火墙的概念iptables的简介iptables命令网络防火墙NATfirewalld服务 一、防火墙的概念 (...
    哈喽别样阅读 1,823评论 0 1
  • iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含iptables的功...
    随风化作雨阅读 4,764评论 1 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,651评论 18 139
  • iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防...
    yshenhn阅读 112,350评论 2 78
  • 《拜师》 汪彤 一辈子 都在等待 不知会在哪个好日子 能遇见你 一辈子 都在靠近 你若是太阳 向日葵叩拜一个生命的...
    汪彤的随笔阅读 193评论 0 1