iptables命令实例与配置详解

需积分: 9 3 下载量 138 浏览量 更新于2024-09-09 收藏 5KB TXT 举报
iptables 是Linux系统中一个强大的包过滤防火墙工具,它能够灵活地控制进出网络的数据包流量,实现网络访问控制、端口转发、地址转换等功能。本文档提供了一些关于iptables命令的实际应用实例,帮助用户理解和掌握其基本操作。 首先,`iptables-L --line-numbers -n` 命令用于列出当前iptables规则表中的所有规则,包括链(chain)、协议(protocol)、源地址(source)、目标地址(destination)和操作(action),并以数字序号显示,便于管理和排查。 1. 删除(DROP)输入链(INPUT)的第一条规则,这样可以阻止未经授权的入站连接: ``` iptables-DINPUT 1 ``` `iptables-PINPUT DROP` 设置默认策略为拒绝所有入站连接,然后将这条规则添加回去,确保系统的安全性。 2. NAT(网络地址转换)是iptables的重要功能,用于隐藏内部网络的IP地址。`iptables -t nat` 进入nat表。以下命令示例演示了如何配置NAT规则: - 配置从内部网络192.168.10.0/24的出站连接被伪装成外部地址192.168.253.138的IP进行访问: ``` iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE ``` - 对于来自192.168.2.7的TCP请求到内部服务器80端口,设置源地址映射(SNAT),将外部IP地址192.168.253.136的响应发送回192.168.2.7: ``` iptables -t nat -A PREROUTING -d 192.168.2.7 -p tcp --dport 7777 -j DNAT --to-destination 192.168.253.136:80 ``` - 同样,配置从内部192.168.253.136对外部请求的回应进行源地址转换,将外部请求的源地址伪装为192.168.253.138: ``` iptables -t nat -A POSTROUTING -d 192.168.253.136 -p tcp --dport 80 -j SNAT --to-source 192.168.253.138 ``` 3. 接下来,文档还展示了如何启用转发功能(IP forwarding),允许内部网络间的通信,并配置NAT规则来转发特定端口的请求: ``` echo 1 > /proc/sys/net/ipv4/ip_forward ``` 对于10.47.242.188和10.47.244.202之间的端口映射,设置DNAT将10.47.242.218的6000端口请求转发到10.47.242.188的5000端口,反之亦然: ``` iptables -t nat -A POSTROUTING -s 10.47.242.218 -p tcp --sport 6000 -j SNAT --to 10.47.242.188 iptables -t nat -A PREROUTING -d 10.47.242.188 -p tcp --dport 5000 -j DNAT --to 10.47.244.202 ``` 通过这些实例,读者可以了解到iptables的基本用法,包括创建规则、管理访问控制和执行地址转换,这对于网络安全和网络管理具有实际意义。同时,理解这些命令有助于在需要时灵活配置和调整网络策略,以满足不同场景的需求。