换oricle-linux7系统后,发现iptables的管理方法有不小的改动,记录一下遇到的问题。

iptables

  • linux系统已经默认安装了iptables和firewalld两款防火墙管理工具,但是在使用service iptables save命令的时候可能提示找不到命令;另外iptables的配置文件在/etc/sysconfig/iptables,但是新装的服务器可能没有这个文件,一般需要安装iptables-service;

  • 本人习惯使用iptables防火墙工具;

yum -y install iptables-services   # 先更新iptables-services,可以发现在/etc/sysconfig/目录下已经有Iptables文件,同时可以使用service来管理iptables了

systemctl stop firewalld     # 先关闭防火墙
systemctl start iptables # 启动防火墙
systemctl enable iptables # 将防火墙设置成开机自启动
systemctl iptables save # 将当前配置的防火墙设置保存到/etc/sysconfig/iptables目录下

注意:

  1. firewalld和iptables是相互独立的防火墙管理工具;

  2. ‘systemctl iptables save’ 执行时,iptables会去读取/etc/sysconfig/iptables-config文件,然后读取/etc/sysconfig/iptables文件;

扩展

service iptables status  # 查看防火墙的状态
service iptables start # 开启防火墙
service iptables stop # 关闭防火墙
service iptables restart # 重启防火墙
  • 配置iptables参数

防火墙需要开放端口给外部访问,设置过滤等。因此需要配置文件,所有的配置保存在/etc/sysconfig/iptables中,有两种方法可以配置:

  • 方法一:直接修改iptables文件
*filter
:INPUT ACCEPT [0:0] # 允许流量输入
:FORWARD ACCEPT [0:0] # 允许转发
:OUTPUT ACCEPT [0:0] # 允许流出
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT # 允许ping通
-A INPUT -i lo -j ACCEPT # 默认允许网卡流入数据
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT # 添加一条规则,允许22端口
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT # 提交设置
# 在后面添加相关的命令行
  • 参数详解
-A  :添加一条规则,针对什么数据包,INPUT流入的数据包,OUTPUT流出的数据包,FORWARD转发的数据包
-p :指定协议,如TCP,UDP
–dport:目标端口,当数据从外部进入服务器为目标端口
–sport:源端口,数据从服务器出去,则为数据源端口使用
–j :指定策略规则,ACCEPT(允许接收)、DROP(拒绝接收,无响应)、REJECT(拒绝接收,有响应)
-s : 指定某一个IP地址的访问,加叹号“!”表示除这个IP外 -L 查看规则链
-F 清空规则链
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
  • 方法二:使用命令行动态修改保存
iptables -P INPUT -j DROP
service iptables save

注意

  1. 防火墙的规则是按照从上往下依次匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问。

firewalld

  • linux的另一款防火墙的管理工具;
service firewalld status  # 查看防火墙的状态
service firewalld start # 开启防火墙
service firewalld stop # 关闭防火墙
service firewalld restart # 重启防火墙
  • 管理端口
# 开启一个端口
firewall-cmd --zone=public --add-port=80/tcp --permanent # 重新载入
firewall-cmd --reload # 查看某个端口的状态是否开启
firewall-cmd --zone=public --query-port=80/tcp
# 关闭某个端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
  • 参数
--permanent : 设置命令永久有效
--add-port : 开启一个端口
--remove-port : 关闭一个端口

使用systemctl

  • systemctl是融合了chkconfig和service的系统管理工具,更加的强大和方便;
systemctl start firewalld    # 开启防火墙
systemctl stop firewalld # 关闭防火墙,开机启动
systemctl restart firewalld # 重新启动防火墙
systemctl status firewalld # 查看防火墙的状态
systemctl disable firewalld # 永久关闭防火墙,不再开机自启动
systemctl enable firewalld # 设置防火墙开机自启动
systemctl is-enabled firewalld systemctl start iptables # 开启防火墙
systemctl stop iptables # 关闭防火墙,开机启动
systemctl restart iptables # 重新启动防火墙
systemctl status iptables # 查看防火墙的状态
systemctl disable iptables # 永久关闭防火墙,不再开机自启动
systemctl enable iptables # 设置防火墙开机自启动

