iptables filter表案例、iptables nat表应用
2017-11-30 22:52
369 查看
七周四次课(11月30日)
10.15 iptables filter表案例
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP
iptable -I是在最前面增加一条规则 -A在最后面增加一条规则 -D是删除规则 后面跟链的名字
-s 后面跟源IP -p指定协议(tcp、) –sport 源端口 -d 目标IP –dport目标端口 -j 跟行为(DORP、ACCEPT) –line-numbers 列出规则编号
iptables -nvL -D INPUT 2 根据编号删除规则
iptables -P INPUT DROP 指定链的默认策略
放行指定端口:
创建脚本:
注意: 脚本中指定的IP如果和主机IP不同时不要在远程端口直接运行该脚本!
icmp示例
iptables -I INPUT -p icmp –icmp-type 8 -j DROP
执行该脚本中的规则:
sh /usr/local/sbin/iptables.sh
说明: 该规则的含义是:只允许本机访问外网,不允许外网访问本机!
10.16/10.17/10.18 iptables nat表应用
eth0:192.168.200.156 eth0:192.168.200.158 eth0:192.168.100.254
网关:192.168.200.158 eth1:192.168.100.10
所有Ip都在一个交换机下面
iptables 配置如下:
分析:
1)客户端访问web,mangle表不考虑,首先通过PREROUTING链表,对于192.168.200.156发送的数据包来说,没有对PREROUTING链表的规则,则放行,经过路由判断,目的地址为
192.168.100.254,则通往B,此时会经过FORWARD链表,由下面iptables配置知,这个数据包将被放行,再经过POSTROUTING链表,可知,这个数据包的来源将被改为192.168.100.10,然后被发送出到web
2)web通过客户端发来的数据包,分析到这个数据包的来源为192.168.100.10,则web回应一个数据包给nat服务器,首先经过PREROUTING链表,web知道了192.168.100.10这个ip地址就能将数据包发送到客户端手中只需要 iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT就行,具体原因是怎么将目的地址192.168.100.10改为客户端的ip地址的,估计是nat服务器上有端口映射等原因,不是很清楚
10.15 iptables filter表案例
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP
iptable -I是在最前面增加一条规则 -A在最后面增加一条规则 -D是删除规则 后面跟链的名字
-s 后面跟源IP -p指定协议(tcp、) –sport 源端口 -d 目标IP –dport目标端口 -j 跟行为(DORP、ACCEPT) –line-numbers 列出规则编号
iptables -nvL -D INPUT 2 根据编号删除规则
iptables -P INPUT DROP 指定链的默认策略
放行指定端口:
创建脚本:
vi /usr/local/sbin/iptables.sh #! /bin/bash ipt="/usr/sbin/iptables" # 定义一个变量——iptables命令(定义变量时尽量使用绝对路径,避免环境变量的影响) $ipt -F # 清空原有规则 $ipt -P INPUT DROP $ipt -P OUTPUT ACCEPT $ipt -P FORWARD ACCEPT # 上面三行是定义其默认策略 $ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # -m是指定检测状态,--state指定数据包状态(配合-m使用),该命令行的目的是使数据处理(通信 )更顺畅 $ipt -A INPUT -s 192.168.8.0/24 -p tcp --dport 22 -j ACCEPT $ipt -A INPUT -p tcp --dport 80 -j ACCEPT $ipt -A INPUT -p tcp --dport 21 -j ACCEPT # 上面三行命令是指定放行的包的类型
注意: 脚本中指定的IP如果和主机IP不同时不要在远程端口直接运行该脚本!
icmp示例
iptables -I INPUT -p icmp –icmp-type 8 -j DROP
执行该脚本中的规则:
sh /usr/local/sbin/iptables.sh
说明: 该规则的含义是:只允许本机访问外网,不允许外网访问本机!
10.16/10.17/10.18 iptables nat表应用
客户端 nat服务器 web服务器
eth0:192.168.200.156 eth0:192.168.200.158 eth0:192.168.100.254
网关:192.168.200.158 eth1:192.168.100.10
所有Ip都在一个交换机下面
iptables 配置如下:
#清除默认规则 iptables -F iptables -X iptables -Z iptables -t nat -F iptables -t nat -X iptables -t nat -Z #默认操作 iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #INPUT基本规则 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP #FORWARD基本规则 iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP #放行所有通过lo的数据包 iptables -A INPUT -i lo -j ACCEPT #icmp iptables -A INPUT -p icmp --icmp-type any -s 192.168.200.0/24 -j ACCEPT iptables -A INPUT -p icmp --icmp-type any -s 192.168.100/24 -j ACCEPT #sshd iptables -A INPUT -s 192.168.200.0/24 -i eth1 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s 192.168.200.0/24 -i eth1 -p udp --dport 22 -j ACCEPT #nginx or httpd iptables -A INPUT -s 192.168.200.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -s 192.168.200.0/24 -i eth1 -p udp --dport 80 -j ACCEPT #修改数据包的来源ip iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -j SNAT --to-source 192.168.100.10 #放行的ip iptables -A FORWARD -s 192.168.200.156 -j ACCEPT service iptables save service iptables restart #iptables-save 查看规则比iptables -L更好读懂
分析:
1)客户端访问web,mangle表不考虑,首先通过PREROUTING链表,对于192.168.200.156发送的数据包来说,没有对PREROUTING链表的规则,则放行,经过路由判断,目的地址为
192.168.100.254,则通往B,此时会经过FORWARD链表,由下面iptables配置知,这个数据包将被放行,再经过POSTROUTING链表,可知,这个数据包的来源将被改为192.168.100.10,然后被发送出到web
2)web通过客户端发来的数据包,分析到这个数据包的来源为192.168.100.10,则web回应一个数据包给nat服务器,首先经过PREROUTING链表,web知道了192.168.100.10这个ip地址就能将数据包发送到客户端手中只需要 iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT就行,具体原因是怎么将目的地址192.168.100.10改为客户端的ip地址的,估计是nat服务器上有端口映射等原因,不是很清楚
相关文章推荐
- iptables案例,NAT表应用
- iptables filter表案例,iptables nat表应用
- 10.15 iptables filter表案例, iptables nat表应用
- 11.30 iptables filter表案例 iptables nat表应用
- iptables之mangle表应用实现策略路由+(案例)
- iptables nat表应用
- 防火墙iptables服务及应用案例
- 企业中squid+iptables多模块的综合应用案例
- iptables案例、iptables的nat表
- 企业中squid+iptables多模块的综合应用案例
- 企业级办公室iptables防火墙应用案例
- Linux日常维护(filter的一个小案例,filter的nat表应用)
- iptables的工作原理和案例应用
- shell for循环案例:自动批量添加iptables应用端口规则 推荐
- iptables及tcpdump实战应用案例
- iptables之mangle表应用实现策略路由+(案例)
- 73.fileter表案例,NAT表的应用
- 介绍一个Rusty Russell关于iptables快速应用案例
- iptables的nat表应用(默认路由指向、端口映射)
- 第五章:iptables应用案例分析(客户端上设置iptables)