Board logo

標題: 【OpenWRT】——Firewall [打印本頁]

作者: 角色    時間: 2012-12-10 01:16     標題: 【OpenWRT】——Firewall

本帖最後由 角色 於 2013-3-3 22:36 編輯

在了解OpenWRT Firewall,但看【1】是很难明白,因为【1】是假设你明白Firewall的原理,还有知道每一个tables和流程。为了深入了解,从网上看到鸟哥的文章【2】后,对Firewall有了基本的概念后,再看【1】就比较好。

【1】http://wiki.openwrt.org/doc/uci/firewall
【2】http://linux.vbird.org/linux_server/0250simple_firewall.php
  1.         +------------+                +---------+               +-------------+
  2. Packet -| PREROUTING |--- routing-----| FORWARD |-------+-------| POSTROUTING |- Packets
  3. input   +------------+    decision    +---------+       |       +-------------+    out
  4.                              |                          |
  5.                         +-------+                    +--------+   
  6.                         | INPUT |---- Local process -| OUTPUT |
  7.                         +-------+                    +--------+
複製代碼

作者: 角色    時間: 2012-12-10 01:16

本帖最後由 角色 於 2013-3-2 12:16 編輯

Default /etc/config/firewall (removed settings for IP6)
  1. config defaults
  2.         option syn_flood        1
  3.         option input            ACCEPT
  4.         option output           ACCEPT
  5.         option forward          REJECT

  6. config zone
  7.         option name             lan
  8.         option network          'lan'
  9.         option input            ACCEPT
  10.         option output           ACCEPT
  11.         option forward          REJECT

  12. config zone
  13.         option name             wan
  14.         option network          'wan'
  15.         option input            REJECT
  16.         option output           ACCEPT
  17.         option forward          REJECT
  18.         option masq             1
  19.         option mtu_fix          1

  20. config forwarding
  21.         option src              lan
  22.         option dest             wan

  23. # We need to accept udp packets on port 68,
  24. # see https://dev.openwrt.org/ticket/4108
  25. config rule
  26.         option name             Allow-DHCP-Renew
  27.         option src              wan
  28.         option proto            udp
  29.         option dest_port        68
  30.         option target           ACCEPT
  31.         option family           ipv4

  32. # Allow IPv4 ping
  33. config rule
  34.         option name             Allow-Ping
  35.         option src              wan
  36.         option proto            icmp
  37.         option icmp_type        echo-request
  38.         option family           ipv4
  39.         option target           ACCEPT

  40. # include a file with users custom iptables rules
  41. config include
  42.         option path /etc/firewall.user
複製代碼
但是用iptables -L去查看整个firewall是怎样,真的吓一大跳!
  1. root@OpenWrt:/etc/config# iptables -L
  2. Chain INPUT (policy ACCEPT)
  3. target     prot opt source               destination
  4. ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
  5. ACCEPT     all  --  anywhere             anywhere
  6. syn_flood  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN
  7. input_rule  all  --  anywhere             anywhere
  8. input      all  --  anywhere             anywhere

  9. Chain FORWARD (policy DROP)
  10. target     prot opt source               destination
  11. ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
  12. forwarding_rule  all  --  anywhere             anywhere
  13. forward    all  --  anywhere             anywhere
  14. reject     all  --  anywhere             anywhere

  15. Chain OUTPUT (policy ACCEPT)
  16. target     prot opt source               destination
  17. ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
  18. ACCEPT     all  --  anywhere             anywhere
  19. output_rule  all  --  anywhere             anywhere
  20. output     all  --  anywhere             anywhere

  21. Chain forward (1 references)
  22. target     prot opt source               destination
  23. zone_lan_forward  all  --  anywhere             anywhere
  24. zone_wan_forward  all  --  anywhere             anywhere

  25. Chain forwarding_lan (1 references)
  26. target     prot opt source               destination

  27. Chain forwarding_rule (1 references)
  28. target     prot opt source               destination
  29. nat_reflection_fwd  all  --  anywhere             anywhere

  30. Chain forwarding_wan (1 references)
  31. target     prot opt source               destination

  32. Chain input (1 references)
  33. target     prot opt source               destination
  34. zone_lan   all  --  anywhere             anywhere
  35. zone_wan   all  --  anywhere             anywhere

  36. Chain input_lan (1 references)
  37. target     prot opt source               destination

  38. Chain input_rule (1 references)
  39. target     prot opt source               destination

  40. Chain input_wan (1 references)
  41. target     prot opt source               destination

  42. Chain nat_reflection_fwd (1 references)
  43. target     prot opt source               destination

  44. Chain output (1 references)
  45. target     prot opt source               destination
  46. zone_lan_ACCEPT  all  --  anywhere             anywhere
  47. zone_wan_ACCEPT  all  --  anywhere             anywhere

  48. Chain output_rule (1 references)
  49. target     prot opt source               destination

  50. Chain reject (5 references)
  51. target     prot opt source               destination
  52. REJECT     tcp  --  anywhere             anywhere            reject-with tcp-reset
  53. REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

  54. Chain syn_flood (1 references)
  55. target     prot opt source               destination
  56. RETURN     tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50
  57. DROP       all  --  anywhere             anywhere

  58. Chain zone_lan (1 references)
  59. target     prot opt source               destination
  60. input_lan  all  --  anywhere             anywhere
  61. zone_lan_ACCEPT  all  --  anywhere             anywhere

  62. Chain zone_lan_ACCEPT (2 references)
  63. target     prot opt source               destination
  64. ACCEPT     all  --  anywhere             anywhere
  65. ACCEPT     all  --  anywhere             anywhere

  66. Chain zone_lan_DROP (0 references)
  67. target     prot opt source               destination
  68. DROP       all  --  anywhere             anywhere
  69. DROP       all  --  anywhere             anywhere

  70. Chain zone_lan_REJECT (1 references)
  71. target     prot opt source               destination
  72. reject     all  --  anywhere             anywhere
  73. reject     all  --  anywhere             anywhere

  74. Chain zone_lan_forward (1 references)
  75. target     prot opt source               destination
  76. zone_wan_ACCEPT  all  --  anywhere             anywhere
  77. forwarding_lan  all  --  anywhere             anywhere
  78. zone_lan_REJECT  all  --  anywhere             anywhere

  79. Chain zone_wan (1 references)
  80. target     prot opt source               destination
  81. ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootpc
  82. ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
  83. input_wan  all  --  anywhere             anywhere
  84. zone_wan_REJECT  all  --  anywhere             anywhere

  85. Chain zone_wan_ACCEPT (2 references)
  86. target     prot opt source               destination
  87. ACCEPT     all  --  anywhere             anywhere
  88. ACCEPT     all  --  anywhere             anywhere

  89. Chain zone_wan_DROP (0 references)
  90. target     prot opt source               destination
  91. DROP       all  --  anywhere             anywhere
  92. DROP       all  --  anywhere             anywhere

  93. Chain zone_wan_REJECT (2 references)
  94. target     prot opt source               destination
  95. reject     all  --  anywhere             anywhere
  96. reject     all  --  anywhere             anywhere

  97. Chain zone_wan_forward (1 references)
  98. target     prot opt source               destination
  99. forwarding_wan  all  --  anywhere             anywhere
  100. zone_wan_REJECT  all  --  anywhere             anywhere
  101. root@OpenWrt:/etc/config#
