Kconfig 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. #
  2. # IP netfilter configuration
  3. #
  4. menu "IPv6: Netfilter Configuration"
  5. depends on INET && IPV6 && NETFILTER
  6. config NF_DEFRAG_IPV6
  7. tristate
  8. default n
  9. config NF_CONNTRACK_IPV6
  10. tristate "IPv6 connection tracking support"
  11. depends on INET && IPV6 && NF_CONNTRACK
  12. default m if NETFILTER_ADVANCED=n
  13. select NF_DEFRAG_IPV6
  14. ---help---
  15. Connection tracking keeps a record of what packets have passed
  16. through your machine, in order to figure out how they are related
  17. into connections.
  18. This is IPv6 support on Layer 3 independent connection tracking.
  19. Layer 3 independent connection tracking is experimental scheme
  20. which generalize ip_conntrack to support other layer 3 protocols.
  21. To compile it as a module, choose M here. If unsure, say N.
  22. config NF_TABLES_IPV6
  23. depends on NF_TABLES
  24. tristate "IPv6 nf_tables support"
  25. help
  26. This option enables the IPv6 support for nf_tables.
  27. config NFT_CHAIN_ROUTE_IPV6
  28. depends on NF_TABLES_IPV6
  29. tristate "IPv6 nf_tables route chain support"
  30. help
  31. This option enables the "route" chain for IPv6 in nf_tables. This
  32. chain type is used to force packet re-routing after mangling header
  33. fields such as the source, destination, flowlabel, hop-limit and
  34. the packet mark.
  35. config NF_REJECT_IPV6
  36. tristate "IPv6 packet rejection"
  37. default m if NETFILTER_ADVANCED=n
  38. config NFT_REJECT_IPV6
  39. depends on NF_TABLES_IPV6
  40. select NF_REJECT_IPV6
  41. default NFT_REJECT
  42. tristate
  43. config NF_LOG_IPV6
  44. tristate "IPv6 packet logging"
  45. default m if NETFILTER_ADVANCED=n
  46. select NF_LOG_COMMON
  47. config NF_NAT_IPV6
  48. tristate "IPv6 NAT"
  49. depends on NF_CONNTRACK_IPV6
  50. depends on NETFILTER_ADVANCED
  51. select NF_NAT
  52. help
  53. The IPv6 NAT option allows masquerading, port forwarding and other
  54. forms of full Network Address Port Translation. This can be
  55. controlled by iptables or nft.
  56. if NF_NAT_IPV6
  57. config NFT_CHAIN_NAT_IPV6
  58. depends on NF_TABLES_IPV6
  59. tristate "IPv6 nf_tables nat chain support"
  60. help
  61. This option enables the "nat" chain for IPv6 in nf_tables. This
  62. chain type is used to perform Network Address Translation (NAT)
  63. packet transformations such as the source, destination address and
  64. source and destination ports.
  65. config NF_NAT_MASQUERADE_IPV6
  66. tristate "IPv6 masquerade support"
  67. help
  68. This is the kernel functionality to provide NAT in the masquerade
  69. flavour (automatic source address selection) for IPv6.
  70. config NFT_MASQ_IPV6
  71. tristate "IPv6 masquerade support for nf_tables"
  72. depends on NF_TABLES_IPV6
  73. depends on NFT_MASQ
  74. select NF_NAT_MASQUERADE_IPV6
  75. help
  76. This is the expression that provides IPv4 masquerading support for
  77. nf_tables.
  78. endif # NF_NAT_IPV6
  79. config IP6_NF_IPTABLES
  80. tristate "IP6 tables support (required for filtering)"
  81. depends on INET && IPV6
  82. select NETFILTER_XTABLES
  83. default m if NETFILTER_ADVANCED=n
  84. help
  85. ip6tables is a general, extensible packet identification framework.
  86. Currently only the packet filtering and packet mangling subsystem
  87. for IPv6 use this, but connection tracking is going to follow.
  88. Say 'Y' or 'M' here if you want to use either of those.
  89. To compile it as a module, choose M here. If unsure, say N.
  90. if IP6_NF_IPTABLES
  91. # The simple matches.
  92. config IP6_NF_MATCH_AH
  93. tristate '"ah" match support'
  94. depends on NETFILTER_ADVANCED
  95. help
  96. This module allows one to match AH packets.
  97. To compile it as a module, choose M here. If unsure, say N.
  98. config IP6_NF_MATCH_EUI64
  99. tristate '"eui64" address check'
  100. depends on NETFILTER_ADVANCED
  101. help
  102. This module performs checking on the IPv6 source address
  103. Compares the last 64 bits with the EUI64 (delivered
  104. from the MAC address) address
  105. To compile it as a module, choose M here. If unsure, say N.
  106. config IP6_NF_MATCH_FRAG
  107. tristate '"frag" Fragmentation header match support'
  108. depends on NETFILTER_ADVANCED
  109. help
  110. frag matching allows you to match packets based on the fragmentation
  111. header of the packet.
  112. To compile it as a module, choose M here. If unsure, say N.
  113. config IP6_NF_MATCH_OPTS
  114. tristate '"hbh" hop-by-hop and "dst" opts header match support'
  115. depends on NETFILTER_ADVANCED
  116. help
  117. This allows one to match packets based on the hop-by-hop
  118. and destination options headers of a packet.
  119. To compile it as a module, choose M here. If unsure, say N.
  120. config IP6_NF_MATCH_HL
  121. tristate '"hl" hoplimit match support'
  122. depends on NETFILTER_ADVANCED
  123. select NETFILTER_XT_MATCH_HL
  124. ---help---
  125. This is a backwards-compat option for the user's convenience
  126. (e.g. when running oldconfig). It selects
  127. CONFIG_NETFILTER_XT_MATCH_HL.
  128. config IP6_NF_MATCH_IPV6HEADER
  129. tristate '"ipv6header" IPv6 Extension Headers Match'
  130. default m if NETFILTER_ADVANCED=n
  131. help
  132. This module allows one to match packets based upon
  133. the ipv6 extension headers.
  134. To compile it as a module, choose M here. If unsure, say N.
  135. config IP6_NF_MATCH_MH
  136. tristate '"mh" match support'
  137. depends on NETFILTER_ADVANCED
  138. help
  139. This module allows one to match MH packets.
  140. To compile it as a module, choose M here. If unsure, say N.
  141. config IP6_NF_MATCH_RPFILTER
  142. tristate '"rpfilter" reverse path filter match support'
  143. depends on NETFILTER_ADVANCED && (IP6_NF_MANGLE || IP6_NF_RAW)
  144. ---help---
  145. This option allows you to match packets whose replies would
  146. go out via the interface the packet came in.
  147. To compile it as a module, choose M here. If unsure, say N.
  148. The module will be called ip6t_rpfilter.
  149. config IP6_NF_MATCH_RT
  150. tristate '"rt" Routing header match support'
  151. depends on NETFILTER_ADVANCED
  152. help
  153. rt matching allows you to match packets based on the routing
  154. header of the packet.
  155. To compile it as a module, choose M here. If unsure, say N.
  156. # The targets
  157. config IP6_NF_TARGET_HL
  158. tristate '"HL" hoplimit target support'
  159. depends on NETFILTER_ADVANCED && IP6_NF_MANGLE
  160. select NETFILTER_XT_TARGET_HL
  161. ---help---
  162. This is a backwards-compatible option for the user's convenience
  163. (e.g. when running oldconfig). It selects
  164. CONFIG_NETFILTER_XT_TARGET_HL.
  165. config IP6_NF_FILTER
  166. tristate "Packet filtering"
  167. default m if NETFILTER_ADVANCED=n
  168. help
  169. Packet filtering defines a table `filter', which has a series of
  170. rules for simple packet filtering at local input, forwarding and
  171. local output. See the man page for iptables(8).
  172. To compile it as a module, choose M here. If unsure, say N.
  173. config IP6_NF_TARGET_REJECT
  174. tristate "REJECT target support"
  175. depends on IP6_NF_FILTER
  176. select NF_REJECT_IPV6
  177. default m if NETFILTER_ADVANCED=n
  178. help
  179. The REJECT target allows a filtering rule to specify that an ICMPv6
  180. error should be issued in response to an incoming packet, rather
  181. than silently being dropped.
  182. To compile it as a module, choose M here. If unsure, say N.
  183. config IP6_NF_TARGET_SYNPROXY
  184. tristate "SYNPROXY target support"
  185. depends on NF_CONNTRACK && NETFILTER_ADVANCED
  186. select NETFILTER_SYNPROXY
  187. select SYN_COOKIES
  188. help
  189. The SYNPROXY target allows you to intercept TCP connections and
  190. establish them using syncookies before they are passed on to the
  191. server. This allows to avoid conntrack and server resource usage
  192. during SYN-flood attacks.
  193. To compile it as a module, choose M here. If unsure, say N.
  194. config IP6_NF_MANGLE
  195. tristate "Packet mangling"
  196. default m if NETFILTER_ADVANCED=n
  197. help
  198. This option adds a `mangle' table to iptables: see the man page for
  199. iptables(8). This table is used for various packet alterations
  200. which can effect how the packet is routed.
  201. To compile it as a module, choose M here. If unsure, say N.
  202. config IP6_NF_RAW
  203. tristate 'raw table support (required for TRACE)'
  204. help
  205. This option adds a `raw' table to ip6tables. This table is the very
  206. first in the netfilter framework and hooks in at the PREROUTING
  207. and OUTPUT chains.
  208. If you want to compile it as a module, say M here and read
  209. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  210. # security table for MAC policy
  211. config IP6_NF_SECURITY
  212. tristate "Security table"
  213. depends on SECURITY
  214. depends on NETFILTER_ADVANCED
  215. help
  216. This option adds a `security' table to iptables, for use
  217. with Mandatory Access Control (MAC) policy.
  218. If unsure, say N.
  219. config IP6_NF_NAT
  220. tristate "ip6tables NAT support"
  221. depends on NF_CONNTRACK_IPV6
  222. depends on NETFILTER_ADVANCED
  223. select NF_NAT
  224. select NF_NAT_IPV6
  225. select NETFILTER_XT_NAT
  226. help
  227. This enables the `nat' table in ip6tables. This allows masquerading,
  228. port forwarding and other forms of full Network Address Port
  229. Translation.
  230. To compile it as a module, choose M here. If unsure, say N.
  231. if IP6_NF_NAT
  232. config IP6_NF_TARGET_MASQUERADE
  233. tristate "MASQUERADE target support"
  234. select NF_NAT_MASQUERADE_IPV6
  235. help
  236. Masquerading is a special case of NAT: all outgoing connections are
  237. changed to seem to come from a particular interface's address, and
  238. if the interface goes down, those connections are lost. This is
  239. only useful for dialup accounts with dynamic IP address (ie. your IP
  240. address will be different on next dialup).
  241. To compile it as a module, choose M here. If unsure, say N.
  242. config IP6_NF_TARGET_NPT
  243. tristate "NPT (Network Prefix translation) target support"
  244. help
  245. This option adds the `SNPT' and `DNPT' target, which perform
  246. stateless IPv6-to-IPv6 Network Prefix Translation per RFC 6296.
  247. To compile it as a module, choose M here. If unsure, say N.
  248. endif # IP6_NF_NAT
  249. endif # IP6_NF_IPTABLES
  250. endmenu