Linux下iptables防火墙简单配置
Linux防火墙iptables是Linux服务器中使用最广泛的防火墙之一。本文将介绍如何使用iptables完成基本的防火墙配置。
概念:
- NAT:网络地址转换,允许将私有IP地址映射到可路由的公网上。
- IPtables:Linux下的一种网络安全管理策略,基于表和链进行过滤和路由管理。
一、基本语法
iptables -t table command match
- table:表示需要操作的表,常见的有filter、nat、mangle等
- command:表示需要执行的操作,如ACCEPT、DROP、LOG等
- match:表示要匹配的网络接口、协议类型等条件
- target:表示要执行的目标操作,如REDIRECT、MASQUERADE等
- jump:表示根据命令的结果进行跳转的目标,通常和target搭配使用
二、示例
- Allow incoming SSH connection:iptables -A INPUT -p tcp -s 1.1.1.1 --dport 22 -j ACCEPT含义:在input链中添加一条规则,匹配来自1.1.1.1的TCP通信,并将目标端口改为22,最后执行ACCEPT操作通过该TCP连接。
- Drop all incoming traffic:iptables -P INPUT DROP含义:修改input链的默认策略为DROP。
三、应用实例
- Allow outgoing SSH connection:iptables -A OUTPUT -p tcp -d 1.1.1.1 --sport 22 -j ACCEPT含义:在output链中添加一条规则,匹配来自1.1.1.1的TCP流量,目标端口为22,最后执行ACCEPT操作允许该流量通过。
- Block incoming and outgoing traffic:iptables -P INPUT DROP
iptables -P OUTPUT DROP含义:将input、output链的策略都设置为DROP。
- Allow traffic by rule:iptables -A INPUT -p tcp -s 1.1.1.1 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 0.0.0.0 --dport 80 -j ACCEPT含义:在input链中添加2条规则,均匹配来自1.1.1.1的目标TCP流量,目标端口为80,然后执行ACCEPT操作通过。
四、配置规则
- 查看当前表、链:sudo iptables -Lsudo ip6tables -F
sudo ip6tables -Z
sudo ip6tables -X
sudo ip6tables -E注意,这里假设当前系统使用的是IPv6。
- 删除规则:
五、推荐云产品和服务
- 腾讯云: 腾讯云CVM、DNSPOD DNS、云防火墙等
- 阿里云: 阿里云ECS、阿里云NAT网关、云防火墙等
腾讯云CVM、DNSPOD DNS、云防火墙等产品可以帮助客户建立更高效、安全的云平台。