centos7默认使用的防火墙是firewalld

查看所有打开的端口: firewall-cmd --zone=public --list-ports

更新防火墙规则: firewall-cmd --reload
重新启动防火墙 :service firewalld restart
拒绝所有包:firewall-cmd --panic-on ####xshell等工具慎用
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
添加端口规则:firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
查询端口是否有效:firewall-cmd --zone=public --query-port=80/tcp
删除端口:firewall-cmd --zone= public --remove-port=80/tcp --permanent
iptables用于过滤数据包,属于网络层防火墙.
firewall能够允许哪些服务可用,那些端口可用.... 属于更高一层的防火墙。
firewall的底层是使用iptables进行数据过滤,建立在iptables之上。

 

1、安装iptable iptable-service
#先检查是否安装了iptables service iptables status
#安装iptables yum install -y iptables
#升级iptables(安装的最新版本则不需要) yum update iptables
#安装iptables-services yum install iptables-services
2、禁用/停止自带的firewalld服务
#停止firewalld服务:systemctl stop firewalld
#禁用firewalld服务:systemctl mask firewalld

  

3、设置现有规则
#查看iptables现有规则 iptables -L -n
#先允许所有规则,防止断开工具链接 iptables -P INPUT ACCEPT
#清空所有默认规则 iptables -F
#清空所有自定义规则 iptables -X
#所有计数器归0 iptables -Z
#允许来自于lo接口的数据包(本地访问) iptables -A INPUT -i lo -j ACCEPT
#开放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP) iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开放80端口(HTTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开放443端口(HTTPS) iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#其他入站一律丢弃 iptables -P INPUT DROP
#所有出站一律绿灯 iptables -P OUTPUT ACCEPT
#所有转发一律丢弃 iptables -P FORWARD DROP

  

4、其他规则设定
#如果要添加内网ip信任(接受其所有TCP请求)iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
#过滤所有非以上规则的请求 iptables -P INPUT DROP
#要封停一个IP,使用下面这条命令:iptables -I INPUT -s ***.***.***.*** -j DROP
#要解封一个IP,使用下面这条命令: iptables -D INPUT -s ***.***.***.*** -j DROP

  

5、保存规则设定
#保存上述规则 service iptables save

  

6、开启iptables服务
#注册iptables服务 相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务 systemctl start iptables.service
#查看状态 systemctl status iptables.service

  

7、映射端口(如将mysql默认的3306端口映射成1306对外提供服务)
iptables -t mangle -I PREROUTING -p tcp --dport 1306 -j MARK --set-mark 883306
iptables -t nat -I PREROUTING -p tcp --dport 1306 -j REDIRECT --to-ports 3306
iptables -I INPUT -p tcp --dport 3306 -m mark --mark 883306 -j ACCEPT

注:iptables文件目录在 /etc/sysconfig/iptables

