1、配置Linux下的防火墙路由器和代理服务器实验十九配置Linux下的防火墙、路由器和代理服务器实验二十 实验二十一一. 一. 实验目的:掌握在Linux系统平台下架设路由器和用ipchains配置防火墙、透明代理、以及NAT的方法。二. 二. 实验内容:1 1 配置静态路由器;2 2 配置防火墙;3 3 配置NAT;1 1 配置透明代理;2 2 配置Squid代理服务器。三. 三. 实验环境:1 1 网络中包括两个子网A和B。子网A的网络地址为192.168.1.0/24,网关为hostA。HostA有两个接口,eth0和eth1。Eth0连接子网A,IP地址为192.168.1.1。eth1
2、连接外部网络,Ip地址为10.0.0.11。子网B的网络地址为192.168.10.0/24,网关为hostB。HostB有两个网络接口,eth0和eth1。eth0连接子网B,IP地址为192.168.10.1。eth1连接外部网络,IP地址为10.0.0.101。hostA和HostB构成子网C,网络地址是10.0.0.0/24,通过集线器连接到hostC,然后通过hostC连接Internet。HostC的内部网络接口为eth0,IP地址为10.0.0.1。2 2 在hostA、hostB和hostC上都已经安装好Linux系统,并且在hostC上已经设置好了Squid代理服务器。四.
3、四. 实验练习:任务一 配置路由器实验要求:在hostA、hostB和hostC上配置路由器,使子网A和B之间能够互相通信,同时子网A和B内的主机也能够和hostC相互通信。实验内容:配置路由器,实现各子网和主机间的通信,检测配置。实验步骤: 配置hostA1. 1. 给两个网络接口设置IP地址,启动网络接口:ifconfig eth1 192.168.1.1 netmask 255.255.255.0 upifconfig eth1 10.0.0.11 netmask 255.255.255.0 up2. 2. 检查网络接口启动状况:ifconfig3. 3. 启动路由功能:echo 1/p
4、roc/proc/sys/net/ipv4/ip_forward4. 4. 配置默认网关为hostC:route add net 192.168.1.0 netmask 255.255.255.0 dev eth05. 5. 配置到本子网的路由:route add net 192.168.1.0 netmask 255.255.255.0 dev eth16. 6. 配置到子网B的路由: route add net 192.168.10.0 netmask 255.255.255.0 gw 10.0.0.101 dev eth17. 7. 检查核心路由表:route。 配置hostB1. 1.
5、 给两个网络接口设置IP地址,启动网络接口:2. ifconfig eth1 192.168.10.1 netmask 255.255.255.0 up3. ifconfig eth0 10.0.0.101 netmask 255.255.255.0 up4. 2. 检查网络接口启动状况:ifconfig5. 3. 启动路由功能:echo 1/proc/proc/sys/net/ipv4/ip_forward6. 4. 配置默认网关为hostC:route add default gw 10.0.0.1 dev eth07. 5. 配置到本子网的路由:route add net 192.168
6、.10.0 netmask 255.255.255.0 dev eth18. 6. 配置到子网A的路由: route add net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.11 dev eth09. 7. 检查核心路由表:route。 配置hostC1. 1. 配置eth0的IP地址,启动接口:ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up2. 2. 启动路由功能:echo 1/proc/proc/sys/net/ipv4/ip_forward3. 3. 配置到子网A和子网B的路由:route a
7、dd net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.11 dev eth0route add net 192.168.10.0 netmask 255.255.255.0 gw 10.0.0.101 dev eth0 检测配置:1. 1. 登录到子网A中的一台客户机,检测是否能够连通网络B,C中的客户机:ping 192.168.10.24;ping 10.0.0.1;2. 2. 登录到子网B中的一台客户机,检测是否能够连通A,C中的客户机。操作与上述相同。任务二:配置防火墙实验要求:在hostA上用ipchains配置防火墙,实现如下规则:
8、允许转发数据包,保证hostA的路由功能; 允许所有来自子网A内的数据包通过; 允许子网A内的主机对外发出请求后返回的TCP数据包进入子网A; 只允许子网A外的客户机连接子网A内的客户机的22号TCP端口,也就是只允许子网A外的主机对子网A内的主机进行SSH连接; 禁止子网A外的主机ping子网A内的主机,也就是禁止子网A外的ICMP包进入子网A。实验内容:用ipchains配置hostA的防火墙,检测配置。实验步骤: 配置防火墙1. 1. 登录到hostA,清空所有链中的规则:ipchains F2. 2. 添加默认策略,允许所有数据包通过:ipchains P input acceptip
9、chains P output acceptipchains P forward accept3. 3. 允许来自子网A内的数据包通过:ipchains A input I eth1 s 192.168.1.0/24 j acceptipchains A input I eth0 s 192.168.1.0/24 j deny4. 4. 允许子网A外的主机对A内的主机进行SSH连接,而禁止所有其他的初始化连接:5. ipchains A input I eth0 d 192.168.1.0/24 ! 22 p tcp y j deny6. 5. 禁止子网A外的主机ping子网A内的主机:7.
10、ipchains A input I eth0 d 192.168.1.0/24 p icmp j deny8. 6. 查看配置:ipchains L input 检测配置9. 1. 登录到子网A内的一台主机,连接B中的主机和hostC,检测是否能够连通(不要用ping)。10. 2. 登录到子网B内的一台主机,用SSH命令连接子网A内的一台开有SSH服务的主机,看看能否连通: ssh u root 192.168.1.1011. 3. 尝试连接子网A内的主机的其他服务端口,看看能否连通。12. 4. 用ping命令检测A内的主机。任务三 配置NAT实验要求:重新配置hostA和hostB上的
11、路由规则和防火墙规则,启用IP Masquade功能。在hostA上对子网A内的IP地址进行伪装,实现NAT,使子网A内的主机能够访问外部网络。实验内容:配置路由;配置IP Masquade;检测配置。实验步骤: 配置路由1. 1. 登录到子网hostB,删除到A的路由:route del net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.1 dev eth02. 2. 登录到子网A中的主机。测试一下现在能否连通B内的主机。 配置IP Masquade3. 1. 登录到hostA,保持前面配置好的路由和防火墙规则不变。4. 2. 配置IP Masq
12、uade:ipchains A forward I eth0 s 192.168.1.0/24 j MASQ5. 3. 登录到A内的一台主机,用ssh命令连接B内开放了ssh服务的主机,看是否能连接上:ssh u root 192.168.10.246. 4. 登录后,用netstat查看一下网络连接。可以看到,连接到本机的ssh端口的IP地址是10.0.0.11,也就是子网A的网关的外部Ip地址,而不是子网A的主机本身的IP地址:netstat at|grep ssh任务四 配置透明代理实验要求:在hostC上设置防火墙规则,把来自子网A和B中的客户机的发往Internet的端口为80的数据
13、包,重定向到hostC的Squid的端口,实现透明代理。实验步骤:1. 1. 登录到hostC,配置防火墙规则:ipchains P input accecpt ipchains P output accecpt ipchains P forward deny ipchains A input p tcp s 192.168.1.0/24 d 0.0.0.0/0 80 j redirect 3128 ipchains A input p tcp s 192.168.10.0/24 d 0.0.0.0/0 80 j redirect 31282. 2. 登录到A内的一台主机,启动浏览器,不设置代
14、理服务器,看能否直接连入Internet。任务五 Squid代理服务器1. 1. 安装squid :rpm Uvh 软件包名2. 2. 启动服务:service squid start,然后配置浏览器使用localhost作为Proxy并且把端口设定为3128。3. 3. 尝试访问一些主页。4. 4. 两个同学一组将对方的主机当作Proxy。这样子应该不能工作。squid返回的页面在/var/log/squid/access.log文件的底部有所解释。5. 5. 编辑/etc/squid/squid.conf文件。在文件中查找第二次出现Recommend minimum configurati
15、on的地方。将会看到缺省的存取控制列表(acl)。在CONNECT method CONNECT 行的下面添加一个对于本地网络的存取访问列表项目: acl example src 192.168.0.0/24。对于这个配置可以把它作为参考以应用到其他的任何地方。src是该acl的源IP地址。6. 6. 在文件中查找INSERT YOUR RULE(S) HERE,在localhost acl的上面增加如下的内容:http_access allow example。重新启动squid。 您的邻居将能够访问您的Web缓存了。7. 7. 拒绝访问一些URL。返回到acl的部分,在新添加行的下面添加:
16、acl otherguys 192 .168.xx.xx(指定你同组同学的IP地址)8. 8. 增加一条拒绝访问规则应用到。返回到刚才添加allow的地方,在其下面增加如下行: http_access deny otherguys再次重新启动squid,再次检查这些相关的域,非常不幸,访问没有被拒绝。9. 9. 再次打开配置文件,将添加的拒绝规则放在example的允许规则之前。也就是说,在otherguys拒绝规则之前的example允许规则使得访问被允许,但是拒绝没有被生效。在移动规则以后,重新启动squid。这回它将禁止访问在任何上面禁止访问的域内的站点了。五. 五. 思考题:1. 1.
17、 能不能使子网A内的主机向hostC发出的数据包,通过子网B的网关hostB到达hostC?这种路由该如何设置?2. 2. 在hostA上是否可以配置双向的IP Masquade,使子网A内的数据包发往子网B时对其进行转换;同时使子网B内的发往子网A内的主机的数据包经过hostA时,也对其他进行地址转换?如何设置?3. 3. 在客户端用ftp从Internet上下载文件能够使用Squid吗,如何设置?实验十九配置Linux下的防火墙、路由器和代理服务器实验二十 实验二十一六. 一. 实验目的:掌握在Linux系统平台下架设路由器和用ipchains配置防火墙、透明代理、以及NAT的方法。七.
18、二. 实验内容:1 1 配置静态路由器;2 2 配置防火墙;3 3 配置NAT;3 1 配置透明代理;4 2 配置Squid代理服务器。八. 三. 实验环境:3 1 网络中包括两个子网A和B。子网A的网络地址为192.168.1.0/24,网关为hostA。HostA有两个接口,eth0和eth1。Eth0连接子网A,IP地址为192.168.1.1。eth1连接外部网络,Ip地址为10.0.0.11。子网B的网络地址为192.168.10.0/24,网关为hostB。HostB有两个网络接口,eth0和eth1。eth0连接子网B,IP地址为192.168.10.1。eth1连接外部网络,I
19、P地址为10.0.0.101。hostA和HostB构成子网C,网络地址是10.0.0.0/24,通过集线器连接到hostC,然后通过hostC连接Internet。HostC的内部网络接口为eth0,IP地址为10.0.0.1。4 2 在hostA、hostB和hostC上都已经安装好Linux系统,并且在hostC上已经设置好了Squid代理服务器。九. 四. 实验练习:任务一 配置路由器实验要求:在hostA、hostB和hostC上配置路由器,使子网A和B之间能够互相通信,同时子网A和B内的主机也能够和hostC相互通信。实验内容:配置路由器,实现各子网和主机间的通信,检测配置。实验步
20、骤: 配置hostA8. 1. 给两个网络接口设置IP地址,启动网络接口:ifconfig eth1 192.168.1.1 netmask 255.255.255.0 upifconfig eth1 10.0.0.11 netmask 255.255.255.0 up9. 2. 检查网络接口启动状况:ifconfig10. 3. 启动路由功能:echo 1/proc/proc/sys/net/ipv4/ip_forward11. 4. 配置默认网关为hostC:route add net 192.168.1.0 netmask 255.255.255.0 dev eth012. 5. 配置到
21、本子网的路由:route add net 192.168.1.0 netmask 255.255.255.0 dev eth113. 6. 配置到子网B的路由: route add net 192.168.10.0 netmask 255.255.255.0 gw 10.0.0.101 dev eth114. 7. 检查核心路由表:route。 配置hostB10. 1. 给两个网络接口设置IP地址,启动网络接口:11. ifconfig eth1 192.168.10.1 netmask 255.255.255.0 up12. ifconfig eth0 10.0.0.101 netmask
22、 255.255.255.0 up13. 2. 检查网络接口启动状况:ifconfig14. 3. 启动路由功能:echo 1/proc/proc/sys/net/ipv4/ip_forward15. 4. 配置默认网关为hostC:route add default gw 10.0.0.1 dev eth016. 5. 配置到本子网的路由:route add net 192.168.10.0 netmask 255.255.255.0 dev eth117. 6. 配置到子网A的路由: route add net 192.168.1.0 netmask 255.255.255.0 gw 10
23、.0.0.11 dev eth018. 7. 检查核心路由表:route。 配置hostC4. 1. 配置eth0的IP地址,启动接口:ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up5. 2. 启动路由功能:echo 1/proc/proc/sys/net/ipv4/ip_forward6. 3. 配置到子网A和子网B的路由:route add net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.11 dev eth0route add net 192.168.10.0 netmask 255.255.
24、255.0 gw 10.0.0.101 dev eth0 检测配置:3. 1. 登录到子网A中的一台客户机,检测是否能够连通网络B,C中的客户机:ping 192.168.10.24;ping 10.0.0.1;4. 2. 登录到子网B中的一台客户机,检测是否能够连通A,C中的客户机。操作与上述相同。任务二:配置防火墙实验要求:在hostA上用ipchains配置防火墙,实现如下规则: 允许转发数据包,保证hostA的路由功能; 允许所有来自子网A内的数据包通过; 允许子网A内的主机对外发出请求后返回的TCP数据包进入子网A; 只允许子网A外的客户机连接子网A内的客户机的22号TCP端口,也就
25、是只允许子网A外的主机对子网A内的主机进行SSH连接; 禁止子网A外的主机ping子网A内的主机,也就是禁止子网A外的ICMP包进入子网A。实验内容:用ipchains配置hostA的防火墙,检测配置。实验步骤: 配置防火墙13. 1. 登录到hostA,清空所有链中的规则:ipchains F14. 2. 添加默认策略,允许所有数据包通过:ipchains P input acceptipchains P output acceptipchains P forward accept15. 3. 允许来自子网A内的数据包通过:ipchains A input I eth1 s 192.168.
26、1.0/24 j acceptipchains A input I eth0 s 192.168.1.0/24 j deny16. 4. 允许子网A外的主机对A内的主机进行SSH连接,而禁止所有其他的初始化连接:17. ipchains A input I eth0 d 192.168.1.0/24 ! 22 p tcp y j deny18. 5. 禁止子网A外的主机ping子网A内的主机:19. ipchains A input I eth0 d 192.168.1.0/24 p icmp j deny20. 6. 查看配置:ipchains L input 检测配置21. 1. 登录到子
27、网A内的一台主机,连接B中的主机和hostC,检测是否能够连通(不要用ping)。22. 2. 登录到子网B内的一台主机,用SSH命令连接子网A内的一台开有SSH服务的主机,看看能否连通: ssh u root 192.168.1.1023. 3. 尝试连接子网A内的主机的其他服务端口,看看能否连通。24. 4. 用ping命令检测A内的主机。任务三 配置NAT实验要求:重新配置hostA和hostB上的路由规则和防火墙规则,启用IP Masquade功能。在hostA上对子网A内的IP地址进行伪装,实现NAT,使子网A内的主机能够访问外部网络。实验内容:配置路由;配置IP Masquade;
28、检测配置。实验步骤: 配置路由7. 1. 登录到子网hostB,删除到A的路由:route del net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.1 dev eth08. 2. 登录到子网A中的主机。测试一下现在能否连通B内的主机。 配置IP Masquade9. 1. 登录到hostA,保持前面配置好的路由和防火墙规则不变。10. 2. 配置IP Masquade:ipchains A forward I eth0 s 192.168.1.0/24 j MASQ11. 3. 登录到A内的一台主机,用ssh命令连接B内开放了ssh服务的主机,看是否能连接上:ssh u root 1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1