1 概述
路由器配置,最近入手了一个网关路由器ubnt的ERX,有很多好玩的东西。它是专业面向电信级设备的生产商,最近推出了面向消费者业务的路由器ERX,性能很无敌。缺点是,它的界面是全英文的,而且是灵活度比较高,配置和普通的家庭路由器完全不一样,对新手不太友好。
它没有家庭路由器的约定配置的方式,它直接提供路由器的每个功能的细节,由你自己去配置各个功能,并将它们组合起来。
2 二层交换Switch
2.1 交换机模式
ubnt可以直接当作一个交换机来用,在主页打开指定switch的type的端口,然后选择config
然后我们可以在里面设置,这个交换机的IP,以及它的IP,以及它所绑定的物理端口。一般来说,像家庭路由器一样,是1个WAN口,同时4个LAN口的,我们可以将eth1至eth4都归入到同一个交换机switch0中,然后对switch0指定一个单独的IP,192.168.1.1就可以了。这样四个端口都能互相ping通,并且他们共享同一个IP端口。
2.2 VLAN
我们可以继续添加vlan,对不同的vlan绑定不同的物理端口,它既支持端口vlan,也支持802.1q的vlan,这个就不啰嗦了。
3 三层子网LAN
3.1 划分子网
我们也可以跳过交换机模式,对每个LAN口单独设置一个IP
例如对eth1设置为192.168.1.1的IP,对eth2设置为192.168.2.1的IP,这样做的话两个端口在不同的局域网下面,他们的通信必须通过路由器,不能仅仅通过交换机来通信。这样做的好处是,大大增加可分配的IP数量,而且不同子网下的广播包不会传播。在默认的情况下,如果多个物理端口是配置了固定的IP时,ubnt就会添加默认的路由规则,以让各个子网下面能够互相ping通。
同理,如果你的WAN口是动态IP,或者是静态IP的,也可以通过这样的方式来配置。但是,这种非固定IP的配置方式时,ubnt不会添加默认的路由规则,不同子网下是不能互相ping通的。
3.2 DHCP服务器
在有了LAN口的子网后,最重要的一个配置是DHCP服务器了。
填写DHCP服务器的目标子网,和分配的IP地址段,网关服务器地址,和DNS服务器地址。注意,子网必须与某个物理端口的IP地址相匹配,这样才能在路由器收到DHCP协议的广播请求包时,它能根据不同端口对应的不同的IP,来执行不同的DHCP分发功能。
例如,对eth1设置为192.168.1.1的IP,对eth2设置为192.168.2.1的IP。同时,我们配置好了两个DHCP服务器,分别是针对192.168.1.0/24和192.168.2.0/24的两个子网的。那么,路由器就能根据从eth1还是从eth2端口进来的请求,来分配不同地址段的IP。
要注意的是,在ubnt中,我们一般将DNS服务器填写为网关地址本身,而不是PPPOE获取到的DNS服务器地址,这一点的原因将会在下一节说到。另外,ubnt还支持路分配IP与mac地址绑定的功能,就是指定的mac地址下的设备,它能被分配到一个固定的IP上,其他设备在自动获取IP时不会获取到这个预留的IP。
3.3 DNS服务器
这是因为ubnt自身也支持DNS中继,以及DNS配置的功能,这样我们就能实现两个功能。
- 设置内网的DNS。例如,我们可以指定内网的PC输入hello.com的时候,我们就能跳转到内网的一台指定IP的服务器上。这点需要用命令行登入路由器,然后修改/etc/hosts文件来配置。
- 外网DNS的缓存,我们可以缓存外网的DNS条目,提高DNS索引速度。
3.4 PPPOE服务器
这个就是只有指定的账号密码的用户才能获取授权,才能上到外网的功能,比较常用在出租屋付费使用宽带等的场景上。
4 三层路由WAN
4.1 PPPOE
如果我们的WAN口不是动态或者静态IP,而是需要PPPOE拨号才能获取IP的时候。我们将需要在WAN口外包一层PPPOE虚拟端口了。
添加一个PPPOE的虚拟端口,然后将父级端口设置为你需要的WAN口,以及输入账号密码就可以了。
4.2 NAT
在目前大部分的场景下,我们都需要用地址转换NAT,将多个内网地址转换为外网地址再转发出去的。
配置方法也很简单,指定一下出口的端口,以及选择使用Masquerade方式就可以了。
4.3 路由表
路由表就是指定内网和外网,以及动态的不同子网下的路由规则。
在我们的日常业务中,最常用的规则就是,对于不是内网的所有数据包,直接扔到一个指定的外网端口上就可以了,就是如上图的这样配置。
要注意的是,如果你有两个外网端口时,你需要添加两条路由规则。这个时候,路由器仅仅会匹配第一条来执行,仅当第一条已经断开的时候,路由器才会匹配第二条来执行。也就是说,并没有达到负载均衡的效果。
4.4 防火墙
防火墙是ubnt中最复杂也是最灵活的功能。
基本的防火墙是配置指定端口下的匹配规则列表,它会根据优先级来不断匹配每个规则,某条规则匹配后,它可以执行四种操作:
- DROP,直接丢包,不返回错误,客户端就会等待并不断重试
- REJECT,返回错误,客户端会提示无法打开
- REJECT_TCP,针对TCP连接返回错误,客户端会提示无法打开
- ACCEPT,正常情况下的路由操作
一旦某条规则匹配后,就不再需要匹配下面的其他规则。另外,每个规则列表下,都有保底的逻辑,就是default action了,这个规则的优先级最低,总是在其他规则都无法匹配的时候被无条件匹配上的。
ubnt的匹配条件相当强大,支持对时间,来源和目标的IP地址段,mac地址,物理端口来源,上层协议类型,TCP端口等条件进行匹配
4.5 策略路由和负载均衡
在命令行上,ubnt还支持防火墙的modify操作,也就是匹配上某条规则以后,执行第5种操作,就是修改操作。例如是将某个数据包重新定向到一个新的路由表,或者一个负载均衡器上面。配合上防火墙上强大的匹配条件规则后,就能实现很多强大的功能。例如是:
- 指定的内网IP,走另外一条的ADSL的外网通道
- 指定的目标端口,例如是TCP的80和443端口,走另外一条的ADSL的外网通道
- 指定的子网之间不能互相通信
5 硬件转发
ERX支持NAT操作的硬件级转发,就能大大降低CPU的工作负载,对于300M以上的宽带建议打开该功能
configure
set system offload hwnat enable
commit
save
打开硬件加速
show ubnt offload
查看硬件加速情况
configure
set system offload hwnat disable
commit
save
关闭硬件加速
6 无线接入
我买的ubnt erx属于网关路由器,适合放在弱电箱里面使用的,所以是没有带无线功能,如果需要无线wifi的支持,我们需要继续购买其他设备,这里有三个方案。
6.1 无线路由器
购入无线路由器,然后将无线路由器的wan口插入到网关路由器中。无线路由器的配置为:
- 开启DHCP服务器
- WAN口设置为动态获取IP
特点:
- 性能较差,无线路由器相当于一个新的PC设备,它会对所有的无线设备执行NAT转换,然后再发送给网关路由器。
- 安全性较好,经过NAT转换后,无线设备和局域网的有线设备互相无法ping通
- 无线漫游掉线,经过不同的无线路由器上漫游时,手机的原有连接都会断开,再重新连接,体验会较差。
6.2 无线AP
购入无线路由器,将无线路由器的LAN口插入到网关路由器中。网件和华硕都是这方面的王者。无线路由器的配置为:
- 关闭DHCP服务器,LAN口设置为不同于网关服务器的其他子网IP,这样就能避免占用一个内网IP了。
- WAN口不需要做任何配置
特点:
- 性能较好,不需要NAT转换的损耗,这个时候路由器就相当于一个带无线功能的交换机,完全可以工作在二级协议上,所以速率会有提升。
- 安全性较差,无线设备和局域网的有线设备可以互相ping通
- 无线漫游不掉线,经过不同的无线路由器上漫游时,手机的原有连接不需要断开重连。因为它依然在同一个局域网的子网下面。
6.3 AC+AP
购入AC+无线AP,将无线AP连接AC,然后AC插入到网关路由器。h3c和ubnt都是这方面的王者。
特点:
- 性能较好,不需要NAT转换
- 安全性较差,无线设备和局域网的有线设备可以互相ping通
- 无线漫游不掉线,经过不同的无线路由器上漫游时,手机的原有连接不需要断开重连。因为它依然在同一个局域网的子网下面。
- 自动调整最佳AP,AC会根据不同AP的信号强弱,来强制让弱信号的AP踢掉你的设备下线,从而迫使你的设备自动连上信号更好的AP。
- 批量配置方便,一个AC可以一次批量配置几十个无线AP,大大提高了配置效率。
7 参考资料
- 本文作者: fishedee
- 版权声明: 本博客所有文章均采用 CC BY-NC-SA 3.0 CN 许可协议,转载必须注明出处!