防火墙iptables配置-笔记
发布人:shili8
发布时间:2024-11-17 04:52
阅读次数:0
**防火墙IPTABLES配置笔记**
**前言**
在Linux系统中,防火墙是必不可少的安全组件之一。IPTABLES(Internet Protocol Tables)是Linux内核提供的一种网络防火墙管理工具。通过IPTABLES,可以对网络流量进行过滤、转发和 NAT 等操作,从而实现网络安全保护。
**基本概念**
* **链表**(Chain Table):IPTABLES中,规则被存储在链表中,每个链表代表一个具体的功能,如INPUT链表用于处理输入流量,OUTPUT链表用于处理输出流量等。
* **规则**(Rule):每条规则都有特定的匹配条件和动作。匹配条件可以是IP地址、端口号、协议类型等,而动作可以是ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)等。
**基本命令**
* **iptables -n -L**:列出所有链表的规则。
* **iptables -A INPUT -p tcp --dport80 -j ACCEPT**:在INPUT链表中添加一条规则,匹配条件是TCP协议、端口号为80,动作是接受。
* **iptables -D INPUT1**:删除INPUT链表中的第一条规则。
**配置示例**
### 配置基本防火墙
bash# 列出所有链表的规则iptables -n -L# 在INPUT链表中添加一条规则,匹配条件是TCP协议、端口号为22(SSH),动作是接受iptables -A INPUT -p tcp --dport22 -j ACCEPT# 在OUTPUT链表中添加一条规则,匹配条件是TCP协议、端口号为80(HTTP),动作是接受iptables -A OUTPUT -p tcp --dport80 -j ACCEPT# 列出所有链表的规则iptables -n -L
### 配置NAT
bash# 在POSTROUTING链表中添加一条规则,匹配条件是源IP地址为192.168.1.100,动作是SNAT到外部IP地址为8.8.8.8iptables -t nat -A POSTROUTING -s192.168.1.100 -j SNAT --to-source8.8.8.8# 列出所有链表的规则iptables -n -L
### 配置转发
bash# 在FORWARD链表中添加一条规则,匹配条件是源IP地址为192.168.1.100、目的IP地址为192.168.2.100,动作是转发到外部IP地址为8.8.8.8iptables -A FORWARD -s192.168.1.100 -d192.168.2.100 -j ACCEPT# 列出所有链表的规则iptables -n -L
### 配置拒绝
bash# 在INPUT链表中添加一条规则,匹配条件是源IP地址为192.168.1.100、目的端口号为80(HTTP),动作是拒绝iptables -A INPUT -s192.168.1.100 --dport80 -j REJECT# 列出所有链表的规则iptables -n -L
### 配置丢弃
bash# 在INPUT链表中添加一条规则,匹配条件是源IP地址为192.168.1.100、目的端口号为22(SSH),动作是丢弃iptables -A INPUT -s192.168.1.100 --dport22 -j DROP# 列出所有链表的规则iptables -n -L
**总结**
IPTABLES是一种强大的网络防火墙管理工具,可以对网络流量进行过滤、转发和NAT等操作。通过配置基本防火墙、NAT、转发、拒绝和丢弃等功能,可以实现网络安全保护。