CentOS中防火墙相关的命令(CentOS7中演示)
CentOS中防火墙程序主要是firewall和iptables,CentOS7中firewall服务已经默认安装好了,而iptables服务需要自己用yum install iptabes-services来安装。
说明:以下演示均在CentOS7中进行,其他版本也大同小异
1、firewall相关的操作
查看防火墙状态
firewall-cmd --state
关闭防火墙
systemctl stop firewalld.service
开启防火墙
systemctl start firewalld.service
禁止开机启动启动防火墙
systemctl disable firewalld.service
2、iptables相关的操作
2.1常规命令
iptables服务需要自己安装,命令是:
yum install iptables-services
如图:
开启iptables防火墙的命令是:
systemctl start iptables.service
重启iptables防火墙的命令是:
systemctl restart iptables.service
关闭iptables防火墙的命令是:
systemctl stop iptables.service
查看iptables防火墙状态的命令是:
systemctl status iptables.service
如图:
2.2使用编辑文件的方式开放特定的端口
很多时候,需要开启防火墙,但是放行某些特定的端口,如何在防火墙开启的状态下,放行50007端口?按照下面的步骤做。
2.2.1修改规则
主要是编辑/etc/sysconfig/iptables文件,编辑方法很多,可以使用vim编辑,也可以直接把该文件下载到本地,用本地工具编辑。
将原来的内容 :INPUTACCEPT [0:0] 修改为 :INPUT DROP[0:0]
将原来的内容 :FORWARDACCEPT [0:0] 修改为 :FORWARD DROP[0:0]
将原来的内容 :OUTPUT ACCEPT [0:0] 修改为 :OUTPUTACCEPT [0:480]
2.2.2添加放行的端口
iptables文件的末尾有如下三行内容:
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -j REJECT--reject-with icmp-host-prohibited
COMMIT
在这这三行的前面添加一行放行50070端口的配置内容:
-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT
同理,如果要放行80端口,就添加一行:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
修改完成后,我的/etc/sysconfig/iptables文件是这样的:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:480]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22-j ACCEPT
-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
2.2.3重启iptables防火墙
执行重启iptables防火墙的命令,命令是:
systemctl restart iptables.service
如图:
2.2.4测试端口放行效果
在使用命令systemctl stop firewalld.service关闭防火墙,使用命令systemctl start iptables.service开启防火墙,但是为配置/etc/sysconfig/iptables文件,未放行50070端口的情况下,访问以下地址http://192.168.27.134:50070/dfshealth.html#tab-overview
是访问不了的,如图:
在配置了/etc/sysconfig/iptables文件,添加了放行50070端口,并且重启了iptables防火墙的情况下,在访问该地址:http://192.168.27.134:50070/
发现OK了,如图:
2.3使用执行命令的方式开放特定端口
2.3.1执行命令
在不手动修改iptables防火墙的配置文件的情况下,使用命令做到放行某些常用端口,命令集合是:
iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -i lo -jACCEPT
iptables -A INPUT -p tcp --dport22 -j ACCEPT
iptables -A INPUT -p tcp --dport21 -j ACCEPT
iptables -A INPUT -p tcp --dport80 -j ACCEPT
iptables -A INPUT -p tcp --dport8080 -j ACCEPT
iptables -A INPUT -p tcp --dport8088 -j ACCEPT
iptables -A INPUT -p tcp --dport443 -j ACCEPT
iptables -A INPUT -p icmp--icmp-type 8 -j ACCEPT
iptables -A INPUT -p tcp --dport50070 -j ACCEPT
iptables -A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
service iptables save
systemctl restart iptables.service
如图:
CentOS中防火墙相关的命令(CentOS7中演示)的更多相关文章
- Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块
Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...
- centos 7 防火墙相关操作
centos 7 防火墙相关操作 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewal ...
- Oracle中sql相关的命令
1.创建用户 SQL> -- 例如创建一个用户名为xiaoming,密码为a123的用户 SQL> create user xiaomingidentified by a123; 用户已创 ...
- linux centos 7 防火墙相关
centos 7 系统 默认是开启防火墙,而且没有打开80和8080等端口. 因此,今天配置tomcat和nginx后,分别无法正常访问 访问80和8080端口都报:502错误.(错误的网关)查询资料 ...
- scrapy 在pycharm中调试 不用到命令行中启动爬虫方法
(目录结构如上图) 在主目录中加入main.py,在其中加入代码,运行此文件就可以运行整个爬虫: # -*- coding: utf-8 -*- __author__='pasaulis' #在程序中 ...
- centos的防火墙相关
在服务器上启动了node服务,但是外面访问不到, 原因是防火墙没开端口,新装的机器,也没有iptables systemctl stop firewalld yum install iptables- ...
- Visual Studio中“后期生成事件命令行” 中使用XCopy命令
将程序所依赖的动态库与其他依赖文件做了分类,使用XCopy命令自动生成相应的目录结构. set source="$(TargetDir)" set output="$(S ...
- Redis字符串(STRING)中BIT相关命令
上篇文章我们对STRING数据类型中一些基本的命令进行了介绍,但是没有涉及到BIT相关的命令,本文我们就来看看几个和BIT相关的命令. 本文是Redis系列的第四篇文章,了解前面的文章有助于更好的理解 ...
- Windows命令行中pip install jieba,但没有安装到anaconda3中
系统混淆了python3环境下的pip和anaconda3环境下的pip. 找到Anaconda3的Scripts目录,我这里是C:\Users\Diane\Anaconda3\Scripts 将该目 ...
随机推荐
- xcode Automatic signing is unable to resolve an issue with the "ShowCar-IOS" target's entitlements
1.https://stackoverflow.com/questions/37806538/code-signing-is-required-for-product-type-application ...
- 【C++/数据结构】顺序表的基本操作
<span style="font-size:18px;"><strong>#pragma once #include <iostream> u ...
- iOS- "unacceptable content-type: text/plain"等content-type bug解决方式
常常在使用AFN的时候会出现content-type错误,缺少请求类型,比方"unacceptable content-type: text/plain" 解决方法: 1.在网络请 ...
- SUSE glibc升级为2.18过程记录
先验知识:1.运行时,动态库的装载依赖于ld-linux.so.6的实现,它查找共享库的顺序如下:(1)ld-linux.so.6在可执行的目标文件中被指定,可用readelf命令查看(2)ld-li ...
- Wifi加密协议漏洞
互联网,移动互联网,物联网给我们带来便利的同时,也更容易让我们被黑客攻击,安全问题也越来越突出重要.比如近些天出现的wpa2的漏洞,让广泛应用的Wifi处于危机状态,说不定哪天你身边黑客就利用它攻击获 ...
- docker(部署常见应用):docker部署nginx
上回说到centos安装docker. 这次用实战,docker部署运行常见的应用. docker常用命令 参看:docker命令大全.这里不做赘述. docker部署nginx 1.docker h ...
- error:informix Unable to load translation shared library 解决方案
错误:设置informix ODBC时“error:informix Unable to load translation shared library ” 原因 INFORMIXDIR环境变量在操作 ...
- @section Scripts{}的使用
MVC视图中,Javascripts代码被放于下面的Razor代码中(@section Scripts{}). 好处:在视图进行JavaScript编程时,是一个很好的实践,在共享视图(_Layout ...
- java 抽象工厂模式简单实例
抽象工厂模式:提供一个创建一系列的相关的或者依赖的对象的接口,无需指定它们的具体实现类,具体的时间分别在子类工厂中产生. 类似于工厂模式:隔离了具体类的生产实现,使得替换具体的工厂实现类很容易.包含有 ...
- 06--C语言数学函数
在使用C语言数学函数时候,应该在该源文件中使用以下命令行: #include <math.h> 或 #include "math.h",这里的<>跟&quo ...