#把环境搭建好,测试相邻设备之间的连通性。
#在LINUX服务器上开启路由功能
# echo 1 >/proc/sys/net/ipv4/ip_forward
#开启路由后,2个网段之间就能够互相通讯了。
#定义三条防火墙策略,拒绝全部的访问。
iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP
//定义后,无论内网仍是外网都不能访问iptables防火墙了。
//防火墙也不能访问其余的PC了(内网和外网都不能访问了)
#如何容许防火墙访问其余PC了,又要防火墙权限开到最小。
iptables –t filter –A OUTPUT –d 0.0.0.0/0 –j ACCEPT
//容许防火墙本地流量能够出去到任何网络
iptables –A INPUT –p icmp --icmp-type echo-reply –j ACCEPT
//容许全部的网络回显到防火墙自己接口(这样就能够看到ping通的回显了)
#假如还有不少服务,防火墙有一条默认规则出去,但有些服务必须还有回来访问到本地(Telnet、ssh)怎样容许服务到本地防火墙呢?
iptables –A INPUT –p tcp –sport 22 –j ACCEPT
(1).容许PC1能够ping通外网的服务器,而PC2的拒绝ping通外网?
源 目标 协议
# iptables –t filter –A FORWARD –s 192.168.10.1 –d 202.103.100.0/24 –p icmp
请求 容许
--icmp-type echo-request –j ACCEPT //容许pc1的ping请求到外网服务器。
源 目标 协议
# iptables –t filter –A FORWARD –s 202.103.100.0/24 –d 192.168.10.1 –p icmp -–icmp-type
echo-reply –j ACCEPT //容许外网ping的回显到内网PC1
#作完这两步后,pc1就能够ping通外网了,而pc2不能ping通外网
(2).容许PC1能够查看外网web服务,而pc2不能够访问外网web服务器?
iptables –t filter –A FORWARD –s 192.168.10.1 –d 202.103.100.0/24 –p tcp
--dport 80 –j ACCEPT //容许pc1访问外网的http服务器
iptables –t filter –A FORWARD –s 202.103.100.0/24 –d 192.168.10.1 –p tcp
--sport 80 –j ACCEPT //容许外网Web服务器到内网
#作完2步后,PC1能够访问外网web服务器了,而PC2就不能够访问外网web。
(3).容许pc1能够访问外网DNS服务器,而PC2不能够访问?
iptables –t filter –A FORWARD –s 192.168.10.1 –d 202.103.100.0/24 –p udp
--dport 53 –j ACCEPT //容许pc1访问外网的DNS服务器。
iptables –t filter –A FORWARD –s 202.103.100.0/24 –d 192.168.10.1 –p udp
--sport 53 –j ACCEPT //容许外网的53端口访问PC1。
(4).容许pc1能够访问外网FTP服务器,而PC2不能够访问?
iptables –t filter –A FORWARD –s 192.168.10.1 –d 202.103.100.0/24 –p
tcp –m multiport - -dport 20,21 –j ACCEPT
//容许内网PC1访问到外网的ftp服务器20.21号端口
iptables –t filter –A FORWARD –s 202.103.100.0/24 –d 192.168.10.1 –p tcp –m multiport
--sport 20,21 –j ACCEPT
//容许外网FTP服务器访问到内网PC
(5).拒绝外网PC、服务器ping通iptables防火墙的eth1接口IP?
只要开启了三条链的默认规则DORP,默认外网就不能访问、ping通
防火墙接口了。
(6).容许外网100.1能够ping通IPTABLES的公网IP,而100.2不能够ping通?
iptables –t filter –A INPUT –s 202.103.100.1 –d 202.103.100.200 –p icmp
--icmp-request –j ACCEPT
//容许100.1的ping请求进站到达iptables防火墙。
iptables –t filter –A OUTPUT –s 202.103.100.200 –d 202.103.100.1 –p icmp
--icmp-reply –j ACCEPT
//容许iptables的回显出站到100.1服务器
iptables上容许被开放的服务
iptables -A INPUT -p tcp --sport 80 -j ACCEPT //容许开放TCP的80端口
iptables -A INPUT -p udp --sport 53 -j ACCEPT //容许开启udp的53端口
iptables -A INPUT -p tcp --sport 25 -j ACCEPT //容许开启TCP的25号端口
iptables – NAT转换规则
iptables -t nat -L //查看NAT链中全部的规则
iptables -t nat -F //清除NAT里全部的规则
iptables -t nat -L -n --line-number //以序号显示NAT中的规则
iptables -t nat -D PREROUTING 1 //删除PREROUTING中的第1条链
把内网的服务器发布到外网接口
#DNAT重定向,容许访问公网接口重定向到内网的服务器(53、80、443、25等)
一.Web服务器的发布:
链 入站 协议 防火墙公网接口 服务端口 目NAT 重定向到内网的80接口
iptables -t nat -A PREROUTING -p tcp -d 202.103.100.1 --dport 80 -j DNAT --to 192.168.1.11:80
#在防火墙默认的状况下,这样作后,全部的外网用户在访问eth1接口时,Linux服务器都会把该请求转交给2003web服务器。
#若是咱们把全部的策略都设置成了拒绝(DROP),那还要写2条规则容许外网PC访问内网PC,规则以下:
1. 容许全部外网的IP访问到内网服务器。
iptables –t filter –A FORWARD –s 0.0.0.0/0 –d 192.168.1.11 –p tcp –dport 80 –j ACCEPT
2. 容许内网web服务器的数据出去。
iptables –t filter –A FORWARD –s 192.168.1.11 –d 0.0.0.0/0 –p tcp –sport 80 –j ACCEPT