CentOS 7 下使用 iptables

系统升级到CentOS 7后总感觉iptables怪怪的,比如不管怎么保存重启后都被初始化一下,即便我最后发大绝招启动时候加命令:
首先iptables-save > /etc/iptables.rules保存当前状态。
然后再在/etc/rc.local中强制加上

/etc/rc.local

iptables-restore /etc/iptables .rules

重启后虽然规则生效但仔细看规则还是一些被莫名添加的额外的内容,让人很是不爽。

仔细一google,发现问题之所在了。RedHat在7中更改了系统软件,不再使用iptables作为系统的防火墙,而是使用了FirewallD,但是为了兼容过去的命令也可以使用iptables来设置防护规则,但启动的时候自搞了一套。

解决方法也很简单。

首先,可以考虑follow官方的想法转用FirewallD。其实查看一些官方文档也能用。
但是,个人觉得若没有显著的提升也可以继续使用原来的iptables。若打算继续使用iptables, 可以继续做如下:

备份当前规则

1 iptables-save > iptables.rules
禁用FireWallD,安装&启用iptables-services systemctl stop firewalld systemctl mask firewalld yum install  iptables-services -y  systemctl enable  iptables

这时候检查iptables发现规则被清空了

1 iptables -L -x -n

将备份的规则还原

1 iptables-restore iptables.rules

保存当前规则

1 /usr/libexec/iptables/iptables .init save

若使用minimize版本的安装,可能会出现提示

iptables: Saving firewall rules to
/etc/sysconfig/iptables: /etc/init.d/iptables: line 274: restorecon: command not found

这是因为selinux没有安装的缘故,缺少一个组件。安装policycoreutils即可。

1 yum install policycoreutils -y

(0)

相关推荐

  • Centos下IP与DNS设置方法详解

    本文较为详细的讲述了Centos下IP与DNS设置方法.分享给大家供大家参考,具体如下: 1.CentOS 修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf 修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameserver 8.8.4.4 #google域名服务器 2.CentOS 修改网关 修改对应网卡的网关的配置文件 [root@centos]# vi /etc/sysconfig/network 修改以下内容 NETW

  • CentOS Linux服务器安全设置

    我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关闭.把系统权限设置到最小话,这样才能保证服务器最大的安全.下面是CentOS服务器安全设置,供大家参考. 一.注释掉系统不需要的用户和用户组 注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦. cp /etc/passwd /etc/passwdbak #修改之前先备份 vi /etc/passwd #编辑用户,在前面加上#注释掉此行 #adm:x:3:4:adm:/var/adm

  • CentOS的图形安装及初始环境设置教程

    对于安装,我们的原则就是在初期按装时采用最小安装,这样使得初期状态显得干净而简洁.在以后的配置中,需要哪些组件的时候,再通过CentOS的"yum"命令(前提需要首先接入互联网)来在线安装. CentOS 4.4 的下载及安装光盘的制作 [第一步] 从镜像站点上下载ISO的镜像文件     CD 1 : http://mirror.tini4u.net/centos/ ... .4-i386-bin1of4.iso CD 2 : http://mirror.tini4u.net/cen

  • CentOS安装和设置MariaDB的教程

    上篇文章给大家介绍了 Centos 使用YUM安装MariaDB,相关资料可以参考下此文. 说明: 首先必须能链接外网. 如果不能直接访问,那也可以设置代理,请参考: 在内网机器上设置yum代理 使用 yum 的权限要求是 root 用户,如果你不是,那么可以需要 在 shell命令之前加上 sudo, 或者 su root  切换到 super 管理员进行操作. 并可能需要输入密码. 1. 添加 yum 数据源; 建议命名为 MariaDB.repo 类似的名字: 复制代码 代码如下: cd

  • centos下mysql主从复制设置详解

    安装环境:centos 5.4 mysql版本:mysql 5.1.xx 采用rpm直接安装 所需软件: xtrabackup 1.2.22 采用rpm直接安装 1. Master:/etc/my.cnf  复制代码 代码如下: [mysqld] server-id = 1log-bin innodb_flush_log_at_trx_commit=1 sync_binlog=1 datadir=/var/lib/mysql character-set-server=utf8 init_conn

  • Linux VPS安全设置之一 修改SSH端口(CentOS/Debian)

    老左在之前的不少文章中已经分享过在centos或者在debian环境下安装lnmp和llsmp的教程,老左用人格担保肯定是可行的,因为我都是在实战操作后截图及写下来的文章.可以让VPS初学者手把手的学习如何在Linux VPS上安装系统及建立网站.老左第一次使用VPS不会安装环境,准备请一个网友安装,还准备收费50元,鉴于此我就自学. 我们在学会了VPS的安装和建站之后,肯定需要附带学习VPS的安全设置.因为VPS和主机不同,主机商可能会给我们备份,而且主机的安全性都有主机商承担.但是,如果现在

  • centos最小化安装系统后的基本调优及安全设置

    清理开机自动启动的服务 显示出所有服务的所有运行级别的启动状态#chkconfig –list停止所有在运行级别3上开机启动的服务#for oldboy in `chkconfig –list |grep 3:on |awk '{print $1}'`;do chkconfig –level 3 $oldboy off;done在开启常用的服务,crond,network,rsyslog,sshd#for oldboy in crond network rsyslog sshd;do chkco

  • ubuntu与centos中更换ip的shell代码

    代码一ubuntu与centos 复制代码 代码如下: ubuntu:#!/bin/bashecho "ipaddr:"read lineecho $linesed "s/address.*$/address=${line}/g" /etc/network/interfacescentos(未测试):#!/bin/bashecho "ipaddr:"read lineecho $linesed "s/IPADDR.*$/IPADDR=$

  • centos 下面安装python2.7 +pip +mysqld

    python2.7 复制代码 代码如下: wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz yum install xz-libs xz -d Python-2.7.6.tar.xz ls tar -xvf Python-2.7.6.tar cd Python-2.7.6 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-deve

  • CentOS6.5设置Django开发环境

    今天在我的Centos6.5机器上安装 Django 开发环境,在安装完使用 "django-admin.py startproject myapp" 创建应用的时候报了下面的错误 $ django-admin.py startproject myapp Traceback (most recent call last): File "/home/jhadmin/myenv/bin/django-admin.py", line 2, in <module>

  • centos下mysql主从同步快速设置步骤分享

    安装环境 centos 5.4 mysql 5.1.xx 采用rpm直接安装 xtrabackup 1.2.22 采用rpm直接安装 1. Master:/etc/my.cnf [mysqld] server-id = 1 log-bin innodb_flush_log_at_trx_commit=1 sync_binlog=1 datadir=/var/lib/mysql character-set-server=utf8 init_connect='SET NAMES utf8'设定了默认

随机推荐