CentOs7 使用iptables防火墙开启关闭端口
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 使用iptables防火墙开启关闭端口的更多相关文章
- CentOS 7设置iptables防火墙开放proftpd端口
由于ftp的被动模式是这样的,客户端跟服务器端的21号端口交互信令,服务器端开启21号端口能够使客户端登录以及查看目录.但是ftp被动模式用于传输数据的端口却不是21,而是大于1024的随机或配置文件 ...
- CentOS 7 设置iptables防火墙开放proftpd端口
由于ftp的被动模式是这样的,客户端跟服务器端的21号端口交互信令,服务器端开启21号端口能够使客户端登录以及查看目录.但是ftp被动模式用于传输数据的端口却不是21,而是大于1024的随机或配置文件 ...
- [Linux.NET] CentOS 开启/关闭端口
最近一直在学习研究mvc网站部署到Linux上,Web服务器用的Jexus,linux版本是阿里云提供的centos.一个服务器又要放多个独立网站,对于学习阶段使用多个端口标识还是挺方便的,本文记录下 ...
- centos开启nginx服务成功,却无法访问。没有开启80端口。centos配置防火墙 开启80端口
Linux配置防火墙 开启80端口 编辑配置文件/etc/sysconfig/iptables [root@weixinht ~]# vim /etc/sysconfig/iptables 1 # F ...
- CentOs7 使用iptables开启关闭端口
介绍 iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分 iptables文件设置路径:命令:vim /etc/sysconfig/iptables-config 注 ...
- CentOS系统iptables防火墙的启动、停止以及开启关闭端口的操作
CentOS 配置防火墙操作实例(启.停.开.闭端口):注:防火墙的基本操作命令:查询防火墙状态:[root@localhost ~]# service iptables status停止防火墙: ...
- CentOS7使用iptables防火墙开放端口
背景:在CentOS上面安装了mysql.svn.tomcat等软件,发现访问不了,用telnet命令查看端口,发现都不通: telnet IP 端口 CentOS7 默认使用firewalld防火墙 ...
- Centos7(Firewall)防火墙开启常见端口命令
Centos7默认安装了firewalld,如果没有安装的话,则需要YUM命令安装:firewalld真的用不习惯,与之前的iptable防火墙区别太大,但毕竟是未来主流讲究慢慢磨合它的设置规则: 安 ...
- Centos7(Firewall)防火墙开启常见端口命令
使用云服务器的,一定要注意开启安全组配置的响应端口 Centos7默认安装了firewalld,如果没有安装的话,则需要YUM命令安装:firewalld真的用不习惯,与之前的iptable防火墙区别 ...
随机推荐
- Ignatius and the Princess III(方案背包+搜索)
就是问你,n这个数可以被多少种方案组成. 比如: 算是,方案+完全背包的模板题了. #include<iostream> #include<cstring> using nam ...
- 时间同步ctss与ntp的关系【CTSSD Runs in Observer Mode Even Though No Time Sync Software is Running (Doc ID 1054006.1) 】
CTSSD Runs in Observer Mode Even Though No Time Sync Software is Running (Doc ID 1054006.1) In this ...
- hibernate validator 动态返回国际化提示
一.说明 以下方法实现了读取指定国际化文件的校验器. 1. MyMessages是自定义的国际化文件,放置在src的根目录下 例如有MyMessages_en_US.properties.MyMess ...
- LVS + Keepalived 理论
LVS 纯理论: VRRP协议与工作原理 在现实的网络环境中,主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障通信就会失效,因此这种通信模式当中,路由器就成了 ...
- uploadify 302 上传图片报错
1.uploadify 302 上传图片报错 2.解决方式 一 uploadify 302 上传图片报错 备注:谷歌浏览器不报错,只在火狐报错. 二 解决方式 原因:插件调用,不能自带身份验证信息 ...
- 【Codeforces 331D3】Escaping on Beaveractor
题意:给\(b\times b\)的网格,其中有\(n\)个不交叉的箭头. 现在有\(q\)个询问,每个询问包含一个点\((x,y)\),以及一个方向\(dir\).时间\(t\). 要求从\((x, ...
- SkylineGlobe 如何实现FlyTo定位到目标点之后触发的事件函数
之前有朋友问,如何在Skyline里面实现FlyTo定位到目标点之后触发的事件函数呢? 下面的这段代码,就可以帮你解决这个问题. <!DOCTYPE html PUBLIC "-//W ...
- [02] mybatis-config.xml 全局配置文件解析
本篇会摘录mybatis全局配置文件中比较常见常用的一些配置进行说明,其实官方文档已经写得足够清晰了(关键是还有中文版完全不慌),此处记录重要还是作为个人的巩固记录. 1.properties 在全局 ...
- BZOJ4816 SDOI2017 数字表格 莫比乌斯反演
传送门 做莫比乌斯反演题显著提高了我的\(\LaTeX\)水平 推式子(默认\(N \leq M\),分数下取整,会省略大部分过程) \(\begin{align*} \prod\limits_{i= ...
- asp.net web api集成微信服务(使用Senparc微信SDK)- z
/// <summary> /// 微信请求转发控制器 /// </summary> [RoutePrefix("weixin")] public clas ...