linux的防火墙管理的更多相关文章

  1. Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)

    本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...

  2. Linux 笔记 - 第十三章 Linux 系统日常管理之(二)Linux 防火墙和任务计划

    博客地址:http://www.moonxy.com 一.前言 Linux 下的的防火墙功能是非常丰富的,作为 Linux 系统工程师有必要了解一下.防火墙一般分为硬件防火墙和软件防火墙.但是,不管是 ...

  3. linux入门系列10--firewalld防火墙管理

    上一篇文章学习了用户及文件相关权限,本篇继续学习防火墙技术. 防火墙作为公网与内网之间的保护屏障,对系统至关重要.防火墙又分为硬件防火墙和软件防火墙,主要功能都是依据设置的策略对穿越防火墙的流量进行过 ...

  4. linux系统中firewalld防火墙管理工具firewall-config(GUI图形用户界面)

    firewall-config是firewalld防火墙管理工具的GUI(图形用户界面)版本,几乎可以实现所有以命令行来执行的操作. firewall-config的界面如下图(在终端直接运行fire ...

  5. Linux iptables 防火墙

    内容摘要 防火墙 防火墙定义 防火墙分类 netfilter/iptables netfilter 设计架构 iptables 简述 iptables 命令详解 命令语法 table 参数 comma ...

  6. [转] Linux下防火墙iptables用法规则详及其防火墙配置

    from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...

  7. linux系统日常管理

    笔者在前面介绍的内容都为linux系统基础类的,如果你现在把前面的内容全部很好的掌握了,那最好了.不过笔者要说的是,即使你完全掌握了,你现在还是不能作为一名合格的linux系统管理员的,毕竟系统管理员 ...

  8. 写了个Linux包过滤防火墙

    花几天写了个so easy的Linux包过滤防火墙,估计实际意义不是很大.防火墙包括用户态执行程序和内核模块,内核模块完全可以用iptable代替.由于在编写的过程一开始写的是内核模块所以就直接用上来 ...

  9. Linux firewalld 防火墙

    Linux firewalld 防火墙  简介 RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux system ...

随机推荐

  1. HDU4054_Hexadecimal View

    水题.直接八位八位地枚举即可. 注意控制输出,注意读数的时候要把s中的全部元素置零. #include <iostream> #include <cstdio> #includ ...

  2. 洛谷P2740 [USACO4.2]草地排水Drainage Ditches

    题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没 ...

  3. week1day01 认识python 变量 数据类型 条件if语句

    1.什么是python? Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像Pe ...

  4. BZOJ4898/5367 Apio2017商旅(分数规划+floyd)

    如果要在某点买入某物品并在另一点卖出,肯定是走其间最短路径.于是预处理任意两点间的收益和最短路径,连完边二分答案判负环即可,可以全程floyd.注意inf大小. #include<iostrea ...

  5. [COGS1000]伊吹萃香 最短路

    1000. [東方S2] 伊吹萃香 输入文件:suika.in   输出文件:suika.out   简单对比 时间限制:1 s   内存限制:128 MB Problem 4 伊吹萃香(suika. ...

  6. IOS中手势UIGestureRecognizer

    通常在对视图进行缩放移动等操作的时候我们可以用UIScrollView,因为它里边自带了这些功能,我们要做的就是告诉UIScrollView的几个相关参数就可以了 但是没有实现旋转的手势即UIRota ...

  7. 【SYZOJ279】滑稽♂树(树套树)

    [SYZOJ279]滑稽♂树(树套树) 题面 SYZOJ CJOJ 题目描述 zzsyz实验楼里面种了一棵滑稽树,只有滑稽之力达到大乘期的oier才能看到.虽然我们看不到,但是还是知道一些信息: 这真 ...

  8. BZOJ3527:[ZJOI2014]力——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3527 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 参考:https://ww ...

  9. Python精要参考(第二版)

    ython 精要参考(第二版) 是Python语言初学者不错的参考学习用书,本系列译自Python Essential Reference, Second Edition 希望本系列可以给python ...

  10. 【Python3的进制扫盲】

    一.进制 1.进制简介 进制就是进位制,是人们规定的一种进位方法.计算机底层的数据运算和存储都是二进制数据.计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别. 2.常用进制 对 ...