三、安全

DD-WRT集成了linux中赫赫有名的iptables,这是一个状态检测防火墙,功能强大。实际上,像端口转发,vlan划分,DMZ(非军事区)和VPN等很多功能都是iptables在幕后(参与)实现的,iptables需要通过命令行配置,比较复杂,具体的内容已经超出了本文所讨论的范围。不过别担心,一般的用户不需要直接和它打交道,DD-WRT会在后台帮你搞定iptables。

在DD-WRT中可以创建各种各样的Internet访问策略。 用户可以根据实际情况,针对客户端IP,应用,时间段和web页面的关键字来进行过滤,举个简单的例子,假设你只允许内网的用户在晚上11点至凌晨7点期间使用BT,那么就可以结合时间段和应用来创建这条访问策略了,强大而且灵活。这个功能,连同后面讲的QoS都是由iptables + l7-filter在幕后实现,这也是alfie非常喜欢WRT-54G的一个重要原因。

DD-WRT对VPN的支持是不遗余力的,对于IPSec,PPTP和L2TP的穿透根本不在话下,还内建了PPTP server/client,如果在家庭/公司的WRT-54G上启用了PPTP服务器,用户就可以随时随地访问家庭/公司的网络资源了。用户还可以在DD-WRT上通过ipkg(后面会讲述)安装目前流行的开源SSL VPN:OpenVPN,它能提供更丰富的功能,支持LAN-to-LAN,Client-to-LAN,Point-to-Point三种网络架构,支持全动态IP的VPN网关。不过OpenVPN对cpu的要求挺高的,一般用户只需要用PPTP就可以了。那企业用户怎么办,别担心,DD-WRT还提供了一个有趣的选项:cpu超频,该怎么做不用我多说了吧。

四、网络服务
  1. DHCP
    DD-WRT集成了一个udhcp模块,该模块专为嵌入式系统设计,提供DHCP server和client的功能。
  2. dnsmasq
    该模块提供了两种功能,一是dhcp,一是dns。它的dhcp功能比udhcp更强大,不仅可以动态分配IP,它还可以根据客户机的MAC地址来分配固定的IP,机器名和域名;dnsmasq担任了部分DNS服务器的角色,当局域网中有两台机器需要互相访问的时候,比如文件共享,可以直接访问对方的机器名或域名,(机器名和域名由dnsmasq配置分配)无须在小型的网络中再构建一个DNS服务器。
  3. ddns
    动态域名解析,相信大家都知道这个是干什么的,DD-WRT集成了dysdns.org,三家的客户端,只需要从列表中选择即可,非常方便,不用再像以前那样需要在服务器中安装和配置客户端。
  4. Samba
    DD-WRT还可以担当文件共享中继器的角色,假如你的内网有一台服务器需要提供文件共享服务给Internet的用户,只需要在DD-WRT中挂载该共享链接,外网的用户就可以通过IE来访问这些共享的文件了,安全又方便。
  5. port forwarding
    端口转发,当需要在内网提供网络服务给Internet的用户时,就需要用到这个功能。DD-WRT除了提供基本的端口转发外,还提供了port range forwarding、port triggering和UPnP。其中UPnP协议是微软的一项技术,当内网服务器启用一项服务的时候,它通过UPnP协议告知DD-WRT打开某个/些特定端口进行监听,并将来访的数据包进行端口转发;当该服务停止的时候,又通知DD-WRT关闭这些端口,这项特性比静态的端口转发灵活,方便,安全。
  6. IPv6
    实在是太强了,就这么几百块钱的东西,连IPv6也支持了,还有什么好说的呢,这也反映了linux的灵活性。
  7. ntp client
    配置了该功能后,DD-WRT就可以跟Internet上的网络时间服务器进行时间同步,这在hotspot计费,OpenVPN和排除故障的时候是很有用的。