热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOs7使用iptables防火墙开启关闭端口

CentOs7使用iptables防火墙开启关闭端口#0x01介绍iptables命令是Linux上常用的防火墙软件,是netfilter

CentOs7 使用iptables防火墙开启关闭端口
 

# 0x01介绍

iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分
iptables文件设置路径:命令:vim /etc/sysconfig/iptables-config

0x02注意事项

如果说你以前使用的是contos7 那么默认使用的防火墙那么就是Firewall 这样的话,就要先把Firewall 给关闭在使用iptables

关闭Firewall 命令
命令:systemctl stop firewalld #关闭防火墙
命令:systemctl disable firewalld #禁止开机启动

0x03检查是否安装了iptables

命令:service iptables status

0x04安装iptables

命令:yum install -y iptables

0x05升级iptables

命令:yum update iptables

0x06安装iptables-services

命令:yum install iptables-services

0x07开启防火墙

命令:systemctl start iptables.service #启动防火墙
命令:systemctl enable iptables.service #设置开机自启动

0x08关闭防火墙

命令:systemctl stop iptables.service #关闭防火墙
命令:systemctl disable iptables.service #禁止开机启动

0x09查看iptables状态

命令:systemctl status iptables.service

0x10查看iptables现有规则

命令:iptables -L -n

0x11重点:清除默认的防火墙规则

11.1 安装完成基本配置-允许所有请求防止悲剧
首先在清除前要将policy INPUT改成ACCEPT,表示接受一切请求。
这个一定要先做,不然清空后可能会直接悲剧
设置 INPUT 方向所有的请求都允许
命令:iptables -P INPUT ACCEPT

11.2 安装完成基本配置-清空所有默认规则
命令:iptables -F

11.3 安装完成基本配置-清空所有自定义规则
命令:iptables -X

11.4 安装完成基本配置-所有计数器归0
命令:iptables -Z

0x12重点:配置规则

12.1允许来自于lo接口的数据包
如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1
命令:iptables -A INPUT -i lo -j ACCEPT

12.2开启某个端口
iptables -A INPUT -p tcp --dport 端口 -j ACCEPT

12.2.1例子:开启80,22端口
命令:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
命令:iptables -A INPUT -p tcp --dport 22 -j ACCEPT

12.3允许icmp包通过,也就是允许ping
命令:iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

12.4允许所有对外请求的返回包
本机对外请求相当于OUTPUT,对于返回数据包必须要接收啊,这相当于INPUT了
命令:iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

12.5如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s 192.168.1.50(改为允许的内网IP即可) -j ACCEPT

12.6过滤除iptables规则之外的所有请求
命令:iptables -P INPUT DROP

0x13 重点:保存规则

注意:设置完成以后先执行命令iptables -L -n看一下配置是否正确。
没问题后,先不要急着保存,因为没保存只是当前有效,重启后就不生效,这样万一有什么问题,可以后台强制重启服务器恢复设置。
另外开一个ssh连接,确保可以登陆。
确保没问题之后在进行保存
保存命令:service iptables save

0x14 重启防火墙

systemctl restart iptables.service

0x15 杂项

15.1要封停一个IP,使用下面这条命令
命令:iptables -I INPUT -s ... -j DROP

15.2 要解封一个IP,使用下面这条命令
命令:iptables -D INPUT -s ... -j DROP

0x16 删除某个已有规则

要删除规则那么我们就需要先将所有iptables规则以序号标记显示,执行:
命令:iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:
命令:iptables -D INPUT 8

0x17 例子:完整的设置脚本

 #!/bin/sh #查看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 #保存 service iptables save #重启动 serv systemctl restart iptables.service 

(。・`ω´・) 哇哦


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Docker从安装到入门到项目部署
    容器化的时代你怎么可 ... [详细]
  • 第六章CentOS7 配置 Jenkins
    Jenkins1.下载JenkinsJenkins下载地址Jenkins文档地址2.安装Jenkinsrz,上传到Linux服务器rpm-ijenkins-2.107.3-1.1. ... [详细]
  • 大数据学习环境安装关于防火墙​centos7使用的是firewalld,centos之前使用的是iptablesCentOS7关闭防火墙查看防火墙状态sudosy ... [详细]
  • 如何配置mysql双主_MySQL双主配置_MySQL
    准备环境:服务器操作系统为RHEL6.4x86_64,为最小化安装。主机A和主机B均关闭防火墙和SELINUX,IP地址分别为192.168.131.1 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  •  参考自:https:linux.cnarticle-6719-1.html一、安装  首先通过xshell5先登陆来到字符界面(xshell通过SSH连接请参见之前随笔)  先下载redis, ... [详细]
  • Ubuntu16.0464位安装armlinuxgcc交叉编译器以及samba服务器
    交叉编译器是嵌入式开发的必要工具,但是由于目前大多数人使用64位ubuntu,在照着很多教程做的时候,就会失败,失败原因是64位ubuntu需要额外安装32位的兼容包。以arm-l ... [详细]
  • 系统管理部分软件包管理进程管理服务管理磁盘管理系统管理之软件包管理软件包的安装方式yumapt方式rpmdpkg方式编译安装方式二进制安装方式rpm安装方式增删改查安装:-ivh查 ... [详细]
  • 突然觉得服务器ssh密码登录总是浪费一定量的时间,就想试试用sshKey进行登录。生成服务器sshkey和本地sshkey$ssh-keygen在服务器上生成一个authorize ... [详细]
  • 服务器系统控制台怎么打开文件,云服务器控制台怎么打开文件
    云服务器控制台怎么打开文件内容精选换一换远程桌面协议(RemoteDesktopProtocol,RDP),是微软提供的多通道的远程登录协议。本节为您介 ... [详细]
  • 本人先前是linux的支持都,使用过后就成为了其的鄙视者,观点如下:linux想跟windows比,tmd先搞好软件安装的问题。在linux在动不动就要命令行,有多少人会这恶心的命令行。会命令 ... [详细]
  • helm V3版本
    1、引入(1)之前方式部署应用基本过程*编写yaml文件**deployment**Service**Ingress(负载均衡、 ... [详细]
  • Mysql安装和初步使用
    2019独角兽企业重金招聘Python工程师标准一、安装1、下载及安装:官网:https:downloads.mysql.comarchivesc ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
author-avatar
翁向军_943
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有