Kconfig 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583
  1. menu "Core Netfilter Configuration"
  2. depends on NET && INET && NETFILTER
  3. config NETFILTER_INGRESS
  4. bool "Netfilter ingress support"
  5. default y
  6. select NET_INGRESS
  7. help
  8. This allows you to classify packets from ingress using the Netfilter
  9. infrastructure.
  10. config NETFILTER_NETLINK
  11. tristate
  12. config NETFILTER_FAMILY_BRIDGE
  13. bool
  14. config NETFILTER_FAMILY_ARP
  15. bool
  16. config NETFILTER_NETLINK_ACCT
  17. tristate "Netfilter NFACCT over NFNETLINK interface"
  18. depends on NETFILTER_ADVANCED
  19. select NETFILTER_NETLINK
  20. help
  21. If this option is enabled, the kernel will include support
  22. for extended accounting via NFNETLINK.
  23. config NETFILTER_NETLINK_QUEUE
  24. tristate "Netfilter NFQUEUE over NFNETLINK interface"
  25. depends on NETFILTER_ADVANCED
  26. select NETFILTER_NETLINK
  27. help
  28. If this option is enabled, the kernel will include support
  29. for queueing packets via NFNETLINK.
  30. config NETFILTER_NETLINK_LOG
  31. tristate "Netfilter LOG over NFNETLINK interface"
  32. default m if NETFILTER_ADVANCED=n
  33. select NETFILTER_NETLINK
  34. help
  35. If this option is enabled, the kernel will include support
  36. for logging packets via NFNETLINK.
  37. This obsoletes the existing ipt_ULOG and ebg_ulog mechanisms,
  38. and is also scheduled to replace the old syslog-based ipt_LOG
  39. and ip6t_LOG modules.
  40. config NF_CONNTRACK
  41. tristate "Netfilter connection tracking support"
  42. default m if NETFILTER_ADVANCED=n
  43. help
  44. Connection tracking keeps a record of what packets have passed
  45. through your machine, in order to figure out how they are related
  46. into connections.
  47. This is required to do Masquerading or other kinds of Network
  48. Address Translation. It can also be used to enhance packet
  49. filtering (see `Connection state match support' below).
  50. To compile it as a module, choose M here. If unsure, say N.
  51. config NF_LOG_COMMON
  52. tristate
  53. config NF_LOG_NETDEV
  54. tristate "Netdev packet logging"
  55. select NF_LOG_COMMON
  56. if NF_CONNTRACK
  57. config NETFILTER_CONNCOUNT
  58. tristate
  59. config NF_CONNTRACK_MARK
  60. bool 'Connection mark tracking support'
  61. depends on NETFILTER_ADVANCED
  62. help
  63. This option enables support for connection marks, used by the
  64. `CONNMARK' target and `connmark' match. Similar to the mark value
  65. of packets, but this mark value is kept in the conntrack session
  66. instead of the individual packets.
  67. config NF_CONNTRACK_SECMARK
  68. bool 'Connection tracking security mark support'
  69. depends on NETWORK_SECMARK
  70. default m if NETFILTER_ADVANCED=n
  71. help
  72. This option enables security markings to be applied to
  73. connections. Typically they are copied to connections from
  74. packets using the CONNSECMARK target and copied back from
  75. connections to packets with the same target, with the packets
  76. being originally labeled via SECMARK.
  77. If unsure, say 'N'.
  78. config NF_CONNTRACK_ZONES
  79. bool 'Connection tracking zones'
  80. depends on NETFILTER_ADVANCED
  81. depends on NETFILTER_XT_TARGET_CT
  82. help
  83. This option enables support for connection tracking zones.
  84. Normally, each connection needs to have a unique system wide
  85. identity. Connection tracking zones allow to have multiple
  86. connections using the same identity, as long as they are
  87. contained in different zones.
  88. If unsure, say `N'.
  89. config NF_CONNTRACK_PROCFS
  90. bool "Supply CT list in procfs (OBSOLETE)"
  91. default y
  92. depends on PROC_FS
  93. ---help---
  94. This option enables for the list of known conntrack entries
  95. to be shown in procfs under net/netfilter/nf_conntrack. This
  96. is considered obsolete in favor of using the conntrack(8)
  97. tool which uses Netlink.
  98. config NF_CONNTRACK_EVENTS
  99. bool "Connection tracking events"
  100. depends on NETFILTER_ADVANCED
  101. help
  102. If this option is enabled, the connection tracking code will
  103. provide a notifier chain that can be used by other kernel code
  104. to get notified about changes in the connection tracking state.
  105. If unsure, say `N'.
  106. config NF_CONNTRACK_TIMEOUT
  107. bool 'Connection tracking timeout'
  108. depends on NETFILTER_ADVANCED
  109. help
  110. This option enables support for connection tracking timeout
  111. extension. This allows you to attach timeout policies to flow
  112. via the CT target.
  113. If unsure, say `N'.
  114. config NF_CONNTRACK_TIMESTAMP
  115. bool 'Connection tracking timestamping'
  116. depends on NETFILTER_ADVANCED
  117. help
  118. This option enables support for connection tracking timestamping.
  119. This allows you to store the flow start-time and to obtain
  120. the flow-stop time (once it has been destroyed) via Connection
  121. tracking events.
  122. If unsure, say `N'.
  123. config NF_CONNTRACK_LABELS
  124. bool
  125. help
  126. This option enables support for assigning user-defined flag bits
  127. to connection tracking entries. It selected by the connlabel match.
  128. config NF_CT_PROTO_DCCP
  129. bool 'DCCP protocol connection tracking support'
  130. depends on NETFILTER_ADVANCED
  131. default y
  132. help
  133. With this option enabled, the layer 3 independent connection
  134. tracking code will be able to do state tracking on DCCP connections.
  135. If unsure, say Y.
  136. config NF_CT_PROTO_GRE
  137. tristate
  138. config NF_CT_PROTO_SCTP
  139. bool 'SCTP protocol connection tracking support'
  140. depends on NETFILTER_ADVANCED
  141. default y
  142. select LIBCRC32C
  143. help
  144. With this option enabled, the layer 3 independent connection
  145. tracking code will be able to do state tracking on SCTP connections.
  146. If unsure, say Y.
  147. config NF_CT_PROTO_UDPLITE
  148. bool 'UDP-Lite protocol connection tracking support'
  149. depends on NETFILTER_ADVANCED
  150. default y
  151. help
  152. With this option enabled, the layer 3 independent connection
  153. tracking code will be able to do state tracking on UDP-Lite
  154. connections.
  155. If unsure, say Y.
  156. config NF_CONNTRACK_AMANDA
  157. tristate "Amanda backup protocol support"
  158. depends on NETFILTER_ADVANCED
  159. select TEXTSEARCH
  160. select TEXTSEARCH_KMP
  161. help
  162. If you are running the Amanda backup package <http://www.amanda.org/>
  163. on this machine or machines that will be MASQUERADED through this
  164. machine, then you may want to enable this feature. This allows the
  165. connection tracking and natting code to allow the sub-channels that
  166. Amanda requires for communication of the backup data, messages and
  167. index.
  168. To compile it as a module, choose M here. If unsure, say N.
  169. config NF_CONNTRACK_FTP
  170. tristate "FTP protocol support"
  171. default m if NETFILTER_ADVANCED=n
  172. help
  173. Tracking FTP connections is problematic: special helpers are
  174. required for tracking them, and doing masquerading and other forms
  175. of Network Address Translation on them.
  176. This is FTP support on Layer 3 independent connection tracking.
  177. Layer 3 independent connection tracking is experimental scheme
  178. which generalize ip_conntrack to support other layer 3 protocols.
  179. To compile it as a module, choose M here. If unsure, say N.
  180. config NF_CONNTRACK_H323
  181. tristate "H.323 protocol support"
  182. depends on IPV6 || IPV6=n
  183. depends on NETFILTER_ADVANCED
  184. help
  185. H.323 is a VoIP signalling protocol from ITU-T. As one of the most
  186. important VoIP protocols, it is widely used by voice hardware and
  187. software including voice gateways, IP phones, Netmeeting, OpenPhone,
  188. Gnomemeeting, etc.
  189. With this module you can support H.323 on a connection tracking/NAT
  190. firewall.
  191. This module supports RAS, Fast Start, H.245 Tunnelling, Call
  192. Forwarding, RTP/RTCP and T.120 based audio, video, fax, chat,
  193. whiteboard, file transfer, etc. For more information, please
  194. visit http://nath323.sourceforge.net/.
  195. To compile it as a module, choose M here. If unsure, say N.
  196. config NF_CONNTRACK_IRC
  197. tristate "IRC protocol support"
  198. default m if NETFILTER_ADVANCED=n
  199. help
  200. There is a commonly-used extension to IRC called
  201. Direct Client-to-Client Protocol (DCC). This enables users to send
  202. files to each other, and also chat to each other without the need
  203. of a server. DCC Sending is used anywhere you send files over IRC,
  204. and DCC Chat is most commonly used by Eggdrop bots. If you are
  205. using NAT, this extension will enable you to send files and initiate
  206. chats. Note that you do NOT need this extension to get files or
  207. have others initiate chats, or everything else in IRC.
  208. To compile it as a module, choose M here. If unsure, say N.
  209. config NF_CONNTRACK_BROADCAST
  210. tristate
  211. config NF_CONNTRACK_NETBIOS_NS
  212. tristate "NetBIOS name service protocol support"
  213. select NF_CONNTRACK_BROADCAST
  214. help
  215. NetBIOS name service requests are sent as broadcast messages from an
  216. unprivileged port and responded to with unicast messages to the
  217. same port. This make them hard to firewall properly because connection
  218. tracking doesn't deal with broadcasts. This helper tracks locally
  219. originating NetBIOS name service requests and the corresponding
  220. responses. It relies on correct IP address configuration, specifically
  221. netmask and broadcast address. When properly configured, the output
  222. of "ip address show" should look similar to this:
  223. $ ip -4 address show eth0
  224. 4: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
  225. inet 172.16.2.252/24 brd 172.16.2.255 scope global eth0
  226. To compile it as a module, choose M here. If unsure, say N.
  227. config NF_CONNTRACK_SNMP
  228. tristate "SNMP service protocol support"
  229. depends on NETFILTER_ADVANCED
  230. select NF_CONNTRACK_BROADCAST
  231. help
  232. SNMP service requests are sent as broadcast messages from an
  233. unprivileged port and responded to with unicast messages to the
  234. same port. This make them hard to firewall properly because connection
  235. tracking doesn't deal with broadcasts. This helper tracks locally
  236. originating SNMP service requests and the corresponding
  237. responses. It relies on correct IP address configuration, specifically
  238. netmask and broadcast address.
  239. To compile it as a module, choose M here. If unsure, say N.
  240. config NF_CONNTRACK_PPTP
  241. tristate "PPtP protocol support"
  242. depends on NETFILTER_ADVANCED
  243. select NF_CT_PROTO_GRE
  244. help
  245. This module adds support for PPTP (Point to Point Tunnelling
  246. Protocol, RFC2637) connection tracking and NAT.
  247. If you are running PPTP sessions over a stateful firewall or NAT
  248. box, you may want to enable this feature.
  249. Please note that not all PPTP modes of operation are supported yet.
  250. Specifically these limitations exist:
  251. - Blindly assumes that control connections are always established
  252. in PNS->PAC direction. This is a violation of RFC2637.
  253. - Only supports a single call within each session
  254. To compile it as a module, choose M here. If unsure, say N.
  255. config NF_CONNTRACK_SANE
  256. tristate "SANE protocol support"
  257. depends on NETFILTER_ADVANCED
  258. help
  259. SANE is a protocol for remote access to scanners as implemented
  260. by the 'saned' daemon. Like FTP, it uses separate control and
  261. data connections.
  262. With this module you can support SANE on a connection tracking
  263. firewall.
  264. To compile it as a module, choose M here. If unsure, say N.
  265. config NF_CONNTRACK_SIP
  266. tristate "SIP protocol support"
  267. default m if NETFILTER_ADVANCED=n
  268. help
  269. SIP is an application-layer control protocol that can establish,
  270. modify, and terminate multimedia sessions (conferences) such as
  271. Internet telephony calls. With the ip_conntrack_sip and
  272. the nf_nat_sip modules you can support the protocol on a connection
  273. tracking/NATing firewall.
  274. To compile it as a module, choose M here. If unsure, say N.
  275. config NF_CONNTRACK_TFTP
  276. tristate "TFTP protocol support"
  277. depends on NETFILTER_ADVANCED
  278. help
  279. TFTP connection tracking helper, this is required depending
  280. on how restrictive your ruleset is.
  281. If you are using a tftp client behind -j SNAT or -j MASQUERADING
  282. you will need this.
  283. To compile it as a module, choose M here. If unsure, say N.
  284. config NF_CT_NETLINK
  285. tristate 'Connection tracking netlink interface'
  286. select NETFILTER_NETLINK
  287. default m if NETFILTER_ADVANCED=n
  288. help
  289. This option enables support for a netlink-based userspace interface
  290. config NF_CT_NETLINK_TIMEOUT
  291. tristate 'Connection tracking timeout tuning via Netlink'
  292. select NETFILTER_NETLINK
  293. depends on NETFILTER_ADVANCED
  294. help
  295. This option enables support for connection tracking timeout
  296. fine-grain tuning. This allows you to attach specific timeout
  297. policies to flows, instead of using the global timeout policy.
  298. If unsure, say `N'.
  299. config NF_CT_NETLINK_HELPER
  300. tristate 'Connection tracking helpers in user-space via Netlink'
  301. select NETFILTER_NETLINK
  302. depends on NF_CT_NETLINK
  303. depends on NETFILTER_NETLINK_QUEUE
  304. depends on NETFILTER_NETLINK_GLUE_CT
  305. depends on NETFILTER_ADVANCED
  306. help
  307. This option enables the user-space connection tracking helpers
  308. infrastructure.
  309. If unsure, say `N'.
  310. config NETFILTER_NETLINK_GLUE_CT
  311. bool "NFQUEUE and NFLOG integration with Connection Tracking"
  312. default n
  313. depends on (NETFILTER_NETLINK_QUEUE || NETFILTER_NETLINK_LOG) && NF_CT_NETLINK
  314. help
  315. If this option is enabled, NFQUEUE and NFLOG can include
  316. Connection Tracking information together with the packet is
  317. the enqueued via NFNETLINK.
  318. config NF_NAT
  319. tristate
  320. config NF_NAT_NEEDED
  321. bool
  322. depends on NF_NAT
  323. default y
  324. config NF_NAT_PROTO_DCCP
  325. bool
  326. depends on NF_NAT && NF_CT_PROTO_DCCP
  327. default NF_NAT && NF_CT_PROTO_DCCP
  328. config NF_NAT_PROTO_UDPLITE
  329. bool
  330. depends on NF_NAT && NF_CT_PROTO_UDPLITE
  331. default NF_NAT && NF_CT_PROTO_UDPLITE
  332. config NF_NAT_PROTO_SCTP
  333. bool
  334. default NF_NAT && NF_CT_PROTO_SCTP
  335. depends on NF_NAT && NF_CT_PROTO_SCTP
  336. config NF_NAT_AMANDA
  337. tristate
  338. depends on NF_CONNTRACK && NF_NAT
  339. default NF_NAT && NF_CONNTRACK_AMANDA
  340. config NF_NAT_FTP
  341. tristate
  342. depends on NF_CONNTRACK && NF_NAT
  343. default NF_NAT && NF_CONNTRACK_FTP
  344. config NF_NAT_IRC
  345. tristate
  346. depends on NF_CONNTRACK && NF_NAT
  347. default NF_NAT && NF_CONNTRACK_IRC
  348. config NF_NAT_SIP
  349. tristate
  350. depends on NF_CONNTRACK && NF_NAT
  351. default NF_NAT && NF_CONNTRACK_SIP
  352. config NF_NAT_TFTP
  353. tristate
  354. depends on NF_CONNTRACK && NF_NAT
  355. default NF_NAT && NF_CONNTRACK_TFTP
  356. config NF_NAT_REDIRECT
  357. bool
  358. config NETFILTER_SYNPROXY
  359. tristate
  360. endif # NF_CONNTRACK
  361. config NF_OSF
  362. tristate
  363. config NF_TABLES
  364. select NETFILTER_NETLINK
  365. tristate "Netfilter nf_tables support"
  366. help
  367. nftables is the new packet classification framework that intends to
  368. replace the existing {ip,ip6,arp,eb}_tables infrastructure. It
  369. provides a pseudo-state machine with an extensible instruction-set
  370. (also known as expressions) that the userspace 'nft' utility
  371. (http://www.netfilter.org/projects/nftables) uses to build the
  372. rule-set. It also comes with the generic set infrastructure that
  373. allows you to construct mappings between matchings and actions
  374. for performance lookups.
  375. To compile it as a module, choose M here.
  376. if NF_TABLES
  377. config NF_TABLES_INET
  378. depends on IPV6
  379. select NF_TABLES_IPV4
  380. select NF_TABLES_IPV6
  381. bool "Netfilter nf_tables mixed IPv4/IPv6 tables support"
  382. help
  383. This option enables support for a mixed IPv4/IPv6 "inet" table.
  384. config NF_TABLES_NETDEV
  385. bool "Netfilter nf_tables netdev tables support"
  386. help
  387. This option enables support for the "netdev" table.
  388. config NFT_NUMGEN
  389. tristate "Netfilter nf_tables number generator module"
  390. help
  391. This option adds the number generator expression used to perform
  392. incremental counting and random numbers bound to a upper limit.
  393. config NFT_CT
  394. depends on NF_CONNTRACK
  395. tristate "Netfilter nf_tables conntrack module"
  396. help
  397. This option adds the "ct" expression that you can use to match
  398. connection tracking information such as the flow state.
  399. config NFT_FLOW_OFFLOAD
  400. depends on NF_CONNTRACK && NF_FLOW_TABLE
  401. tristate "Netfilter nf_tables hardware flow offload module"
  402. help
  403. This option adds the "flow_offload" expression that you can use to
  404. choose what flows are placed into the hardware.
  405. config NFT_SET_RBTREE
  406. tristate "Netfilter nf_tables rbtree set module"
  407. help
  408. This option adds the "rbtree" set type (Red Black tree) that is used
  409. to build interval-based sets.
  410. config NFT_SET_HASH
  411. tristate "Netfilter nf_tables hash set module"
  412. help
  413. This option adds the "hash" set type that is used to build one-way
  414. mappings between matchings and actions.
  415. config NFT_SET_BITMAP
  416. tristate "Netfilter nf_tables bitmap set module"
  417. help
  418. This option adds the "bitmap" set type that is used to build sets
  419. whose keys are smaller or equal to 16 bits.
  420. config NFT_COUNTER
  421. tristate "Netfilter nf_tables counter module"
  422. help
  423. This option adds the "counter" expression that you can use to
  424. include packet and byte counters in a rule.
  425. config NFT_CONNLIMIT
  426. tristate "Netfilter nf_tables connlimit module"
  427. depends on NF_CONNTRACK
  428. depends on NETFILTER_ADVANCED
  429. select NETFILTER_CONNCOUNT
  430. help
  431. This option adds the "connlimit" expression that you can use to
  432. ratelimit rule matchings per connections.
  433. config NFT_LOG
  434. tristate "Netfilter nf_tables log module"
  435. help
  436. This option adds the "log" expression that you can use to log
  437. packets matching some criteria.
  438. config NFT_LIMIT
  439. tristate "Netfilter nf_tables limit module"
  440. help
  441. This option adds the "limit" expression that you can use to
  442. ratelimit rule matchings.
  443. config NFT_MASQ
  444. depends on NF_CONNTRACK
  445. depends on NF_NAT
  446. tristate "Netfilter nf_tables masquerade support"
  447. help
  448. This option adds the "masquerade" expression that you can use
  449. to perform NAT in the masquerade flavour.
  450. config NFT_REDIR
  451. depends on NF_CONNTRACK
  452. depends on NF_NAT
  453. tristate "Netfilter nf_tables redirect support"
  454. help
  455. This options adds the "redirect" expression that you can use
  456. to perform NAT in the redirect flavour.
  457. config NFT_NAT
  458. depends on NF_CONNTRACK
  459. select NF_NAT
  460. tristate "Netfilter nf_tables nat module"
  461. help
  462. This option adds the "nat" expression that you can use to perform
  463. typical Network Address Translation (NAT) packet transformations.
  464. config NFT_OBJREF
  465. tristate "Netfilter nf_tables stateful object reference module"
  466. help
  467. This option adds the "objref" expression that allows you to refer to
  468. stateful objects, such as counters and quotas.
  469. config NFT_QUEUE
  470. depends on NETFILTER_NETLINK_QUEUE
  471. tristate "Netfilter nf_tables queue module"
  472. help
  473. This is required if you intend to use the userspace queueing
  474. infrastructure (also known as NFQUEUE) from nftables.
  475. config NFT_QUOTA
  476. tristate "Netfilter nf_tables quota module"
  477. help
  478. This option adds the "quota" expression that you can use to match
  479. enforce bytes quotas.
  480. config NFT_REJECT
  481. default m if NETFILTER_ADVANCED=n
  482. tristate "Netfilter nf_tables reject support"
  483. depends on !NF_TABLES_INET || (IPV6!=m || m)
  484. help
  485. This option adds the "reject" expression that you can use to
  486. explicitly deny and notify via TCP reset/ICMP informational errors
  487. unallowed traffic.
  488. config NFT_REJECT_INET
  489. depends on NF_TABLES_INET
  490. default NFT_REJECT
  491. tristate
  492. config NFT_COMPAT
  493. depends on NETFILTER_XTABLES
  494. tristate "Netfilter x_tables over nf_tables module"
  495. help
  496. This is required if you intend to use any of existing
  497. x_tables match/target extensions over the nf_tables
  498. framework.
  499. config NFT_HASH
  500. tristate "Netfilter nf_tables hash module"
  501. help
  502. This option adds the "hash" expression that you can use to perform
  503. a hash operation on registers.
  504. config NFT_FIB
  505. tristate
  506. config NFT_FIB_INET
  507. depends on NF_TABLES_INET
  508. depends on NFT_FIB_IPV4
  509. depends on NFT_FIB_IPV6
  510. tristate "Netfilter nf_tables fib inet support"
  511. help
  512. This option allows using the FIB expression from the inet table.
  513. The lookup will be delegated to the IPv4 or IPv6 FIB depending
  514. on the protocol of the packet.
  515. config NFT_SOCKET
  516. tristate "Netfilter nf_tables socket match support"
  517. depends on IPV6 || IPV6=n
  518. select NF_SOCKET_IPV4
  519. select NF_SOCKET_IPV6 if IPV6
  520. help
  521. This option allows matching for the presence or absence of a
  522. corresponding socket and its attributes.
  523. if NF_TABLES_NETDEV
  524. config NF_DUP_NETDEV
  525. tristate "Netfilter packet duplication support"
  526. help
  527. This option enables the generic packet duplication infrastructure
  528. for Netfilter.
  529. config NFT_DUP_NETDEV
  530. tristate "Netfilter nf_tables netdev packet duplication support"
  531. select NF_DUP_NETDEV
  532. help
  533. This option enables packet duplication for the "netdev" family.
  534. config NFT_FWD_NETDEV
  535. tristate "Netfilter nf_tables netdev packet forwarding support"
  536. select NF_DUP_NETDEV
  537. help
  538. This option enables packet forwarding for the "netdev" family.
  539. config NFT_FIB_NETDEV
  540. depends on NFT_FIB_IPV4
  541. depends on NFT_FIB_IPV6
  542. tristate "Netfilter nf_tables netdev fib lookups support"
  543. help
  544. This option allows using the FIB expression from the netdev table.
  545. The lookup will be delegated to the IPv4 or IPv6 FIB depending
  546. on the protocol of the packet.
  547. endif # NF_TABLES_NETDEV
  548. endif # NF_TABLES
  549. config NF_FLOW_TABLE_INET
  550. tristate "Netfilter flow table mixed IPv4/IPv6 module"
  551. depends on NF_FLOW_TABLE
  552. help
  553. This option adds the flow table mixed IPv4/IPv6 support.
  554. To compile it as a module, choose M here.
  555. config NF_FLOW_TABLE
  556. tristate "Netfilter flow table module"
  557. depends on NETFILTER_INGRESS
  558. depends on NF_CONNTRACK
  559. depends on NF_TABLES
  560. help
  561. This option adds the flow table core infrastructure.
  562. To compile it as a module, choose M here.
  563. config NETFILTER_XTABLES
  564. tristate "Netfilter Xtables support (required for ip_tables)"
  565. default m if NETFILTER_ADVANCED=n
  566. help
  567. This is required if you intend to use any of ip_tables,
  568. ip6_tables or arp_tables.
  569. if NETFILTER_XTABLES
  570. comment "Xtables combined modules"
  571. config NETFILTER_XT_MARK
  572. tristate 'nfmark target and match support'
  573. default m if NETFILTER_ADVANCED=n
  574. ---help---
  575. This option adds the "MARK" target and "mark" match.
  576. Netfilter mark matching allows you to match packets based on the
  577. "nfmark" value in the packet.
  578. The target allows you to create rules in the "mangle" table which alter
  579. the netfilter mark (nfmark) field associated with the packet.
  580. Prior to routing, the nfmark can influence the routing method and can
  581. also be used by other subsystems to change their behavior.
  582. config NETFILTER_XT_CONNMARK
  583. tristate 'ctmark target and match support'
  584. depends on NF_CONNTRACK
  585. depends on NETFILTER_ADVANCED
  586. select NF_CONNTRACK_MARK
  587. ---help---
  588. This option adds the "CONNMARK" target and "connmark" match.
  589. Netfilter allows you to store a mark value per connection (a.k.a.
  590. ctmark), similarly to the packet mark (nfmark). Using this
  591. target and match, you can set and match on this mark.
  592. config NETFILTER_XT_SET
  593. tristate 'set target and match support'
  594. depends on IP_SET
  595. depends on NETFILTER_ADVANCED
  596. help
  597. This option adds the "SET" target and "set" match.
  598. Using this target and match, you can add/delete and match
  599. elements in the sets created by ipset(8).
  600. To compile it as a module, choose M here. If unsure, say N.
  601. # alphabetically ordered list of targets
  602. comment "Xtables targets"
  603. config NETFILTER_XT_TARGET_AUDIT
  604. tristate "AUDIT target support"
  605. depends on AUDIT
  606. depends on NETFILTER_ADVANCED
  607. ---help---
  608. This option adds a 'AUDIT' target, which can be used to create
  609. audit records for packets dropped/accepted.
  610. To compileit as a module, choose M here. If unsure, say N.
  611. config NETFILTER_XT_TARGET_CHECKSUM
  612. tristate "CHECKSUM target support"
  613. depends on IP_NF_MANGLE || IP6_NF_MANGLE
  614. depends on NETFILTER_ADVANCED
  615. ---help---
  616. This option adds a `CHECKSUM' target, which can be used in the iptables mangle
  617. table.
  618. You can use this target to compute and fill in the checksum in
  619. a packet that lacks a checksum. This is particularly useful,
  620. if you need to work around old applications such as dhcp clients,
  621. that do not work well with checksum offloads, but don't want to disable
  622. checksum offload in your device.
  623. To compile it as a module, choose M here. If unsure, say N.
  624. config NETFILTER_XT_TARGET_CLASSIFY
  625. tristate '"CLASSIFY" target support'
  626. depends on NETFILTER_ADVANCED
  627. help
  628. This option adds a `CLASSIFY' target, which enables the user to set
  629. the priority of a packet. Some qdiscs can use this value for
  630. classification, among these are:
  631. atm, cbq, dsmark, pfifo_fast, htb, prio
  632. To compile it as a module, choose M here. If unsure, say N.
  633. config NETFILTER_XT_TARGET_CONNMARK
  634. tristate '"CONNMARK" target support'
  635. depends on NF_CONNTRACK
  636. depends on NETFILTER_ADVANCED
  637. select NETFILTER_XT_CONNMARK
  638. ---help---
  639. This is a backwards-compat option for the user's convenience
  640. (e.g. when running oldconfig). It selects
  641. CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
  642. config NETFILTER_XT_TARGET_CONNSECMARK
  643. tristate '"CONNSECMARK" target support'
  644. depends on NF_CONNTRACK && NF_CONNTRACK_SECMARK
  645. default m if NETFILTER_ADVANCED=n
  646. help
  647. The CONNSECMARK target copies security markings from packets
  648. to connections, and restores security markings from connections
  649. to packets (if the packets are not already marked). This would
  650. normally be used in conjunction with the SECMARK target.
  651. To compile it as a module, choose M here. If unsure, say N.
  652. config NETFILTER_XT_TARGET_CT
  653. tristate '"CT" target support'
  654. depends on NF_CONNTRACK
  655. depends on IP_NF_RAW || IP6_NF_RAW
  656. depends on NETFILTER_ADVANCED
  657. help
  658. This options adds a `CT' target, which allows to specify initial
  659. connection tracking parameters like events to be delivered and
  660. the helper to be used.
  661. To compile it as a module, choose M here. If unsure, say N.
  662. config NETFILTER_XT_TARGET_DSCP
  663. tristate '"DSCP" and "TOS" target support'
  664. depends on IP_NF_MANGLE || IP6_NF_MANGLE
  665. depends on NETFILTER_ADVANCED
  666. help
  667. This option adds a `DSCP' target, which allows you to manipulate
  668. the IPv4/IPv6 header DSCP field (differentiated services codepoint).
  669. The DSCP field can have any value between 0x0 and 0x3f inclusive.
  670. It also adds the "TOS" target, which allows you to create rules in
  671. the "mangle" table which alter the Type Of Service field of an IPv4
  672. or the Priority field of an IPv6 packet, prior to routing.
  673. To compile it as a module, choose M here. If unsure, say N.
  674. config NETFILTER_XT_TARGET_HL
  675. tristate '"HL" hoplimit target support'
  676. depends on IP_NF_MANGLE || IP6_NF_MANGLE
  677. depends on NETFILTER_ADVANCED
  678. ---help---
  679. This option adds the "HL" (for IPv6) and "TTL" (for IPv4)
  680. targets, which enable the user to change the
  681. hoplimit/time-to-live value of the IP header.
  682. While it is safe to decrement the hoplimit/TTL value, the
  683. modules also allow to increment and set the hoplimit value of
  684. the header to arbitrary values. This is EXTREMELY DANGEROUS
  685. since you can easily create immortal packets that loop
  686. forever on the network.
  687. config NETFILTER_XT_TARGET_HMARK
  688. tristate '"HMARK" target support'
  689. depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
  690. depends on NETFILTER_ADVANCED
  691. ---help---
  692. This option adds the "HMARK" target.
  693. The target allows you to create rules in the "raw" and "mangle" tables
  694. which set the skbuff mark by means of hash calculation within a given
  695. range. The nfmark can influence the routing method and can also be used
  696. by other subsystems to change their behaviour.
  697. To compile it as a module, choose M here. If unsure, say N.
  698. config NETFILTER_XT_TARGET_IDLETIMER
  699. tristate "IDLETIMER target support"
  700. depends on NETFILTER_ADVANCED
  701. help
  702. This option adds the `IDLETIMER' target. Each matching packet
  703. resets the timer associated with label specified when the rule is
  704. added. When the timer expires, it triggers a sysfs notification.
  705. The remaining time for expiration can be read via sysfs.
  706. To compile it as a module, choose M here. If unsure, say N.
  707. config NETFILTER_XT_TARGET_LED
  708. tristate '"LED" target support'
  709. depends on LEDS_CLASS && LEDS_TRIGGERS
  710. depends on NETFILTER_ADVANCED
  711. help
  712. This option adds a `LED' target, which allows you to blink LEDs in
  713. response to particular packets passing through your machine.
  714. This can be used to turn a spare LED into a network activity LED,
  715. which only flashes in response to FTP transfers, for example. Or
  716. you could have an LED which lights up for a minute or two every time
  717. somebody connects to your machine via SSH.
  718. You will need support for the "led" class to make this work.
  719. To create an LED trigger for incoming SSH traffic:
  720. iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
  721. Then attach the new trigger to an LED on your system:
  722. echo netfilter-ssh > /sys/class/leds/<ledname>/trigger
  723. For more information on the LEDs available on your system, see
  724. Documentation/leds/leds-class.txt
  725. config NETFILTER_XT_TARGET_LOG
  726. tristate "LOG target support"
  727. select NF_LOG_COMMON
  728. select NF_LOG_IPV4
  729. select NF_LOG_IPV6 if IPV6
  730. default m if NETFILTER_ADVANCED=n
  731. help
  732. This option adds a `LOG' target, which allows you to create rules in
  733. any iptables table which records the packet header to the syslog.
  734. To compile it as a module, choose M here. If unsure, say N.
  735. config NETFILTER_XT_TARGET_MARK
  736. tristate '"MARK" target support'
  737. depends on NETFILTER_ADVANCED
  738. select NETFILTER_XT_MARK
  739. ---help---
  740. This is a backwards-compat option for the user's convenience
  741. (e.g. when running oldconfig). It selects
  742. CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
  743. config NETFILTER_XT_NAT
  744. tristate '"SNAT and DNAT" targets support'
  745. depends on NF_NAT
  746. ---help---
  747. This option enables the SNAT and DNAT targets.
  748. To compile it as a module, choose M here. If unsure, say N.
  749. config NETFILTER_XT_TARGET_NETMAP
  750. tristate '"NETMAP" target support'
  751. depends on NF_NAT
  752. ---help---
  753. NETMAP is an implementation of static 1:1 NAT mapping of network
  754. addresses. It maps the network address part, while keeping the host
  755. address part intact.
  756. To compile it as a module, choose M here. If unsure, say N.
  757. config NETFILTER_XT_TARGET_NFLOG
  758. tristate '"NFLOG" target support'
  759. default m if NETFILTER_ADVANCED=n
  760. select NETFILTER_NETLINK_LOG
  761. help
  762. This option enables the NFLOG target, which allows to LOG
  763. messages through nfnetlink_log.
  764. To compile it as a module, choose M here. If unsure, say N.
  765. config NETFILTER_XT_TARGET_NFQUEUE
  766. tristate '"NFQUEUE" target Support'
  767. depends on NETFILTER_ADVANCED
  768. select NETFILTER_NETLINK_QUEUE
  769. help
  770. This target replaced the old obsolete QUEUE target.
  771. As opposed to QUEUE, it supports 65535 different queues,
  772. not just one.
  773. To compile it as a module, choose M here. If unsure, say N.
  774. config NETFILTER_XT_TARGET_NOTRACK
  775. tristate '"NOTRACK" target support (DEPRECATED)'
  776. depends on NF_CONNTRACK
  777. depends on IP_NF_RAW || IP6_NF_RAW
  778. depends on NETFILTER_ADVANCED
  779. select NETFILTER_XT_TARGET_CT
  780. config NETFILTER_XT_TARGET_RATEEST
  781. tristate '"RATEEST" target support'
  782. depends on NETFILTER_ADVANCED
  783. help
  784. This option adds a `RATEEST' target, which allows to measure
  785. rates similar to TC estimators. The `rateest' match can be
  786. used to match on the measured rates.
  787. To compile it as a module, choose M here. If unsure, say N.
  788. config NETFILTER_XT_TARGET_REDIRECT
  789. tristate "REDIRECT target support"
  790. depends on NF_NAT
  791. select NF_NAT_REDIRECT
  792. ---help---
  793. REDIRECT is a special case of NAT: all incoming connections are
  794. mapped onto the incoming interface's address, causing the packets to
  795. come to the local machine instead of passing through. This is
  796. useful for transparent proxies.
  797. To compile it as a module, choose M here. If unsure, say N.
  798. config NETFILTER_XT_TARGET_TEE
  799. tristate '"TEE" - packet cloning to alternate destination'
  800. depends on NETFILTER_ADVANCED
  801. depends on IPV6 || IPV6=n
  802. depends on !NF_CONNTRACK || NF_CONNTRACK
  803. select NF_DUP_IPV4
  804. select NF_DUP_IPV6 if IPV6
  805. ---help---
  806. This option adds a "TEE" target with which a packet can be cloned and
  807. this clone be rerouted to another nexthop.
  808. config NETFILTER_XT_TARGET_TPROXY
  809. tristate '"TPROXY" target transparent proxying support'
  810. depends on NETFILTER_XTABLES
  811. depends on NETFILTER_ADVANCED
  812. depends on IPV6 || IPV6=n
  813. depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
  814. depends on IP_NF_MANGLE
  815. select NF_DEFRAG_IPV4
  816. select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n
  817. select NF_TPROXY_IPV4
  818. select NF_TPROXY_IPV6 if IP6_NF_IPTABLES
  819. help
  820. This option adds a `TPROXY' target, which is somewhat similar to
  821. REDIRECT. It can only be used in the mangle table and is useful
  822. to redirect traffic to a transparent proxy. It does _not_ depend
  823. on Netfilter connection tracking and NAT, unlike REDIRECT.
  824. For it to work you will have to configure certain iptables rules
  825. and use policy routing. For more information on how to set it up
  826. see Documentation/networking/tproxy.txt.
  827. To compile it as a module, choose M here. If unsure, say N.
  828. config NETFILTER_XT_TARGET_TRACE
  829. tristate '"TRACE" target support'
  830. depends on IP_NF_RAW || IP6_NF_RAW
  831. depends on NETFILTER_ADVANCED
  832. help
  833. The TRACE target allows you to mark packets so that the kernel
  834. will log every rule which match the packets as those traverse
  835. the tables, chains, rules.
  836. If you want to compile it as a module, say M here and read
  837. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  838. config NETFILTER_XT_TARGET_SECMARK
  839. tristate '"SECMARK" target support'
  840. depends on NETWORK_SECMARK
  841. default m if NETFILTER_ADVANCED=n
  842. help
  843. The SECMARK target allows security marking of network
  844. packets, for use with security subsystems.
  845. To compile it as a module, choose M here. If unsure, say N.
  846. config NETFILTER_XT_TARGET_TCPMSS
  847. tristate '"TCPMSS" target support'
  848. depends on IPV6 || IPV6=n
  849. default m if NETFILTER_ADVANCED=n
  850. ---help---
  851. This option adds a `TCPMSS' target, which allows you to alter the
  852. MSS value of TCP SYN packets, to control the maximum size for that
  853. connection (usually limiting it to your outgoing interface's MTU
  854. minus 40).
  855. This is used to overcome criminally braindead ISPs or servers which
  856. block ICMP Fragmentation Needed packets. The symptoms of this
  857. problem are that everything works fine from your Linux
  858. firewall/router, but machines behind it can never exchange large
  859. packets:
  860. 1) Web browsers connect, then hang with no data received.
  861. 2) Small mail works fine, but large emails hang.
  862. 3) ssh works fine, but scp hangs after initial handshaking.
  863. Workaround: activate this option and add a rule to your firewall
  864. configuration like:
  865. iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
  866. -j TCPMSS --clamp-mss-to-pmtu
  867. To compile it as a module, choose M here. If unsure, say N.
  868. config NETFILTER_XT_TARGET_TCPOPTSTRIP
  869. tristate '"TCPOPTSTRIP" target support'
  870. depends on IP_NF_MANGLE || IP6_NF_MANGLE
  871. depends on NETFILTER_ADVANCED
  872. help
  873. This option adds a "TCPOPTSTRIP" target, which allows you to strip
  874. TCP options from TCP packets.
  875. # alphabetically ordered list of matches
  876. comment "Xtables matches"
  877. config NETFILTER_XT_MATCH_ADDRTYPE
  878. tristate '"addrtype" address type match support'
  879. default m if NETFILTER_ADVANCED=n
  880. ---help---
  881. This option allows you to match what routing thinks of an address,
  882. eg. UNICAST, LOCAL, BROADCAST, ...
  883. If you want to compile it as a module, say M here and read
  884. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  885. config NETFILTER_XT_MATCH_BPF
  886. tristate '"bpf" match support'
  887. depends on NETFILTER_ADVANCED
  888. help
  889. BPF matching applies a linux socket filter to each packet and
  890. accepts those for which the filter returns non-zero.
  891. To compile it as a module, choose M here. If unsure, say N.
  892. config NETFILTER_XT_MATCH_CGROUP
  893. tristate '"control group" match support'
  894. depends on NETFILTER_ADVANCED
  895. depends on CGROUPS
  896. select CGROUP_NET_CLASSID
  897. ---help---
  898. Socket/process control group matching allows you to match locally
  899. generated packets based on which net_cls control group processes
  900. belong to.
  901. config NETFILTER_XT_MATCH_CLUSTER
  902. tristate '"cluster" match support'
  903. depends on NF_CONNTRACK
  904. depends on NETFILTER_ADVANCED
  905. ---help---
  906. This option allows you to build work-load-sharing clusters of
  907. network servers/stateful firewalls without having a dedicated
  908. load-balancing router/server/switch. Basically, this match returns
  909. true when the packet must be handled by this cluster node. Thus,
  910. all nodes see all packets and this match decides which node handles
  911. what packets. The work-load sharing algorithm is based on source
  912. address hashing.
  913. If you say Y or M here, try `iptables -m cluster --help` for
  914. more information.
  915. config NETFILTER_XT_MATCH_COMMENT
  916. tristate '"comment" match support'
  917. depends on NETFILTER_ADVANCED
  918. help
  919. This option adds a `comment' dummy-match, which allows you to put
  920. comments in your iptables ruleset.
  921. If you want to compile it as a module, say M here and read
  922. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  923. config NETFILTER_XT_MATCH_CONNBYTES
  924. tristate '"connbytes" per-connection counter match support'
  925. depends on NF_CONNTRACK
  926. depends on NETFILTER_ADVANCED
  927. help
  928. This option adds a `connbytes' match, which allows you to match the
  929. number of bytes and/or packets for each direction within a connection.
  930. If you want to compile it as a module, say M here and read
  931. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  932. config NETFILTER_XT_MATCH_CONNLABEL
  933. tristate '"connlabel" match support'
  934. select NF_CONNTRACK_LABELS
  935. depends on NF_CONNTRACK
  936. depends on NETFILTER_ADVANCED
  937. ---help---
  938. This match allows you to test and assign userspace-defined labels names
  939. to a connection. The kernel only stores bit values - mapping
  940. names to bits is done by userspace.
  941. Unlike connmark, more than 32 flag bits may be assigned to a
  942. connection simultaneously.
  943. config NETFILTER_XT_MATCH_CONNLIMIT
  944. tristate '"connlimit" match support'
  945. depends on NF_CONNTRACK
  946. depends on NETFILTER_ADVANCED
  947. select NETFILTER_CONNCOUNT
  948. ---help---
  949. This match allows you to match against the number of parallel
  950. connections to a server per client IP address (or address block).
  951. config NETFILTER_XT_MATCH_CONNMARK
  952. tristate '"connmark" connection mark match support'
  953. depends on NF_CONNTRACK
  954. depends on NETFILTER_ADVANCED
  955. select NETFILTER_XT_CONNMARK
  956. ---help---
  957. This is a backwards-compat option for the user's convenience
  958. (e.g. when running oldconfig). It selects
  959. CONFIG_NETFILTER_XT_CONNMARK (combined connmark/CONNMARK module).
  960. config NETFILTER_XT_MATCH_CONNTRACK
  961. tristate '"conntrack" connection tracking match support'
  962. depends on NF_CONNTRACK
  963. default m if NETFILTER_ADVANCED=n
  964. help
  965. This is a general conntrack match module, a superset of the state match.
  966. It allows matching on additional conntrack information, which is
  967. useful in complex configurations, such as NAT gateways with multiple
  968. internet links or tunnels.
  969. To compile it as a module, choose M here. If unsure, say N.
  970. config NETFILTER_XT_MATCH_CPU
  971. tristate '"cpu" match support'
  972. depends on NETFILTER_ADVANCED
  973. help
  974. CPU matching allows you to match packets based on the CPU
  975. currently handling the packet.
  976. To compile it as a module, choose M here. If unsure, say N.
  977. config NETFILTER_XT_MATCH_DCCP
  978. tristate '"dccp" protocol match support'
  979. depends on NETFILTER_ADVANCED
  980. default IP_DCCP
  981. help
  982. With this option enabled, you will be able to use the iptables
  983. `dccp' match in order to match on DCCP source/destination ports
  984. and DCCP flags.
  985. If you want to compile it as a module, say M here and read
  986. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  987. config NETFILTER_XT_MATCH_DEVGROUP
  988. tristate '"devgroup" match support'
  989. depends on NETFILTER_ADVANCED
  990. help
  991. This options adds a `devgroup' match, which allows to match on the
  992. device group a network device is assigned to.
  993. To compile it as a module, choose M here. If unsure, say N.
  994. config NETFILTER_XT_MATCH_DSCP
  995. tristate '"dscp" and "tos" match support'
  996. depends on NETFILTER_ADVANCED
  997. help
  998. This option adds a `DSCP' match, which allows you to match against
  999. the IPv4/IPv6 header DSCP field (differentiated services codepoint).
  1000. The DSCP field can have any value between 0x0 and 0x3f inclusive.
  1001. It will also add a "tos" match, which allows you to match packets
  1002. based on the Type Of Service fields of the IPv4 packet (which share
  1003. the same bits as DSCP).
  1004. To compile it as a module, choose M here. If unsure, say N.
  1005. config NETFILTER_XT_MATCH_ECN
  1006. tristate '"ecn" match support'
  1007. depends on NETFILTER_ADVANCED
  1008. ---help---
  1009. This option adds an "ECN" match, which allows you to match against
  1010. the IPv4 and TCP header ECN fields.
  1011. To compile it as a module, choose M here. If unsure, say N.
  1012. config NETFILTER_XT_MATCH_ESP
  1013. tristate '"esp" match support'
  1014. depends on NETFILTER_ADVANCED
  1015. help
  1016. This match extension allows you to match a range of SPIs
  1017. inside ESP header of IPSec packets.
  1018. To compile it as a module, choose M here. If unsure, say N.
  1019. config NETFILTER_XT_MATCH_HASHLIMIT
  1020. tristate '"hashlimit" match support'
  1021. depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
  1022. depends on NETFILTER_ADVANCED
  1023. help
  1024. This option adds a `hashlimit' match.
  1025. As opposed to `limit', this match dynamically creates a hash table
  1026. of limit buckets, based on your selection of source/destination
  1027. addresses and/or ports.
  1028. It enables you to express policies like `10kpps for any given
  1029. destination address' or `500pps from any given source address'
  1030. with a single rule.
  1031. config NETFILTER_XT_MATCH_HELPER
  1032. tristate '"helper" match support'
  1033. depends on NF_CONNTRACK
  1034. depends on NETFILTER_ADVANCED
  1035. help
  1036. Helper matching allows you to match packets in dynamic connections
  1037. tracked by a conntrack-helper, ie. ip_conntrack_ftp
  1038. To compile it as a module, choose M here. If unsure, say Y.
  1039. config NETFILTER_XT_MATCH_HL
  1040. tristate '"hl" hoplimit/TTL match support'
  1041. depends on NETFILTER_ADVANCED
  1042. ---help---
  1043. HL matching allows you to match packets based on the hoplimit
  1044. in the IPv6 header, or the time-to-live field in the IPv4
  1045. header of the packet.
  1046. config NETFILTER_XT_MATCH_IPCOMP
  1047. tristate '"ipcomp" match support'
  1048. depends on NETFILTER_ADVANCED
  1049. help
  1050. This match extension allows you to match a range of CPIs(16 bits)
  1051. inside IPComp header of IPSec packets.
  1052. To compile it as a module, choose M here. If unsure, say N.
  1053. config NETFILTER_XT_MATCH_IPRANGE
  1054. tristate '"iprange" address range match support'
  1055. depends on NETFILTER_ADVANCED
  1056. ---help---
  1057. This option adds a "iprange" match, which allows you to match based on
  1058. an IP address range. (Normal iptables only matches on single addresses
  1059. with an optional mask.)
  1060. If unsure, say M.
  1061. config NETFILTER_XT_MATCH_IPVS
  1062. tristate '"ipvs" match support'
  1063. depends on IP_VS
  1064. depends on NETFILTER_ADVANCED
  1065. depends on NF_CONNTRACK
  1066. help
  1067. This option allows you to match against IPVS properties of a packet.
  1068. If unsure, say N.
  1069. config NETFILTER_XT_MATCH_L2TP
  1070. tristate '"l2tp" match support'
  1071. depends on NETFILTER_ADVANCED
  1072. default L2TP
  1073. ---help---
  1074. This option adds an "L2TP" match, which allows you to match against
  1075. L2TP protocol header fields.
  1076. To compile it as a module, choose M here. If unsure, say N.
  1077. config NETFILTER_XT_MATCH_LENGTH
  1078. tristate '"length" match support'
  1079. depends on NETFILTER_ADVANCED
  1080. help
  1081. This option allows you to match the length of a packet against a
  1082. specific value or range of values.
  1083. To compile it as a module, choose M here. If unsure, say N.
  1084. config NETFILTER_XT_MATCH_LIMIT
  1085. tristate '"limit" match support'
  1086. depends on NETFILTER_ADVANCED
  1087. help
  1088. limit matching allows you to control the rate at which a rule can be
  1089. matched: mainly useful in combination with the LOG target ("LOG
  1090. target support", below) and to avoid some Denial of Service attacks.
  1091. To compile it as a module, choose M here. If unsure, say N.
  1092. config NETFILTER_XT_MATCH_MAC
  1093. tristate '"mac" address match support'
  1094. depends on NETFILTER_ADVANCED
  1095. help
  1096. MAC matching allows you to match packets based on the source
  1097. Ethernet address of the packet.
  1098. To compile it as a module, choose M here. If unsure, say N.
  1099. config NETFILTER_XT_MATCH_MARK
  1100. tristate '"mark" match support'
  1101. depends on NETFILTER_ADVANCED
  1102. select NETFILTER_XT_MARK
  1103. ---help---
  1104. This is a backwards-compat option for the user's convenience
  1105. (e.g. when running oldconfig). It selects
  1106. CONFIG_NETFILTER_XT_MARK (combined mark/MARK module).
  1107. config NETFILTER_XT_MATCH_MULTIPORT
  1108. tristate '"multiport" Multiple port match support'
  1109. depends on NETFILTER_ADVANCED
  1110. help
  1111. Multiport matching allows you to match TCP or UDP packets based on
  1112. a series of source or destination ports: normally a rule can only
  1113. match a single range of ports.
  1114. To compile it as a module, choose M here. If unsure, say N.
  1115. config NETFILTER_XT_MATCH_NFACCT
  1116. tristate '"nfacct" match support'
  1117. depends on NETFILTER_ADVANCED
  1118. select NETFILTER_NETLINK_ACCT
  1119. help
  1120. This option allows you to use the extended accounting through
  1121. nfnetlink_acct.
  1122. To compile it as a module, choose M here. If unsure, say N.
  1123. config NETFILTER_XT_MATCH_OSF
  1124. tristate '"osf" Passive OS fingerprint match'
  1125. depends on NETFILTER_ADVANCED && NETFILTER_NETLINK
  1126. select NF_OSF
  1127. help
  1128. This option selects the Passive OS Fingerprinting match module
  1129. that allows to passively match the remote operating system by
  1130. analyzing incoming TCP SYN packets.
  1131. Rules and loading software can be downloaded from
  1132. http://www.ioremap.net/projects/osf
  1133. To compile it as a module, choose M here. If unsure, say N.
  1134. config NETFILTER_XT_MATCH_OWNER
  1135. tristate '"owner" match support'
  1136. depends on NETFILTER_ADVANCED
  1137. ---help---
  1138. Socket owner matching allows you to match locally-generated packets
  1139. based on who created the socket: the user or group. It is also
  1140. possible to check whether a socket actually exists.
  1141. config NETFILTER_XT_MATCH_POLICY
  1142. tristate 'IPsec "policy" match support'
  1143. depends on XFRM
  1144. default m if NETFILTER_ADVANCED=n
  1145. help
  1146. Policy matching allows you to match packets based on the
  1147. IPsec policy that was used during decapsulation/will
  1148. be used during encapsulation.
  1149. To compile it as a module, choose M here. If unsure, say N.
  1150. config NETFILTER_XT_MATCH_PHYSDEV
  1151. tristate '"physdev" match support'
  1152. depends on BRIDGE && BRIDGE_NETFILTER
  1153. depends on NETFILTER_ADVANCED
  1154. help
  1155. Physdev packet matching matches against the physical bridge ports
  1156. the IP packet arrived on or will leave by.
  1157. To compile it as a module, choose M here. If unsure, say N.
  1158. config NETFILTER_XT_MATCH_PKTTYPE
  1159. tristate '"pkttype" packet type match support'
  1160. depends on NETFILTER_ADVANCED
  1161. help
  1162. Packet type matching allows you to match a packet by
  1163. its "class", eg. BROADCAST, MULTICAST, ...
  1164. Typical usage:
  1165. iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
  1166. To compile it as a module, choose M here. If unsure, say N.
  1167. config NETFILTER_XT_MATCH_QUOTA
  1168. tristate '"quota" match support'
  1169. depends on NETFILTER_ADVANCED
  1170. help
  1171. This option adds a `quota' match, which allows to match on a
  1172. byte counter.
  1173. If you want to compile it as a module, say M here and read
  1174. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  1175. config NETFILTER_XT_MATCH_RATEEST
  1176. tristate '"rateest" match support'
  1177. depends on NETFILTER_ADVANCED
  1178. select NETFILTER_XT_TARGET_RATEEST
  1179. help
  1180. This option adds a `rateest' match, which allows to match on the
  1181. rate estimated by the RATEEST target.
  1182. To compile it as a module, choose M here. If unsure, say N.
  1183. config NETFILTER_XT_MATCH_REALM
  1184. tristate '"realm" match support'
  1185. depends on NETFILTER_ADVANCED
  1186. select IP_ROUTE_CLASSID
  1187. help
  1188. This option adds a `realm' match, which allows you to use the realm
  1189. key from the routing subsystem inside iptables.
  1190. This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option
  1191. in tc world.
  1192. If you want to compile it as a module, say M here and read
  1193. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  1194. config NETFILTER_XT_MATCH_RECENT
  1195. tristate '"recent" match support'
  1196. depends on NETFILTER_ADVANCED
  1197. ---help---
  1198. This match is used for creating one or many lists of recently
  1199. used addresses and then matching against that/those list(s).
  1200. Short options are available by using 'iptables -m recent -h'
  1201. Official Website: <http://snowman.net/projects/ipt_recent/>
  1202. config NETFILTER_XT_MATCH_SCTP
  1203. tristate '"sctp" protocol match support'
  1204. depends on NETFILTER_ADVANCED
  1205. default IP_SCTP
  1206. help
  1207. With this option enabled, you will be able to use the
  1208. `sctp' match in order to match on SCTP source/destination ports
  1209. and SCTP chunk types.
  1210. If you want to compile it as a module, say M here and read
  1211. <file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
  1212. config NETFILTER_XT_MATCH_SOCKET
  1213. tristate '"socket" match support'
  1214. depends on NETFILTER_XTABLES
  1215. depends on NETFILTER_ADVANCED
  1216. depends on IPV6 || IPV6=n
  1217. depends on IP6_NF_IPTABLES || IP6_NF_IPTABLES=n
  1218. depends on NF_SOCKET_IPV4
  1219. depends on NF_SOCKET_IPV6
  1220. select NF_DEFRAG_IPV4
  1221. select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES != n
  1222. help
  1223. This option adds a `socket' match, which can be used to match
  1224. packets for which a TCP or UDP socket lookup finds a valid socket.
  1225. It can be used in combination with the MARK target and policy
  1226. routing to implement full featured non-locally bound sockets.
  1227. To compile it as a module, choose M here. If unsure, say N.
  1228. config NETFILTER_XT_MATCH_STATE
  1229. tristate '"state" match support'
  1230. depends on NF_CONNTRACK
  1231. default m if NETFILTER_ADVANCED=n
  1232. help
  1233. Connection state matching allows you to match packets based on their
  1234. relationship to a tracked connection (ie. previous packets). This
  1235. is a powerful tool for packet classification.
  1236. To compile it as a module, choose M here. If unsure, say N.
  1237. config NETFILTER_XT_MATCH_STATISTIC
  1238. tristate '"statistic" match support'
  1239. depends on NETFILTER_ADVANCED
  1240. help
  1241. This option adds a `statistic' match, which allows you to match
  1242. on packets periodically or randomly with a given percentage.
  1243. To compile it as a module, choose M here. If unsure, say N.
  1244. config NETFILTER_XT_MATCH_STRING
  1245. tristate '"string" match support'
  1246. depends on NETFILTER_ADVANCED
  1247. select TEXTSEARCH
  1248. select TEXTSEARCH_KMP
  1249. select TEXTSEARCH_BM
  1250. select TEXTSEARCH_FSM
  1251. help
  1252. This option adds a `string' match, which allows you to look for
  1253. pattern matchings in packets.
  1254. To compile it as a module, choose M here. If unsure, say N.
  1255. config NETFILTER_XT_MATCH_TCPMSS
  1256. tristate '"tcpmss" match support'
  1257. depends on NETFILTER_ADVANCED
  1258. help
  1259. This option adds a `tcpmss' match, which allows you to examine the
  1260. MSS value of TCP SYN packets, which control the maximum packet size
  1261. for that connection.
  1262. To compile it as a module, choose M here. If unsure, say N.
  1263. config NETFILTER_XT_MATCH_TIME
  1264. tristate '"time" match support'
  1265. depends on NETFILTER_ADVANCED
  1266. ---help---
  1267. This option adds a "time" match, which allows you to match based on
  1268. the packet arrival time (at the machine which netfilter is running)
  1269. on) or departure time/date (for locally generated packets).
  1270. If you say Y here, try `iptables -m time --help` for
  1271. more information.
  1272. If you want to compile it as a module, say M here.
  1273. If unsure, say N.
  1274. config NETFILTER_XT_MATCH_U32
  1275. tristate '"u32" match support'
  1276. depends on NETFILTER_ADVANCED
  1277. ---help---
  1278. u32 allows you to extract quantities of up to 4 bytes from a packet,
  1279. AND them with specified masks, shift them by specified amounts and
  1280. test whether the results are in any of a set of specified ranges.
  1281. The specification of what to extract is general enough to skip over
  1282. headers with lengths stored in the packet, as in IP or TCP header
  1283. lengths.
  1284. Details and examples are in the kernel module source.
  1285. endif # NETFILTER_XTABLES
  1286. endmenu
  1287. source "net/netfilter/ipset/Kconfig"
  1288. source "net/netfilter/ipvs/Kconfig"