IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux下iptables防火墙详解 -> 正文阅读

[系统运维]Linux下iptables防火墙详解

什么是防火墙?

在计算中,防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。计算机的所有流入流出的网络通信都要经过防火墙,防火墙对流经他的网络通信进行扫描,这样就能过滤掉一些攻击。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它所设置的规则是存放在内核空间内,而iptables是一个应用层的应用程序,它通过Netfilter放出的接口来对存放在内核空间的XXtables进行修改。

链:

iptables开启后,数据报文从进入服务器到出来会经过
Pre-routing(路由前)
Input(输入)
Output(输出)
Forward(转发)
Post-routing(路由后):

在这里插入图片描述
centos7默认没有iptables所以要安装iptables:

sudo yum -y install iptables ##安装iptables防火墙
sudo yum -y install iptables-service ##安装iptables的service启动工具
systemctl status iptables ##查看iptables状态
systemctl reload iptables ##重载iptables

iptables常用命令:

iptables -A 将一个规则添加到链末尾
iptables -D 将指定的链中删除规则
iptables -F 将指定的链中删除所有规则
iptables -I 将在指定链的指定编号位置插入一个规则
iptables -L 列出指定链中所有规则
iptables -t nat -L 列出所有NAT链中所有规则
iptables -N 建立用户定义链
iptables -X 删除用户定义链
iptables -P 修改链的默认设置,如将iptables -P INPUT DROP (将INPUT链设置为DROP)

设置参数介绍:

--dport 指定目标TCP/IP端口 如 –dport 80
--sport 指定源TCP/IP端口 如 –sport 80
-p tcp 指定协议为tcp
-p icmp 指定协议为ICMP
-p udp 指定协议为UDP
-j DROP 拒绝
-j ACCEPT 允许
-j REJECT 拒绝并向发出消息的计算机发一个消息
-j LOG 在/var/log/messages中登记分组匹配的记录
-m mac –mac 绑定MAC地址
-m limit –limit 1/s 1/m 设置时间策列
-s 10.10.0.0或10.10.0.0/16 指定源地址或地址段
-d 10.10.0.0或10.10.0.0/16 指定目标地址或地址段

iptables配置文件

配置文件位置:/etc/sysconfig/iptables

配置filter表防火墙

1.查看iptables的配置信息

[root@master ~]# iptables -L -n  
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

设置预设规则

请求接入包丢弃:
[root@master ~]# iptables -p INPUT DROP
接受响应数据包:
[root@matser ~]# iptables -p OUTPUT ACCEPT
转发数据包丢弃:
[root@master ~]# iptables -p FORWARD DROP

添加防火墙规则

首先添加INPUT链(必须大写),INPUT链的默认规则是DROP,所以我就写需要ACCEPT(通过)的链。
1.开启SSH服务端口

[root@master ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@master ~]# iptables -nvL
Chain INPUT (policy ACCEPT 3 packets, 228 bytes)
 pkts bytes target     prot opt in     out     source               destinatio                                                             n
   50  2916 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0                                                                         tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destinatio                                                             n

Chain OUTPUT (policy ACCEPT 30 packets, 2392 bytes)
 pkts bytes target     prot opt in     out     source               destinatio                                                             n

2.开启Web服务端口

[root@master ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
[root@master ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

3.开启DNS服务的53端口

[root@matser ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT

4.只允许某台主机或者某个网段进行SSH连接

[root@master ~]# iptables -A INPUT -s 192.168.231.3 -p tcp --dport 22 -j ACCEPT
[root@master ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  master               anywhere             tcp dpt:ssh

如果允许或者限制一段IP地址可用192.168.231.0/24表示192.168.231.1-255的所有ip。

[root@master ~]# iptables -A INPUT -s 192.168.231.0/24 -p tcp --dport 22 -j ACCEPT
[root@master ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  master               anywhere             tcp dpt:ssh
ACCEPT     tcp  --  192.168.231.0/24     anywhere             tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

删除iptables的记录

1.直接清空

[root@master ~]# iptables -t filter -F INPUT

2.根据编号删除

[root@master ~]# iptables -t filter -D INPUT 2

3.根据条件删除

[root@master ~]# iptables -t filter -D INPUT -s 192.168.231.3 -j DROP

保存规则

[root@master ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:27:51  更:2022-01-12 00:28:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:28:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码