linux学习随笔2之防火墙的更多相关文章

  1. linux学习笔记三:防火墙设置

    请注意:centOS7和7之前的版本在防火墙设置上不同,只有正确的设置防火墙才能实现window下访问linux中的web应用. centOS6添加端口: vi /ets/sysconfig/ipta ...

  2. Linux学习之八--关闭firewall防火墙安装iptables并配置

    CentOS 7之后默认使用的是firewall作为防火墙,这里改为iptables防火墙,并开启80端口.3306端口. 1.关闭firewall: systemctl stop firewalld ...

  3. linux 学习随笔-shell基础知识

    1:用户的shell历史命令保存在home/username/.bash_history中 #!!  执行用户的上一条命令 #!pw  执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个 ...

  4. linux 学习随笔-磁盘管理

    1:df 用于查看已挂载磁盘的容量信息 -i 查看inodes使用情况 -h 以合适的单位显示 -k -m 分别以k M单位显示 2:du 查看某个文件或者目录占用的空间 du [-abckmsh] ...

  5. Linux学习笔记0-CentOS7关闭防火墙

    关闭防火墙 systemctl stop firewalld.service //停止firewall systemctl disable firewalld.service //禁止firewall ...

  6. linux学习随笔3之linux安全

    1.history显示时间,用户和命令 vim /etc/profile export HISTTIMEFORMAT=" %F %T `who -u am i 2>/dev/null| ...

  7. linux 学习随笔-系统日常管理常用命令

    1:W 查看系统整体负载,无法查看具体负载,比如内存,磁盘  23:25:20 up 13 min,  2 users,  load average: 0.00, 0.01, 0.01 USER   ...

  8. linux 学习随笔-shell简单编写

    脚本最好都放在/usr/local/sbin中 脚本的执行 sh -x 脚本.sh -x可以查看执行过程 1在脚本中使用变量 使用变量的时候,需要使用$符号:  #!/bin/bash  ##把命令赋 ...

  9. linux 学习随笔-压缩和解压缩

    .gz 由gzip压缩工具压缩的文件 .bz2 由bzip2压缩工具压缩的文件 .tar 由tar打包程序打包的文件 .tar.gz 先由tar打包,gzip压缩 .tar.bz2 先由tar打包,b ...

随机推荐

  1. KeyDB重量发布6.3.0开源版

    摘要:5月12日 KeyDB 社区隆重发布了 6.3.0开源版本,将与华为加拿大研究院DCS团队2021-2022年合作的成果,深度优化的企业版的能力贡献给了开源社区. KeyDB是目前Redis 分 ...

  2. 【多线程】JUC版的CopyOnWriteArrayList

    CopyOnWriteArrayList CopyOnWriteArrayList适合于多线程场景下使用,其采用读写分离的思想,读操作不上锁,写操作上锁,且写操作效率较低. CopyOnWriteAr ...

  3. ArcGIS和ArcEngine导出地图时,png格式支持背景透明

    1.ArcGIS支持导出PNG,背景透明 导出png时,背景色和透明色不能设置为空,必须设置为同一个颜色,通常使用白色. 2.ArcEngine支持导出PNG,背景透明 //1.创建export IE ...

  4. linux篇-Parse error: syntax error, unexpected ‘new’ (T_NEW) in /usr/local/nginx/html/cacti/lib/adodb

    1首先这是基于lnmp模式进行的 2yum安装 yum -y install httpd mysql mysql-server php php-mysql php-json php-pdo 3lib库 ...

  5. .net 获取IP地址的几种方式

    1.获取服务器IP地址: 1) Local_Addr var Local_Addr = Request.ServerVariables.Get("Local_Addr").ToSt ...

  6. 从零搭建react+ts组件库(封装antd)

    为什么会有这样一篇文章?因为网上的教程/示例只说了怎么做,没有系统详细的介绍引入这些依赖.为什么要这样配置,甚至有些文章还是错的!迫于技术洁癖,我希望更多的开发小伙伴能够真正的理解一个项目搭建各个方面 ...

  7. ptorch常用代码梯度篇(梯度裁剪、梯度累积、冻结预训练层等)

    梯度裁剪(Gradient Clipping) 在训练比较深或者循环神经网络模型的过程中,我们有可能发生梯度爆炸的情况,这样会导致我们模型训练无法收敛. 我们可以采取一个简单的策略来避免梯度的爆炸,那 ...

  8. CCPC、Petrozavodsk Camp、OpenCup 题解汇总

    省赛 \([\text{2021.11.30}]\) 2021 Jilin Collegiate Programming Contest 全部完成. \([\text{2021.12.25}]\) 2 ...

  9. 充电log关键词

    充电LOG 1.healthd 2.暗码log 1.healthd healthd:battery l=96 v=4378 t=20.0 h=2 st=3 c=55 fc=4709000 cc=15 ...

  10. 命令行传参——JavaSE基础

    命令行传参 可以在运行一个程序时再传递给它消息,可以依靠命令行传参给mian()函数实现 public class CommandLine(){ public static void main(Str ...