Kconfig 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. menu "Core Netfilter Configuration"
  2. depends on NET && NETFILTER
  3. config NETFILTER_NETLINK
  4. tristate "Netfilter netlink interface"
  5. help
  6. If this option is enabled, the kernel will include support
  7. for the new netfilter netlink interface.
  8. config NETFILTER_NETLINK_QUEUE
  9. tristate "Netfilter NFQUEUE over NFNETLINK interface"
  10. depends on NETFILTER_NETLINK
  11. help
  12. If this option isenabled, the kernel will include support
  13. for queueing packets via NFNETLINK.
  14. config NETFILTER_NETLINK_LOG
  15. tristate "Netfilter LOG over NFNETLINK interface"
  16. depends on NETFILTER_NETLINK
  17. help
  18. If this option is enabled, the kernel will include support
  19. for logging packets via NFNETLINK.
  20. This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
  21. and is also scheduled to replace the old syslog-based ipt_LOG
  22. and ip6t_LOG modules.
  23. config NF_CONNTRACK
  24. tristate "Layer 3 Independent Connection tracking (EXPERIMENTAL)"
  25. depends on EXPERIMENTAL && IP_NF_CONNTRACK=n
  26. default n
  27. ---help---
  28. Connection tracking keeps a record of what packets have passed
  29. through your machine, in order to figure out how they are related
  30. into connections.
  31. Layer 3 independent connection tracking is experimental scheme
  32. which generalize ip_conntrack to support other layer 3 protocols.
  33. To compile it as a module, choose M here. If unsure, say N.
  34. config NF_CT_ACCT
  35. bool "Connection tracking flow accounting"
  36. depends on NF_CONNTRACK
  37. help
  38. If this option is enabled, the connection tracking code will
  39. keep per-flow packet and byte counters.
  40. Those counters can be used for flow-based accounting or the
  41. `connbytes' match.
  42. If unsure, say `N'.
  43. config NF_CONNTRACK_MARK
  44. bool 'Connection mark tracking support'
  45. depends on NF_CONNTRACK
  46. help
  47. This option enables support for connection marks, used by the
  48. `CONNMARK' target and `connmark' match. Similar to the mark value
  49. of packets, but this mark value is kept in the conntrack session
  50. instead of the individual packets.
  51. config NF_CONNTRACK_EVENTS
  52. bool "Connection tracking events (EXPERIMENTAL)"
  53. depends on EXPERIMENTAL && NF_CONNTRACK
  54. help
  55. If this option is enabled, the connection tracking code will
  56. provide a notifier chain that can be used by other kernel code
  57. to get notified aboutchanges in the connection tracking state.
  58. If unsure, say `N'.
  59. config NF_CT_PROTO_SCTP
  60. tristate 'SCTP protocol on new connection tracking support (EXPERIMENTAL)'
  61. depends on EXPERIMENTAL && NF_CONNTRACK
  62. default n
  63. help
  64. With this option enabled, the layer 3 independent connection
  65. tracking code will be able to do state tracking on SCTP connections.
  66. If you want to compile it as a module, say M here and read
  67. Documentation/modules.txt. If unsure, say `N'.
  68. config NF_CONNTRACK_FTP
  69. tristate "FTP support on new connection tracking (EXPERIMENTAL)"
  70. depends on EXPERIMENTAL && NF_CONNTRACK
  71. help
  72. Tracking FTP connections is problematic: special helpers are
  73. required for tracking them, and doing masquerading and other forms
  74. of Network Address Translation on them.
  75. This is FTP support on Layer 3 independent connection tracking.
  76. Layer 3 independent connection tracking is experimental scheme
  77. which generalize ip_conntrack to support other layer 3 protocols.
  78. To compile it as a module, choose M here. If unsure, say N.
  79. config NF_CT_NETLINK
  80. tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
  81. depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
  82. depends on NF_CONNTRACK!=y || NETFILTER_NETLINK!=m
  83. help
  84. This option enables support for a netlink-based userspace interface
  85. endmenu
  86. config NETFILTER_XTABLES
  87. tristate "Netfilter Xtables support (required for ip_tables)"
  88. help
  89. This is required if you intend to use any of ip_tables,
  90. ip6_tables or arp_tables.
  91. # alphabetically ordered list of targets
  92. config NETFILTER_XT_TARGET_CLASSIFY
  93. tristate '"CLASSIFY" target support'
  94. depends on NETFILTER_XTABLES
  95. help
  96. This option adds a `CLASSIFY' target, which enables the user to set
  97. the priority of a packet. Some qdiscs can use this value for
  98. classification, among these are:
  99. atm, cbq, dsmark, pfifo_fast, htb, prio
  100. To compile it as a module, choose M here. If unsure, say N.
  101. config NETFILTER_XT_TARGET_CONNMARK
  102. tristate '"CONNMARK" target support'
  103. depends on NETFILTER_XTABLES
  104. depends on IP_NF_MANGLE || IP6_NF_MANGLE
  105. depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || (NF_CONNTRACK_MARK && NF_CONNTRACK_IPV4)
  106. help
  107. This option adds a `CONNMARK' target, which allows one to manipulate
  108. the connection mark value. Similar to the MARK target, but
  109. affects the connection mark value rather than the packet mark value.
  110. If you want to compile it as a module, say M here and read
  111. <file:Documentation/modules.txt>. The module will be called
  112. ipt_CONNMARK.o. If unsure, say `N'.
  113. config NETFILTER_XT_TARGET_MARK
  114. tristate '"MARK" target support'
  115. depends on NETFILTER_XTABLES
  116. help
  117. This option adds a `MARK' target, which allows you to create rules
  118. in the `mangle' table which alter the netfilter mark (nfmark) field
  119. associated with the packet prior to routing. This can change
  120. the routing method (see `Use netfilter MARK value as routing
  121. key') and can also be used by other subsystems to change their
  122. behavior.
  123. To compile it as a module, choose M here. If unsure, say N.
  124. config NETFILTER_XT_TARGET_NFQUEUE
  125. tristate '"NFQUEUE" target Support'
  126. depends on NETFILTER_XTABLES
  127. help
  128. This Target replaced the old obsolete QUEUE target.
  129. As opposed to QUEUE, it supports 65535 different queues,
  130. not just one.
  131. To compile it as a module, choose M here. If unsure, say N.
  132. config NETFILTER_XT_TARGET_NOTRACK
  133. tristate '"NOTRACK" target support'
  134. depends on NETFILTER_XTABLES
  135. depends on IP_NF_RAW || IP6_NF_RAW
  136. depends on IP_NF_CONNTRACK || NF_CONNTRACK
  137. help
  138. The NOTRACK target allows a select rule to specify
  139. which packets *not* to enter the conntrack/NAT
  140. subsystem with all the consequences (no ICMP error tracking,
  141. no protocol helpers for the selected packets).
  142. If you want to compile it as a module, say M here and read
  143. <file:Documentation/modules.txt>. If unsure, say `N'.
  144. config NETFILTER_XT_MATCH_COMMENT
  145. tristate '"comment" match support'
  146. depends on NETFILTER_XTABLES
  147. help
  148. This option adds a `comment' dummy-match, which allows you to put
  149. comments in your iptables ruleset.
  150. If you want to compile it as a module, say M here and read
  151. <file:Documentation/modules.txt>. If unsure, say `N'.
  152. config NETFILTER_XT_MATCH_CONNBYTES
  153. tristate '"connbytes" per-connection counter match support'
  154. depends on NETFILTER_XTABLES
  155. depends on (IP_NF_CONNTRACK && IP_NF_CT_ACCT) || NF_CT_ACCT
  156. help
  157. This option adds a `connbytes' match, which allows you to match the
  158. number of bytes and/or packets for each direction within a connection.
  159. If you want to compile it as a module, say M here and read
  160. <file:Documentation/modules.txt>. If unsure, say `N'.
  161. config NETFILTER_XT_MATCH_CONNMARK
  162. tristate '"connmark" connection mark match support'
  163. depends on NETFILTER_XTABLES
  164. depends on (IP_NF_CONNTRACK && IP_NF_CONNTRACK_MARK) || NF_CONNTRACK_MARK
  165. help
  166. This option adds a `connmark' match, which allows you to match the
  167. connection mark value previously set for the session by `CONNMARK'.
  168. If you want to compile it as a module, say M here and read
  169. <file:Documentation/modules.txt>. The module will be called
  170. ipt_connmark.o. If unsure, say `N'.
  171. config NETFILTER_XT_MATCH_CONNTRACK
  172. tristate '"conntrack" connection tracking match support'
  173. depends on NETFILTER_XTABLES
  174. depends on IP_NF_CONNTRACK || NF_CONNTRACK
  175. help
  176. This is a general conntrack match module, a superset of the state match.
  177. It allows matching on additional conntrack information, which is
  178. useful in complex configurations, such as NAT gateways with multiple
  179. internet links or tunnels.
  180. To compile it as a module, choose M here. If unsure, say N.
  181. config NETFILTER_XT_MATCH_DCCP
  182. tristate '"DCCP" protocol match support'
  183. depends on NETFILTER_XTABLES
  184. help
  185. With this option enabled, you will be able to use the iptables
  186. `dccp' match in order to match on DCCP source/destination ports
  187. and DCCP flags.
  188. If you want to compile it as a module, say M here and read
  189. <file:Documentation/modules.txt>. If unsure, say `N'.
  190. config NETFILTER_XT_MATCH_HELPER
  191. tristate '"helper" match support'
  192. depends on NETFILTER_XTABLES
  193. depends on IP_NF_CONNTRACK || NF_CONNTRACK
  194. help
  195. Helper matching allows you to match packets in dynamic connections
  196. tracked by a conntrack-helper, ie. ip_conntrack_ftp
  197. To compile it as a module, choose M here. If unsure, say Y.
  198. config NETFILTER_XT_MATCH_LENGTH
  199. tristate '"length" match support'
  200. depends on NETFILTER_XTABLES
  201. help
  202. This option allows you to match the length of a packet against a
  203. specific value or range of values.
  204. To compile it as a module, choose M here. If unsure, say N.
  205. config NETFILTER_XT_MATCH_LIMIT
  206. tristate '"limit" match support'
  207. depends on NETFILTER_XTABLES
  208. help
  209. limit matching allows you to control the rate at which a rule can be
  210. matched: mainly useful in combination with the LOG target ("LOG
  211. target support", below) and to avoid some Denial of Service attacks.
  212. To compile it as a module, choose M here. If unsure, say N.
  213. config NETFILTER_XT_MATCH_MAC
  214. tristate '"mac" address match support'
  215. depends on NETFILTER_XTABLES
  216. help
  217. MAC matching allows you to match packets based on the source
  218. Ethernet address of the packet.
  219. To compile it as a module, choose M here. If unsure, say N.
  220. config NETFILTER_XT_MATCH_MARK
  221. tristate '"mark" match support'
  222. depends on NETFILTER_XTABLES
  223. help
  224. Netfilter mark matching allows you to match packets based on the
  225. `nfmark' value in the packet. This can be set by the MARK target
  226. (see below).
  227. To compile it as a module, choose M here. If unsure, say N.
  228. config NETFILTER_XT_MATCH_PHYSDEV
  229. tristate '"physdev" match support'
  230. depends on NETFILTER_XTABLES && BRIDGE_NETFILTER
  231. help
  232. Physdev packet matching matches against the physical bridge ports
  233. the IP packet arrived on or will leave by.
  234. To compile it as a module, choose M here. If unsure, say N.
  235. config NETFILTER_XT_MATCH_PKTTYPE
  236. tristate '"pkttype" packet type match support'
  237. depends on NETFILTER_XTABLES
  238. help
  239. Packet type matching allows you to match a packet by
  240. its "class", eg. BROADCAST, MULTICAST, ...
  241. Typical usage:
  242. iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
  243. To compile it as a module, choose M here. If unsure, say N.
  244. config NETFILTER_XT_MATCH_REALM
  245. tristate '"realm" match support'
  246. depends on NETFILTER_XTABLES
  247. select NET_CLS_ROUTE
  248. help
  249. This option adds a `realm' match, which allows you to use the realm
  250. key from the routing subsystem inside iptables.
  251. This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
  252. in tc world.
  253. If you want to compile it as a module, say M here and read
  254. <file:Documentation/modules.txt>. If unsure, say `N'.
  255. config NETFILTER_XT_MATCH_SCTP
  256. tristate '"sctp" protocol match support'
  257. depends on NETFILTER_XTABLES
  258. help
  259. With this option enabled, you will be able to use the
  260. `sctp' match in order to match on SCTP source/destination ports
  261. and SCTP chunk types.
  262. If you want to compile it as a module, say M here and read
  263. <file:Documentation/modules.txt>. If unsure, say `N'.
  264. config NETFILTER_XT_MATCH_STATE
  265. tristate '"state" match support'
  266. depends on NETFILTER_XTABLES
  267. depends on IP_NF_CONNTRACK || NF_CONNTRACK
  268. help
  269. Connection state matching allows you to match packets based on their
  270. relationship to a tracked connection (ie. previous packets). This
  271. is a powerful tool for packet classification.
  272. To compile it as a module, choose M here. If unsure, say N.
  273. config NETFILTER_XT_MATCH_STRING
  274. tristate '"string" match support'
  275. depends on NETFILTER_XTABLES
  276. select TEXTSEARCH
  277. select TEXTSEARCH_KMP
  278. select TEXTSEARCH_BM
  279. select TEXTSEARCH_FSM
  280. help
  281. This option adds a `string' match, which allows you to look for
  282. pattern matchings in packets.
  283. To compile it as a module, choose M here. If unsure, say N.
  284. config NETFILTER_XT_MATCH_TCPMSS
  285. tristate '"tcpmss" match support'
  286. depends on NETFILTER_XTABLES
  287. help
  288. This option adds a `tcpmss' match, which allows you to examine the
  289. MSS value of TCP SYN packets, which control the maximum packet size
  290. for that connection.
  291. To compile it as a module, choose M here. If unsure, say N.