python编写网络防火墙_firewall防火墙
firewall防火墙
1 防火墙简介
在基于RHEL7的服务器,提供了一个firewall的动态管理的防火墙,其支持IPv4和IPv6,还支持以太网桥,并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。
2 简单介绍
firewall的配置文件:/etc/lib/firewalld/和/etc/firewalld/下的XML文件。配置firewall可以直接编辑配置文件,也可以使用firewall-cmd命令行工具。
3 防火墙使用
查看firewalld的状态
firewall-cmd --state
查看活动分区类别
firewall-cmd --get-active-zones
查看当前分配的接口
firewall-cmd --get-zone-of-interface=ens33
查看分配的区域的所有接口:
firewall-cmd --zone=public --list-interfaces
找出公共区域的所有设置
firewall-cmd --zone=public --list-all
firewall-cmd --list-all
关闭|开启所有的输入和输出的数据包(禁用)
# 关闭所有输入输出的数据包
firewall-cmd --panic-on
# 开启再次输入输出的数据包
firewall-cmd --panic-off
# 查看panic模式的状态(yes启用 no退出)
firewall-cmd --query-panic
重新加载防火墙
# 重新加载防火墙,不中断用户连接(不丢失状态信息)
firewall-cmd --reload
# 重新加载防火墙并中断用户连接(丢失状态信息),防火墙出现严重问题才执行
firewall-cmd --complete-reload
为分区增加接口
# 把em1增加到公共分区,增加--permanent选择并重新加载防火墙,是之永久生效
firewall-cmd --zone=public --add-interface=em1
设置分区(将一个端口加入分区)
# 设置默认分区,立即生效,不需要重新加载防火墙
firewall-cmd --set-default-zone=public
# 将一个端口加入分区
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload
# 查看开发的端口
firewall-cmd --zone=public --list-ports
# 删除
firewll-cmd --zone=pubic --remove --remove-port=8080/tcp
将一个服务(http)加入到分区
# 加入
firewall-cmd --permanent --zone=work --add-service=http
firewall-cmd --reload
# 移除
firewall-cmd --permanent --zone=work --remove-service=http
firewall-cmd --reload
# 注意,这并不会中断已经建立的连接。如果您打算中断,您可以使用 --complete-reload 选项,但这不仅仅中断您已经移除的服务,还会中断所有已经建立的连接。
配置伪装 IP 地址
# 查询是否可用
firewall-cmd --zone=external --query-masquerade
# 允许伪装IP
firewall-cmd --zone=external --add-masquerade
# 禁用伪装IP
firewall-cmd --zone=external --remove-masquerade
配置端口转发,地址转发
# 将22端口转发到3753端口,使用tcp协议
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3753
# 原本发往22端口的程序包现在被转发到地址是192.0.2.55下相同的端口
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.0.2.55
# 将22端口的数据包转发到192.0.2.55下的2055端口
firewall-cmd --zone=external /
--add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.0.2.55
使用直接接口增加一个自定义规则
# 增加一个自定义规则到 “IN_public_allow” 链里:
firewall-cmd --direct --add-rule ipv4 filter IN_public_allow \
0 -m tcp -p tcp --dport 666 -j ACCEPT
# 从 “IN_public_allow” 链移除一个自定义规则:
firewall-cmd --direct --remove-rule ipv4 filter IN_public_allow \
0 -m tcp -p tcp --dport 666 -j ACCEPT
# 列出 “IN_public_allow” 链中的规则:
firewall-cmd --direct --get-rules ipv4 filter IN_public_allow
配置rich language语法:
格式:
# 添加
firewall-cmd [--zone=zone] --add-rich-rule='rule' [--timeout 9=seconds]
# 移除
firewall-cmd [--zone=zone] --remove-rich-rule='rule'
# 检查是否存在
firewall-cmd [--zone=zone] --query-rich-rule='rule'
多规则结构:
rule [family=""]
[ source address="
" [invert="True"] ][ destination address="
" [invert="True"] ][ ]
[ log [prefix=""] [level=""] [limit value="rate/duration"] ]
[ audit ]
[ accept|reject|drop ]
多规则命令:
source:指定源地址,不支持使用主机名。可以通过增加 invert="true" 或 invert="yes" 来颠倒源地址命令的意思。所有提供的地址都匹配。
destination:通过制定目的地址,目标可以被限制在目的地址中。
service:服务名称是 firewalld 提供的其中一种服务。可以通过 firewall-cmd --get-services查看。格式: service name=service_name
port: 端口,可为范围或者独立数字 格式:port port=number_or_range protocol=protocol
protocol:协议
icmp-block:用这个命令阻绝一个或多个 ICMP 类型,查看支持的icmp类型列表:firewall-cmd --get-icmptypes,格式: icmp-block name=icmptype_name
masquerade:打开规则里的 IP 伪装。用源地址而不是目的地址来把伪装限制在这个区域内。在此,指定一个动作是不被允许的。
forward-port:从一个带有指定为 tcp 或 udp 协议的本地端口转发数据包到另一个本地端口,或另一台机器,或另一台机器上的另一个端口.格式:forward-port port=number_or_range protocol=protocol /
to-port=number_or_range to-addr=address
运行来自主机192.168.1.3的所有IPv4流量
firewall-cmd --zone=public --add-rich-rule="rule family='ipv4' source address=192.168.1.3 accept"
拒绝来自主机192.168.1.4到22端口的tcp流量
firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address=192.168.1.4 port port=22 protocol=tcp reject'
允许主机10.1.0.3到80端口的IPv4的TCP流量,并转发到65530端口上
firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=10.1.0.3 forward-port port=80 protocol=tcp to-port=65530'
python编写网络防火墙_firewall防火墙相关推荐
- 使用python编写网络爬虫
使用python编写网络爬虫 前言 1.为何使用爬虫 2.编写爬虫的知识要求 3.确定爬虫使用的工具库 4.确定要获取的数据集 4.1 分析Url地址变化 4.2 获取目标数据集所在的HTML区域 5 ...
- 使用Python编写网络扫描程序
使用Python编写网络扫描程序 网络扫描程序通过向成百上千台计算机发送请求并分析其响应,扫描第2层和第3层网络中指定范围内的网络ID.利用某些扩展技术,网络扫描程序还可以获得通过Samba和Ne ...
- python编写网络防火墙_dnxfirewall:一款纯Python实现的下一代防火墙系统
dnxfirewall dnxfirewall是一套包含了经过优化的高性能应用程序及服务套件,它可以将一个标准的Linux系统转换成一个基于空间区域的下一代防火墙系统.dnxfirewall中的所有软 ...
- python编写网络防火墙怎么设置_分析目录下所有Eudemon防火墙配置的Python脚本
# coding=gb2312 ''''' Created on 2011-8-26 @author: piky ''' fromos.pathimportwalk, join, normpath i ...
- 利用Python编写网络爬虫下载文章
今天来讲如何利用Python爬虫下载文章,拿韩寒的博客为例来一步一步进行详细探讨... 韩寒的博客地址是:http://blog.sina.com.cn/s/articlelist_119125812 ...
- python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...
- Android底层网络防火墙,详解Android 利用Iptables实现网络黑白名单(防火墙)
一.概述 为了使读此简笔的人对Iptables有一个简单的了解,此处强行百度了一波概念,如果想深入的了解Iptables的各种配置规则和内核对其的管理运行机制请自行www.baidu.com,这些并不 ...
- 【网络知识点】防火墙主备冗余技术
[网络知识点]防火墙主备冗余技术 本文以思科Failover技术为主备冗余技术,华为方面的主备冗余技术为VRRP+HRP,可自行查看华为相关配置资料,实际实现上两者没什么区别,只是实现原理上有点差别, ...
- Python实现一键打开/关闭防火墙
利用python一键打开或关闭防火墙 #!/usr/bin/python # -*- coding: GBK -*- """ @author: Roc-xb " ...
- 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源
我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...
最新文章
- centos7 安装telnet服务
- 牛客13584 日历中的数字
- 用c语言绘制自定义图形,Android使用自定义View绘图
- 锐捷ap怎么设置_新房装修网络布线方案一:AC+AP模式,弱电箱只放光猫和集成AC...
- UITabBarController 标签栏控制器-IOS开发 (实例)
- 十一种全球著名商业分析模型
- 从文本界面安装RHEL5操作系统详解
- Python处理Excel文档之openpyxl (三)简单的使用
- dba_tables 和 dba_segments 表中 blocks 的区别
- 电子/自动化专业常用软件介绍
- 上海联影医疗公司软件开发工程师面试经历
- 揭秘终南山隐士:在山中修炼完后还回到红尘中
- php 姓氏表,php 根据姓氏笔画排序怎么做
- java制作进度条,Java制作进度条
- 【无标题】C语言编写一个简单答题系统
- h5自动播放视频且有声音的办法
- 对Shortcut使用的理解
- DANN:Unsupervised Domain Adaptation by Backpropagation
- 程序员如何快乐学习?
- 六年级计算机课学什么意思,六年级信息技术上册《第一单元第2课与计算机交朋友》教案及教学反思...
热门文章
- lopatkin俄大神Windows精简版系统安装注意事项及恢复OneDrive
- java 输入语句_java怎样输入语句
- 如何用minitab检测一组数据是否服从正态分布
- 用代码查询ASCII码和Unicode码表序号
- vue 在线预览word、excel、pdf、txt、图片
- Cadence、Pspice 软件相关汇总
- office 打开wps乱_word打开wps是乱码怎么办
- 小灰的算法之旅python篇pdf_漫画算法 小灰的算法之旅 Python篇
- 【python】ssh密码字典攻击
- testbench实例 vhdl_FPGA仿真 test bench实例(VHDL)