换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. LoadRunner脚本增强技巧之自动关联

    为什么要做关联,原理很简单,录制脚本的时候,服务器会给用户一个唯一的认证码来进行操作,当再次回放脚本的时候服务器又会给一个全新的认证码,而录制好的脚本是写死的,还是拿老的认证码提交,肯定会导致脚本执行 ...

  2. hdu6021[BestCoder #93] MG loves string

    这场BC实在是有趣啊,T2是个没有什么算法但是细节坑的贪心+分类讨论乱搞,T3反而码起来很顺. 然后出现了T2过的人没有T3多的现象(T2:20人,T3:30人),而且T2的AC率是惨烈的不到3% ( ...

  3. 【bzoj4428】[Nwerc2015]Debugging调试 数论+记忆化搜索

    题目描述 一个 $n$ 行的代码出了bug,每行都可能会产生这个bug.你要通过输出调试,在其中加入printf来判断bug出现的位置.运行一次程序的时间为 $r$ ,加入一条printf的时间为 $ ...

  4. Selenium操作滚动条

    //移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 ((JavascriptExecutor) driver).executeScript("arguments[0].scr ...

  5. C++ 指针[转+原创]

    要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区. 指针的类型 从语法的角度看,你只要把指针声明语句里的指针名字去掉 ...

  6. spark(四)

    一. spark 2  版本 相对于以前版本的变化 spark core  : Accumulators (累加器):性能更好,页面上也可以看到累加器的信息 spark sql: 1. 2.DataS ...

  7. bzoj4584

    escription 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着个划艇学校,编号依次为到.每个学校都 拥有若干艘划艇.同一所学校的所有划艇颜色相同,不同的学校的划艇颜色互不相同. ...

  8. 框架----Django框架知识点整理

    一.cbv cbv(class-base-view) 基于类的视图 fbv(func-base-view) 基于函数的视图 a.基本演示 urlpatterns = [ url(r'^login.ht ...

  9. array_udiff、array_udiff_assoc、array_udiff_uassoc 使用方法

      <?php // array_udiff 用自定义函数比较数组的差值(array_diff 使用内置函数) // 使用该函数我们通过进行更复杂的比较 class Rectangle { pu ...

  10. 【题解】【LibreOJ Round #6】花团 LOJ 534 时间线段树分治 背包

    Prelude 题目链接:萌萌哒传送门(/≧▽≦)/ Solution 如果完全离线的话,可以直接用时间线段树分治来做,复杂度\(O(qv \log q)\). 现在在线了怎么办呢? 这其实是个假在线 ...