扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Linux 的内置firewall机制,是通过kernel中的netfilter模块实现的(www.netfilter.ort)。Linux kernel使用netfilter对进出的数据包进行过滤,netfilter由三个规则表组成,每个表又有许多内建的链组成。通过使用iptables命令可以对这些表链进行操作,如添加、删除和列出规则等。
一、Netfilter规则表—filter nat mangle
filter,用于路由网络数据包。是默认的,也就是说如果没有指定-t参数,当创建一条新规则时,它会默认存放到该表内。
INPUT 网络数据包流向服务器
OUTPUT 网络数据包从服务器流出
FORWARD 网络数据包经服务器路由
nat,用于NAT表.NAT(Net Address Translation )是一种IP地址转换方法。
PREROUTING 网络数据包到达服务器时可以被修改
OUTPUT 网络数据包由服务器流出
POSTROUTING 网络数据包在即将从服务器发出时可以被修改
mangle,用于修改网络数据包的表,如TOS(Type Of Service),TTL(Time To Live),等
INPUT 网络数据包流向服务器
OUTPUT 网络数据包流出服务器
FORWARD 网络数据包经由服务器转发
PREROUTING 网络数据包到达服务器时可以被修改
POSTROUTING 网络数据包在即将从服务器发出时可以被修改
1.配置Iptables
当数据包进入服务器时,Linux Kernel会查找对应的链,直到找到一条规则与数据包匹配。如果该规则的target是ACCEPT,就会跳过剩下的规则,数据包会被继续发送。如果该规则的target是DROP,该数据包会被拦截掉,kernel不会再参考其他规则。
Note:如果从始至终都没有一条规则与数据包匹配,而且表末尾又没有drop all的规则,那末该数据包会被accept。Cisco则相反,在表末尾会因含deny all的规则。
1.) Iptables的命令选项
iptables [-t tables] command option parameter target
-A 在链尾添加一条规则
-C 将规则添加到用户定义链之前对其进行检查
-D 从链中删除一条规则
-E 重命名用户定义的链,不改变链本身
-F 清空链,删除链上的所有规则
-I 在链中插入一条规则
-L 列出某个链上的规则,如iptables –L INPUT 列出INPUT链的规则
-N 创建一个新链
-P 定义某个链的默认策略
-R 替换链上的某条规则
-X 删除某个用户相关的链
-Z 将所有表的所有链的字节和数据包计数器清零
2.) Iptables的命令参数
-p –protocol
应用于数据包的协议类型,可以是TCP UDP ICMP或ALL。!也可使用。iptables –A INPUT –p tcp –dport 80 –j ACCEPT |
iptables –A INPUT –i eth0 –p tcp - - sport 68 - -dport 67 ACCEPT iptables –A INPUT –i eth0 –p ucp - -sport 68 - -dport 67 ACCEPT |
iptables-restore < /etc/iptables.up.rule |
二、Ubuntu Server中的Iptables
Ubuntu Server6.06中已经默认安装iptables,版本是1.3.3.默认状态是关闭。
通过修改/etc/network/interfaces可将iptables打开:
auto lo Iface lo inet loopback auto eth0 iface eth0 inet dhcp |
pre-up iptables-restore < /etc/iptables.up.rule #call the restored rule when active the eth0 post-down iptables-save > /etc/iptables.up.rule #restore the iptables rule when shutdown the interface eth0 |
#Generated by iptables-save V1.3.3 on Tue Jul 31 14:18:44 2007 *filter :INPUT ACCEPT [73:8213] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [8:825] -A INPUT –i lo –p icmp –j DROP -A INPUT –i eth0 –p icmp –j DROP COMMIT #Completed on Tue Jul 31 14:10:44 2007 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
去集群 更超群——大容量网络演进之路
2019 IBM 中国论坛
H3C 2019 Navigate 领航者峰会
助推数据中心网络现代化转型 打造灵活可靠基础架构平台