複製代碼

作者: 角色    時間: 2012-12-10 01:17

本帖最後由 角色 於 2013-3-5 02:04 編輯

Linux network commands

http://www.linuxtopia.org/Linux_Firewall_iptables/index.html
作者: 角色    時間: 2012-12-10 01:17

备用帖子。
作者: 角色    時間: 2012-12-10 01:17

备用帖子。
作者: 角色    時間: 2013-2-24 22:58

如果它自己的firewall搞到很复杂!如果要VLAN这类的东西,就要用netfilter command,如iptables。
作者: 角色    時間: 2013-2-25 01:01

本帖最後由 角色 於 2013-2-25 01:06 編輯

iptables简单实用方式:

http://eduunix.ccut.edu.cn/index2/pdf/iptables-HOWTO.pdf

http://cooker.techsnail.com/index.php/IPTables
作者: 角色    時間: 2013-2-26 20:43

可能不太明白基本的firewall,所以OpenWRT也不太明白。
作者: 角色    時間: 2013-3-2 10:23

本帖最後由 角色 於 2013-3-2 10:24 編輯

怎样把Openwrt全stop?

例如router admin IP是192.168.10.1

1. /etc/init.d/firewall stop (用putting进入192.168.10.1)

2. 我们用browser,打开192.168.10.1,Status->Firewall

[attach]2250[/attach]

3. Firewall里有四个Tables,分别为 Filter,NAT,Mangle,Raw。不过它们的关系是怎样呢?
作者: 角色    時間: 2013-3-2 10:34

一般firewall有下面的contents:

Table: Filter

Chain INPUT (Policy: ACCEPT)
Chain FORWARD (Policy: DROP)
Chain OUTPUT (Policy: ACCEPT)

Chain forward
Chain forwading_rules
Chain input
Chain output
Chain reject
Chain syn_flood

Chain zone_ABC
Chain zone_ABC_ACCEPT
Chain zone_ABC_DROP
Chain zone_ABC_REJECT
Chain zone_ABC_forward


Table: NAT

Chain PREROUTING (Policy: ACCEPT)
Chain POSTROUTING (Policy: ACCEPT)
Chain postrouting_rule
Chain zone_ABC_prerouting
Chain zone_WAN_nat
Chian zone_WAN_prerouting


Table: Mangle
Chain FORWARD (Policy ACCEPT)
Chain zone_WAN_MSSFIX

Table: Raw
Chain PREROUTING (Policy ACCEPT)
作者: 角色    時間: 2013-3-2 11:51

不能把firewall全删掉——导致browser和putty都不能进入系统。

要用Failsafe mode去重置router到default settings:router IP=192.168.1.1,然后client's IP用router的DHCP server。




歡迎光臨 電訊茶室 (http://telecom-cafe.com/forum/) Powered by Discuz! 7.2