Linux路由器安全功能设计

1.主要内容:
将Linux系统配置成具有安全控制功能的路由器,具备防火墙、IPSec功能。搭建实验测试网络。
2.设计思路及方案:
2.1配置linux实现路由器功能的思路及方案:
运用四个虚拟机,设置为router1、PC1、PC2、PC3。其中router1有一个可以上外网的私网192.168.64.128。使用192.168.64.128作为公网的ip,其下分为三个私网,分别为6.6.6.0/24、7.7.7.0/24、8.8.8.0/24。将PC1、PC2、PC3的ip分别设置为6.6.6.2、7.7.7.2和8.8.8.2。经过配置,如果各个PC端之间可以互通且可以上公网,则说明作为router1的linux系统实现了路由器功能。
2.2实现防火墙功能的思路和方案:
在2.1中已经实现了router1的路由器功能。在2.1小节的基础上,在路由器转发数据包的时候,令其增加一项检查,检查数据包的来源和数据包要求的应用层服务类型,根据预先设计的规则来判定这个数据包是应该转发还是作别的处理。例如禁止某用户主机访问公网、或禁止访问某些不良网站。由此这个路由器就成为了具有包过滤防火墙功能的路由器。
2.3实现ipsec功能的思路及方案
由前可知router1为私网6.6.6.0/24的网关,增添两个虚拟机,设置一个客户9.9.9.2一个router2,将9.9.9.0/24设置为router2之下的私网。若PC1(6.6.6.2)想和9.9.9.2互通,则必须再router1和router2之间建立ipsec vpn 隧道。模拟情况为:
在这里插入图片描述
3. 网络拓扑
在这里插入图片描述
4. 软件选择
4.1.选择虚拟机系统模拟不同私网及路由器

因为虚拟机系统的方便和使用性,所以选择通过克隆虚拟机和在虚拟机上建立虚拟网卡来模拟多网卡和不同的私网及主机。
4.2选择iptables实现防火墙功能
IPTables网络限制策略是由路由规则、链及表构成的。表是各种策略的顶层容器,IPTables有三种表,即filter,nat,mangle表。根据规则所处理的信息包的类型,可以将规则分组在链中,链是规则的上层容器,是一组规则的组合。因此iptables很适合在路由器上制定规则,实现包过滤防火墙功能。
4.3选择openswan实现ipsec功能
OpenSWan支持2.0、2.2、2.4以及2.6内核OpenSWan。是Linux下IPsec的最佳实现方式,其功能强大,最大程度地保证了数据传输中的安全性、完整性问题。
5.配置方案及测试:
5.1将linux配置成路由器:
5.1.1设计过程
1)在选定做路由器的router1上修改路由转发参数。

输入# vi /etc/sysctl.conf
修改net.ipv4.ip_forward = 1
然后执行# sysctl -p让其立即生效
2)在选定的router1上添加虚拟网卡:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3)分别给PC123分配IP地址,举PC1为例
在这里插入图片描述
4)在router1上做nat表IP地址转发
在这里插入图片描述
5.1.2测试方法及结果:
1)PC端互ping测试是否可通:(举PC3ping PC1为例)

在这里插入图片描述
可见PC端都可通,实验成功。
2)连接公网上网:令PC1ping 百度网站。(180.149.132.47)
在这里插入图片描述
可见PC端经过router1转发可以连同外网上网。可见router1确实实现了路由器的功能
5.2防火墙功能实现的配置过程和测试
设置了三条规则:
1)禁止所有用户访问不良网站(在此不良网站设置为180.149.132.47(百度))
在这里插入图片描述
测试结果:
在这里插入图片描述
设置了规则后,PC1不能再访问该不良网站。
2)禁止某一用户访问其他用户
禁止7.7.7.0/24子网内用户访问6.6.6.0/24子网内用户
在这里插入图片描述
测试结果:
在这里插入图片描述
从PC2发出的数据包全部被拒绝。PC2不能访问PC1
3)禁止某一用户上网:
禁止PC3上网,
在这里插入图片描述
测试结果:
在这里插入图片描述
PC3不能访问新浪网站首页(222.211.80.56)。
由此可见router1确实实现了包过滤防火墙的功能。
5.3.1 IPSEC功能实现的配置工程和结果
1)编辑好router2和PC4的ip
2)设置网关禁用ICMP重定向、修改内核参数

将下面两项:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
改为:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
执行以下命令使设置生效:
sysctl -p
在这里插入图片描述
3)生成rsa密钥认证身份并查看:
➜ ~ sudo ipsec newhostkey --output /etc/ipsec.secrets
➜ ~ sudo ipsec showhostkey --right
# rsakey AQNdyly3N
rightrsasigkey=0sAQNdyly3N0kY4UMR70udQdwBTDAYuzf/ScqQhs3uc+j5UvA6Sp3LEHAO1rQQl2bz+7v1I7DdgZ3WAgvwCTcI3U8tOM5saqkerhdvpK6reJQL1Ey9Hqi19BmOMsxhBx/DciOz04E2GpUSAF1Wydo4TEJux+plBpBV0AYB5mzBtQAeRX4gerijSIq+caf3XPmWqi1cN/mqgo/PIdjhh4rpq03IIdE81hMap4WBbDLEmHfw4dHYTqfFvFYAloPT7hqAMCNIyva0C7/MOO3IxthXsTJV8qLKbv9s4gAJ1U4a473miyCZmaFBnoWawy3RJWj/67/g9n1jkVMlzI0CU9Q//Zr7NN5IVRis1y+LJNP2tvqucFR1
4)编辑配置文件/etc/ipsec.conf,在config setup 部分将protostack改为netkey
左端外网为192.168.64.128 内网为6.6.6.0/24。右端外网为192.168.64.130,其内网为9.9.9.0/24。
在这里插入图片描述
将router1和router2都配置好
5)重启ipsec并且验证条件是否满足:
在这里插入图片描述
在这里插入图片描述
6)建立隧道:
在这里插入图片描述
建立成功:此时router1和router2之间的vpn已经建立完成
5.3.2测试结果:
令客户端6.6.6.2ping9.9.9.2
在这里插入图片描述
6.6.6.2和9.9.9.2互ping成功。说明router1和router2实现了ipsec功能。
在6.6.6.2ping9.9.9.2时,在router2上用wireshark抓包:
在这里插入图片描述
由图可见6.6.6.2和9.9.9.2确实通过ipsec功能实现了互通。且router12之间通过ESP协议传输。
6 总结
Openswan在编辑配置文件时一定要注意左端和右端的配置文件要一模一样,且要删去之前定义过的nat表,否则会失败。配置完ipsec配置文件后一定要重启ipsec功能否则也会建立连接失败。

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值