条件取反_iptables系列------第四篇:iptables匹配条件总结之一
时间: 2023-07-04 12:22:56 浏览: 182
好的,让我来给你总结一下iptables的常见匹配条件:
1. 匹配协议:使用 `-p` 参数指定协议,常见协议包括 TCP、UDP、ICMP等,例如:
```
# 匹配 TCP 协议
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
```
2. 源/目标地址:使用 `-s` 和 `-d` 参数指定源地址和目标地址,例如:
```
# 允许来自 IP 地址为 192.168.1.100 的主机访问 SSH 服务
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
# 允许向 IP 地址为 192.168.1.100 的主机发送 HTTP 请求
iptables -A OUTPUT -d 192.168.1.100 -p tcp --dport 80 -j ACCEPT
```
3. 匹配端口:使用 `--dport` 和 `--sport` 参数指定目标端口和源端口,例如:
```
# 允许访问 SSH 服务
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许从本地主机向远程主机发送 HTTP 请求
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
```
4. 匹配数据包的状态:使用 `--state` 参数指定数据包的状态,例如:
```
# 允许已经建立的 TCP 连接通过
iptables -A INPUT -p tcp --dport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许 ICMP 数据包通过
iptables -A INPUT -p icmp -m state --state NEW -j ACCEPT
```
5. 匹配 MAC 地址:使用 `-m mac --mac-source` 参数指定源 MAC 地址,例如:
```
# 允许来自 MAC 地址为 00:11:22:33:44:55 的主机访问 SSH 服务
iptables -A INPUT -p tcp --dport 22 -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT
```
这些是iptables的常见匹配条件,希望能对你有所帮助。
阅读全文