DD-WRT使用简单安全脚本实现增强防火墙功能- Ei2U

DD-WRT内置的防火墙只有简单的几个控制, 其实DD-WRT内置的iptables防火墙可以设置定制出非常严厉的的防火墙规则.

但是iptables规则对一般人来说并不简单, 而且几乎每台PC上都已经安装了个人防火墙, 所以路由上的防火墙主要用来防护一些比较容易可能影响到网络的威胁即可, 这样一来就不会太过于影响路由器的性能, 毕竟DD-WRT的防火墙也会消耗路由器的CPU和内存.

我们可以用简单的脚本命令来实现DD-WRT上的DoS保护, 过载保护, 中间人攻击(MITMA, man in the middle attack), PING攻击等主要的防火墙功能, 这些不需要任何特定参数和IP规则, 对于家庭网络的保护{zh0}不过了.

命令部分来之DDWRT官方Wiki,

符号”#”后的内容为注释, 实际使用时可以把”#”后面的内容整句删除.

复制下面的命令, 粘贴到DD-WRT的启动命令上即可.

  1. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  2. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  3. echo 1 > /proc/sys/net/ipv4/ip_forward
  4.  
  5. # 下面两个注释掉的参数会影响eMule等软件, 请自行调试后决定是否开启.
  6. #echo 1024 > /proc/sys/net/ipv4/ipfrag_high_thresh
  7. #echo 512 > /proc/sys/net/ipv4/ipfrag_low_thresh
  8. echo 64000 > /proc/sys/net/ipv4/ipfrag_high_thresh
  9. echo 48000 > /proc/sys/net/ipv4/ipfrag_low_thresh
  10.  
  11. echo 10 > /proc/sys/net/ipv4/ipfrag_time
  12. echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
  13. echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  14. echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_source_route
  15. echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_redirects
  16. echo 1 > /proc/sys/net/ipv4/conf/eth1/log_martians
  17. echo 10 > /proc/sys/net/ipv4/neigh/eth1/locktime
  18. echo 0 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
  19. echo 50 > /proc/sys/net/ipv4/neigh/eth1/gc_stale_time
  20.  
  21. #
  22. # 下面的命令确保提供{zh1}保护和对于"中间人"MITM攻击提供适当的防御
  23. #
  24.  
  25. echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
  26. echo 0 > /proc/sys/net/ipv4/conf/eth1/secure_redirects
  27. echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
  28. echo 5 > /proc/sys/net/ipv4/igmp_max_memberships
  29. echo 2 > /proc/sys/net/ipv4/igmp_max_msf
  30. echo 1024 > /proc/sys/net/ipv4/tcp_max_orphans
  31. echo 2 > /proc/sys/net/ipv4/tcp_syn_retries
  32. echo 2 > /proc/sys/net/ipv4/tcp_synack_retries
  33. echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
  34. echo 10 > /proc/sys/net/ipv4/tcp_fin_timeout
  35. echo 0 > /proc/sys/net/ipv4/route/redirect_number
  36. echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
  37. echo 1 > /proc/sys/net/ipv4/conf/eth1/rp_filter
  38. echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  39. echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
  40. echo 61 > /proc/sys/net/ipv4/ip_default_ttl
  41.  
  42. # 调整超时防御DoS攻击
  43. echo "1800" > /proc/sys/net/ipv4/tcp_keepalive_time
  44. echo "0" > /proc/sys/net/ipv4/tcp_window_scaling
  45. echo "0" > /proc/sys/net/ipv4/tcp_sack
  46.  
  47. # 类似Windows XP的包检查防火墙功能
  48. echo 4096 87380 4194304 >/proc/sys/net/ipv4/tcp_rmem
  49. echo 4096 87380 4194304 >/proc/sys/net/ipv4/tcp_wmem
  50.  
  51. # 检查网络超载 (详细的拥堵通知)
  52. echo 1 > /proc/sys/net/ipv4/tcp_ecn
  53.  
  54. # 修改外出流量的端口范围
  55. echo "30000 60000" > /proc/sys/net/ipv4/ip_local_port_range

测试DD-WRT Wiki原代码中的LED提示指示没有成功, 原代码上的一些可有可无的命令已经去除.

直接添加到DD-WRT启动命令后路由应该会自动重启, 测试是否成功的最简单方式就是直接Ping路由的IP地址, 返回的是超时或者无法连接就表示已经成功.

郑重声明:资讯 【DD-WRT使用简单安全脚本实现增强防火墙功能- Ei2U】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——