Linux内核编译选项-4

[*] Networking support  --->
网络支持
Networking options  --->网络选项
<*> Packet socket选
包套接口(计算机为TCP/IP数据转换所保留的一系列存贮地址)
包协议被很多程序用来直接连接网络设备,而不需要内核执行中间网络协议,比如 tcpdump 。如果你要它们工作,选Y。
选m编译成模块。模块名: af_packet 。
如果不清楚,选Y。
[*]   Packet socket: mmapped IO选
让Packet socket驱动程序使用IO映射机制以使连接速度更快
包套接口: mmapped IO
如果你选Y,包协议驱动将使用一个IO结构,这可以加速连接。
如果不清楚,选N。
<*> Unix domain sockets选
一种仅运行于本机上的效率高于TCP/IP的Socket,简称Unix socket.许多程序都使用
它在操作系统内部进行进程间通信(IPC)
<*> Transformation user configuration interface
对用户设置接口转换功能进行支持,比如本地LINUX工具用到的 IPsec 。
如果不清楚,选Y。
[ ] Transformation sub policy support (EXPERIMENTAL)
XFRM子策略支持,仅供开发者使用
如果不清楚,选N。
[ ] Transformation migrate database (EXPERIMENTAL)
[ ] Transformation statistics (EXPERIMENTAL)
< > PF_KEY sockets不选
用于可信任的密钥管理程序和操作系统内核内部的密钥管理进行通信,IPsec依赖于它
PF_KEY 套接口
PF_KEYv2 套接口家族,与KAME相一致。如果你要使用 KAME端口的IPsec 工具,你需要这个选项。
选Y,除非你知道在干什么。
[*] TCP/IP networking 选
TCP/IP协议
这些是在 Internet 和本地以太网使用最多的协议。强烈推荐选Y(这会让内核增大144KB),因为一些程序,比如X window系统使用 TCP/IP ,即使你的机器没有连上网络。你会得到自回环设备(LOOP-BACK)
如果你选Y,并在后面的“/proc file system support”和“Sysctl support”也选上,你将可以通过/proc/sys/net/ipv4/*的虚拟文件来改变 TCP/IP 代码的工作方式。
[*]   IP: multicasting 不选
支持IP多播, 一般用于MBONE(因特网上的音频、视频多播)
这是在一个时间里访问多个地址的代码,将会增大内核2KB。你需要多播功能,如果你想要加入 MBONE(多路广播主干网),一个高带宽的,有声音和影像的高层广播网络。
对大多数人,在这可以安全地选N。
[*]   IP: advanced router 不选
高级路由,如果想做一个路由器就选吧
IP: 高级路由
如果你想让你的LINUX机器作成路由,比如,用来转信和回环网络包,选Y。你将可以得到更多的选项来精确地控制你的路由进程。在这的回答不会直接影响到 内核。选N只是让配置程序跳过所有的关于高级路由的问题。
如果不清楚,选N。
Choose IP: FIB lookup algorithm (choose FIB_HASH if unsur│ │
选择IP: FIB 查找算法(不清楚选 FIB_HASH )  
1. FIB_HASH
这个 FIB 已通过验证,对很多用户都不错。
1. FIB_TRIE
使用新的实验阶段的 LC 树来做为 FIB 查找算法 。这将改善查找状况,如果你有很多路由。LC树是一个很长的前缀匹配查找算法,在对于大的路由表的时候,比 FIB_HASH 要好。但是,它消耗更多的内存,也更复杂。
[*]   IP: policy routing  不选
IP:路由规则
通常,一个路由仅仅由包的最终目的地来决定如何应对一个接收包。如果你选Y,LINUX路由也可以考虑包的来源地,而且,包的TOS (Type-Of-Service,服务类型) 域也可以做为路由的参考之一。
如果不清楚,选N。
[*]   IP: equal cost multipath 不选
IP:多路径平等开支
通常,路由表对确定的给定包采用定义好的一致方式处理。如果你选Y,对同样的包类型可以采用不同的方式,可以有效地变换路径来传输这些包。路由以平等的开 支方式考虑所有的这些路径,当匹配的包到达时,选择一条不确定的路径。
用于路由的基于目的地址的负载均衡
[*]   IP: verbose route monitoring 不选
显示冗余的路由监控信息
详细路由控制信息
如果你选Y,也是我们推荐的方式,内核将会打印详细的路由信息,比如,接收到危险包时出现警告,这可能是某个机器对你进行攻击的征兆。信息可以通过 klogd 守护进程进行设置。
[*]   IP: kernel level autoconfiguration不选
在内核启动时自动配置ip地址/路由表等,需要从网络启动的无盘工作站才需要这个东西
这里允许在内核启动时对IP地址和路由表进行自动配置,由内核的命令行或者由BOOTP 或 RARP 协议提供信息。你需要选Y,如果你磁盘空间很少,但是又需要进行网络访问(同时你需要在后面的“Root file system on NFS”中选Y),因为其他机器在启动脚本中(而不是内核中)进行网络配置。        
[*]     IP: DHCP support选
1. IP:DHCP支持
如果你想让你的LINUX机器在启动时通过网络的NFS协议挂载其他机上的整个启动文件系统(包括根目录/),同时你想要让你的IP地址在启动时被 DHCP协议(一种专门用来在启动时自动获取IP地址的协议)自动获取,选Y。假如网卡的启动ROM模块已经设计为给LINUX提供DHCP支持,提供了 足够的内核命令信息,你可以在这选N。
如果不清楚,选Y。注意如果你要用DHCP,DHCP服务器必须要在网络中可用。
[*]     IP: BOOTP support
IP: BOOTP支持
如果你想让你的LINUX机器在启动时通过网络的NFS协议挂载其他机上的整个启动文件系统(包括根目录/),同时你想要让你的IP地址在启动时被 BOOTP 协议(一种专门用来在启动时自动获取IP地址的协议)自动获取,选Y。假如网卡的启动ROM模块已经设计为给LINUX提供BOOTP支持,提供了足够的 内核命令信息,你可以在这选N。如果不清楚,选Y。注意如果你要用 BOOTP, BOOTP服务器必须要在网络中可用。
[*]     IP: RARP support选
如果你想让你的LINUX机器在启动时通过网络的NFS协议挂载其他机上的整个启动文件系统(包括根目录/),同时你想要让你的IP地址在启动时被 RARP协议(一种专门用来在启动时自动获取IP地址的协议,比DHCP和BOOTP更老)自动获取,选Y。假如网卡的启动ROM模块已经设计为给 LINUX提供RARP支持,提供了足够的内核命令信息,你可以在这选N。如果不清楚,选Y。注意如果你要用 RARP, RARP服务器必须要在网络中可用。
< >   IP: tunneling 不选
IP:隧道传输
隧道传输意味着将数据从一个协议类型压缩到另一个协议类型中,并通过理解这个压缩协议的一个隧道进行传输。这个特殊的隧道驱动包含IP到IP的压缩,看起 来没什么意义,但是当你需要你的(或者别人的)机器在不同的网络上使用,或者使用移动IP设备(可以让你的笔记本在不同的网络使用,而不需要改变IP)的 时候很有用。
选y会生成两个模块(可以在运行中的内核嵌入和移除)。大多数人不需要这个选项,可以选N。
IP隧道,将一个IP报文封装在另一个IP报文内的技术
< >   IP: GRE tunnels over IP不选
IP:GRE隧道
隧道传输意味着将数据从一个协议类型压缩到另一个协议类型中,并通过理解这个压缩协议的一个隧道进行传输。这个特殊的隧道驱动包含GRE(通用路由压 缩),可以将IPv4 或者IPv6压缩到现有的 IPv4 基本组织中。这个驱动很有用,如果网络终点是 Cisco 路由。Cisco有点像GRE,但是比其他的LINUX隧道驱动更好(看上面的选项)。另外,GRE允许多播通过隧道重新分配。
GRE(Generic Routing Encapulation)隧道技术,允许在现有的IPv4架构上封包IPv6
[*]   IP: multicast routing 不选
IP:多播路由
如果你想要你的机器变成一个多终端的IP包路由,选这项。在MBONE需要这功能。MBONE是一个高带宽的网络,在 Internet 的上层传播大量的声音和视频广播。为了达到这个目的,你可以要运行mrouted。如果你没有听说过它,你不需要它。
什么是多播?
随着因特网的发展,出现了视频点播、电视会议、远程学习、计算机协同工作等新业务。传统的点到点通信方式,不仅浪费大量的网络带宽,而且效率很低。一种有 效利用现有带宽的技术就是多播技术。多播(MultiCast)是一种点到多点(或多点到多点)的通信方式,即多个接收者同时接收一个源发送的相同信息。 
多重传播路由 不做服务器,不用选择
[*]     IP: PIM-SM version 1 support不选
[*]     IP: PIM-SM version 2 support不选
两个多播的协议。
[ ]   IP: ARP daemon support 不选
地址转换协议(ARP)后台支持。
通常,内核保存有一个内部缓冲,它把IP地址映射到网络硬件地址,以使以太网/令牌网等构架能够发送到正确的物理网络地址。对于有近百个主机的小型网络, 在内核中保持ARP缓冲可以工作得非常好。但是,对于大型的交互网络,在内核中保持ARP缓冲工作得不是十分好,如果TCP/IP对很多机器进行连接,它 将会使用大量的内核内存。
如果你选Y,内核内部ARP缓冲将不会超过256个条目,通讯将会通过用户空间的后台程序 arpd 进行。 Arpd 将会通过自己的缓冲或者网络来解决地址转换问题。
这段代码是实验中的,比较陈旧。如果你要使用它,你需要在网络或者其他地方找到 arpd 后台程序,而且你要在下面的“Kernel/User network link driver”选项中选Y。
如果不清楚,选N。
将ARP缓存在内核中 尚处于试验阶段就已经被废弃
[*]   IP: TCP syncookie support (disabled per default)选
IP:TCP cookie同步支持(默认关闭)
普通TCP/IP网络对于“同步泛滥”攻击是开放式的,没有阻碍。这种拒绝服务式的攻击让合法的远程用户无法连接到你的计算机。这种攻击只需要简单的工作 就可以从网络的任意地方进行。
同步 cookies针对这种攻击提供了保护。如果你选Y, TCP/IP 栈会使用一种“SYN cookies”的密码协议,使得合法的用户能继续保持连接,即使你的机器已经遭受攻击。对于合法的用户,没有必要更改他们的 TCP/IP 软件,SYN cookies 对于它们是透明的。
如果你被同步泛滥攻击,内核报告的源地址很可能被攻击者伪造。它仅仅是追踪实际源用的包,而不是真实的。
SYN cookies将会在服务器过负荷的时候制止客户端对于错误报告的纠错行为。如果这经常发生,最好将它关闭。
如果你选Y,注意 SYN cookies 不会自动运行。你可以在选项“/proc file system support” 和“Sysctl support” 中选Y,然后在系统启动时,挂载了/proc后运行相关命令来运行它:
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
如果不清楚,选N。
抵抗SYN flood攻击的好东西,要启用它必须同时启用/proc文件系统和"Sysctl             support",然后在系统启动并挂载了/proc之后执行"echo 1 >/proc/sys/net
/ipv4/tcp_syncookies"命令
Internet 协议安全性 (IPSec)”是一种开放标准的框架结构,通过使用加密的安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通讯IPSec 是安全联网的长期方向IPSec 有两个目标:
保护 IP 数据包的内容。
通过数据包筛选及受信任通讯的实施来防御网络攻击。 
以下3个都是IPsec需要的,编为模块
< >   IP: AH transformation  不选
IP:AH转换。
给IPsec AH提供支持。
如果不清楚,选Y。
IPsec验证头(AH)实现了数据发送方的验证处理,可
确保数据既对于未经验证的站点不可用也不能在路由过程中更改
< >   IP: ESP transformation不选
IP:ESP转换。
给IPsec ESP提供支持。
如果不清楚,选Y。
IPsec封闭安全负载(ESP)实现了发送方的验证处理
和数据加密处理,用以确保数据不会被拦截/查看或复制
< >   IP: IPComp transformation 
IP:IPCOMP转换
支持IP负荷压缩协议,IPsec一般需要这个协议。
如果不清楚,选Y。
IPComp(IP静荷载压缩协议),用于支持IPsec

< >   IP: IPsec transport mode不选
IPsec传输模式,常用于对等通信,用以提供内网安全.数据包经过了加密但IP头没有加密,
因此任何标准设备或软件都可查看和使用IP头
支持IPsec传输模式。如果不清楚,选Y。

< >   IP: IPsec tunnel mode 支持通用IP隧道传输.编为模块不选
IPsec隧道模式,用于提供外网安全(包括虚拟专用网络).整个数据包(数据头和负载)都已
经过加密处理且分配有新的ESP头/IP头和验证尾,从而能够隐藏受保护站点的拓扑结构
支持IPsec隧道模式。如果不清楚,选Y。

< >   IP: IPsec BEET mode 不选
支持IPsec BEET模式
如果不清楚,选Y。

[*]   Large Receive Offload (ipv4/tcp)选

< >   INET: socket monitoring interface选
socket监视接口,一些Linux本地工具(如:包含ss的iproute2)需要使用它
INET:套接口监控界面
对于一些LINUX工具比如 ss 提供INET (TCP, DCCP等)套接口监控界面支持。
如果不清楚,选Y。

[*]   TCP: advanced congestion control  --->不选
TCP高级拥塞控制,如果没有特殊需求(比如无线网络)就别选了,内核会自动将默认的拥塞
控制设为"Cubic"并将"Reno"作为候补
TCP高级拥挤控制
对于各种TCP拥塞控制模块提供选择支持
几乎所有的用户可以安全地在这里选N,安全的默认选项将会设置。
如果不清楚,选N。

< >   Binary Increase Congestion (BIC) control
<*>   CUBIC TCP
< >   TCP Westwood+
< >   H-TCP
< >   High Speed TCP
< >   TCP-Hybla congestion control algorithm
< >   TCP Vegas
< >   Scalable TCP
< >   TCP Low Priority
< >   TCP Veno
< >   YeAH TCP
< >   TCP Illinois
Default TCP congestion control (Cubic)  --->
(X) Cubic 
( ) Reno

[*]   TCP: MD5 Signature Option support (RFC2385) (EXPERIMENTAL)选

<*>   The IPv6 protocol  --->
IPv6协议

这里支持IP6版本。你将仍然可以使用传统的 IPv4 网络。

选M编译成模块,模块名为:ipv6。

[ ]   IPv6: Router Preference (RFC 4191) support
IPv6: 路由首选项(RFC 4191)支持


路由首选项是可选的扩展功能,它可以让路由宣告相关信息,以改进主机的能力。它使主机能够选择更合适的路由,特别是主机在多用户的网络中时尤其有效。
如果不清楚,选N。

[ ]   IPv6: Enable RFC 4429 Optimistic DAD (EXPERIMENTAL)
<*>   IPv6: AH transformation
IPv6: AH 转换
支持IPsec AH。
如果不清楚,选Y。


<*>   IPv6: ESP transformation
IPv6: ESP 转换
支持IPsec ESP。
如果不清楚,选Y。
< >   IPv6: IPComp transformation
IPv6: IPComp 转换
支持IPsec IPComp。
如果不清楚,选Y。

< >   IPv6: Mobility (EXPERIMENTAL)
IPv6: 移动技术
IPv6 移动技术(RFC 3775)支持。
如果不清楚,选N。

<*>   IPv6: IPsec transport mode
IPv6:IPsec传输模式。
支持IPsec传输模式。
如果不清楚,选Y。

<*>   IPv6: IPsec tunnel mode

<*>   IPv6: IPsec BEET mode
支持IPsec BEET模式
如果不清楚,选Y。

< >   IPv6: MIPv6 route optimization mode (EXPERIMENTAL)
支持MIPv6路由优化模式。

<*>   IPv6: IPv6-in-IPv4 tunnel (SIT driver)
IPv6: IPv6到 IPv4 隧道

隧道传输意味着将数据从一个协议类型压缩到另一个协议类型中,并通过理解这个压缩协议的一个隧道进行传输。这个特殊的隧道驱动包含IPv6到IPv4的套 接口。如果你想要将两个IPv6网络通过唯一的 IPv4 路径进行连接的话,这非常有用。

选M生成模块,名叫 sit.ko 。如果不清楚,选Y。

< >   IPv6: IP-in-IPv6 tunnel (RFC2473)
支持IPv6到IPv6隧道 (RFC 2473 )。
如果不清楚,选N。

[ ]   IPv6: Multiple Routing Tables
IPv6: 多重路由表
支持IPv6 多重路由表。

[ ]   IPv6: multicast routing (EXPERIMENTAL)

[*]   NetLabel subsystem support不选
网络标记子系统支持


网络标记提供清晰的网络包标志协议支持,比如 CIPSO 和RIPSO 。


如果不清楚,选N。
NetLabel子系统为诸如CIPSO与RIPSO之类能够在分组信息上添加标签的协议提供支持
-*- Security Marking
对网络包进行安全标记,类似于nfmark,但主要是为安全目的而设计如果不清楚,选N。


[*] Network packet filtering framework (Netfilter)  --->选
Netfilter可以对数据包进行过滤和修改,可以作为防火墙("packet filter"
或"proxy-based")或网关(NAT)或代理(proxy)或网桥使用.选中此选项后必须
将"Fast switching"关闭,否则将前功尽弃
网络包过滤


网络过滤器是一个用于过滤和切除网络传输包的构架。最普遍的用法就是以防火墙的形式运行LINUX,用于保护连接在Internet上的局域网。


内核提供的防火墙叫做 “包过滤器“,它可以通过包类型、来源地、终点等来拒绝相应的网络包。另外一种防火墙是基于代理的。它更安全,但是更强制(经常打断你),安装更麻烦。它 审查网络通讯更直接,能够修改包,能够理解更高层次的协议。这是包过滤器所做不到的。


你可以选Y,如果你想要让你的LINUX机器做局域网到Internet的网关,但是你的机器又没有通用有效的 IP 地址。这叫做“伪装”:比如如果局域网的一台机器想要对外发送信息,你的机器可以“伪装”成那台机器。它传输信息到相应的终点,但是修改了包,使它看起来 像是通过防火墙本身过来的一样。它通过两种方式工作:如果外部主机有响应,LINUX会静默地传输信息到相应的内网机器。在这种方式下,内网的机器对外网 来说是完全不可见的,即使它们可以与外网通讯。另一种方式是你可以运行通用的可见的服务器,通过在伪装的局域网络中使用一种叫做 portforwarding(埠传输)的构架。伪装也被叫做NAT(网络地址转换)。


另外一种包过滤器的用法是“透明代理”:如果一个内网机器试图连接外部主机,你的LINUX机器可以透明地转信至内网的服务器,通常是一个缓冲代理服务 器。


还有一种用法是建立桥接式防火墙。使用桥接式网络包过滤可以使IP表“看到”桥接传输。为了在底层网络和以太网协议实现桥接式过滤,你要使用 ebtables (桥接网络过滤配置)


这里有很多模块,可以代替以前的伪装、包过滤、透明代理和埠传输工具。


注意你要在下面的“Fast switching”选项中选N,如果你要在这选Y。因为目前 Fast switching 会忽略包过滤器。


如果你编译内核的目的之一是为了当路由,选Y。如果仅仅是做为平常的主机,选N。如果不清楚,选N。


后面的子选项省略。


[ ]   Network packet filtering debugging不选
仅供开发者调试Netfilter使用


[ ]   Advanced netfilter configuration不选


Core Netfilter Configuration  --->缺省
核心Netfilter配置(当包流过Chain时如果match某个规则那么将由该规则
的target来处理,否则将由同一个Chain中的下一个规则进行匹配,若不match
所有规则那么最终将由该Chain的policy进行处理)


-*- Netfilter LOG over NFNETLINK interface
通过NFNETLINK接口对包记录.该选项废弃了ipt_ULOG和ebg_ulog机
制,并打算在将来废弃基于syslog的ipt_LOG和ip6t_LOG模块


<*> Netfilter connection tracking support
[*]   Connection tracking security mark support
<*>   FTP protocol support
<*>   IRC protocol support 
<*>   SIP protocol support
<*>   Connection tracking netlink interface


-*- Netfilter Xtables support (required for ip_tables)
如果你打算使用ip_tables,ip6_tables,arp_tables之一就必须选上


<*>   "CONNSECMARK" target support
允许为包设置优先级,一些排队规则需要使用它


<*>   "MARK" target support
允许对包进行标记(通常配合ip命令使用),这样就可以改变路由策略或者
被其它子系统用来改变其行为


<*>   "NFLOG" target support
用于替代老旧的QUEUE(iptables内建的target之一),因为NFQUEUE
能支持最多65535个队列,而QUEUE只能支持一个


<*>   "SECMARK" target support
允许对包进行安全标记,用于安全子系统


<*>   "TCPMSS" target support


<*>   "conntrack" connection tracking match support
连接跟踪匹配,是"state"的超集,它允许额外的链接跟踪信息,在需要设
置一些复杂的规则(比如网关)时很有用


<*>   "mark" match support
允许对先前由"MARK"标记的特定标记值进行匹配


<*>   IPsec "policy" match support 
使用IPsec就选上吧


<*>   "state" match support
允许根据包所承载的数据中包含的特定字符串进行匹配


< >   IP virtual server support  ---> 不选
IP虚拟服务器允许你基于多台物理机器构建一台高性能的虚拟服务器,不玩集群
就别选了


[ ]   IPv6 support for IPVS (NEW)
[ ]   IP virtual server debugging (NEW)
(12)  IPVS connection table size (the Nth power of 2)
*** IPVS transport protocol load balancing support *** 
[ ]   TCP load balancing support (NEW)
[ ]   UDP load balancing support (NEW)
[ ]   ESP load balancing support (NEW)
[ ]   AH load balancing support (NEW)
*** IPVS scheduler ***
< >   round-robin scheduling (NEW) 
< >   weighted round-robin scheduling (NEW)
< >   least-connection scheduling (NEW)
< >   weighted least-connection scheduling (NEW)
< >   locality-based least-connection scheduling (NEW)
< >   locality-based least-connection with replication scheduling            
<M>   destination hashing scheduling
< >   source hashing scheduling (NEW)
< >   shortest expected delay scheduling (NEW)
< >   never queue scheduling (NEW)


*** IPVS application helper ***
IP: Netfilter Configuration  --->缺省
针对IPv4的Netfilter配置


<*> IPv4 connection tracking support (required for NAT)
[*]   proc/sysctl compatibility with old connection tracking
<*> IP tables support (required for filtering/masq/NAT)
<*>   Packet filtering
<*>     REJECT target support 
<*>   LOG target support


<*>   ULOG target support
透过netlink socket将符合条件的封包交给用户空间的ulogd守护
进程.反对使用该选项,因为它已经被NETFILTER_NETLINK_LOG代替


<*>   Full NAT
允许进行伪装/端口转发以及其它的NAT功能,仅在你需要使用iptables
中的nat表时才需要选择


<*>     MASQUERADE target support


<*>   Packet mangling
在iptables中启用mangle表以便对包进行各种修改,常用于改变包的路由


IPv6: Netfilter Configuration  --->
针对IPv6的Netfilter配置


<*> IPv6 connection tracking support 
<*> IP6 tables support (required for filtering)
<*>   "ipv6header" IPv6 Extension Headers Match
<*>   LOG target support
<*>   Packet filtering
<*>     REJECT target support
<*>   Packet mangling


< > The DCCP Protocol (EXPERIMENTAL)  --->不选
数据报拥塞控制协议在UDP的基础上增加了流控和拥塞控制机制,使数据报协议能够更好地
用于流媒体业务的传输


DCCP CCIDs Configuration (EXPERIMENTAL)  --->
[ ] CCID-2 debugging messages (NEW) 
[*] CCID-3 (TCP-Friendly) (EXPERIMENTAL) (NEW)
[ ]   CCID-3 debugging messages (NEW)
(100) Use higher bound for nofeedback timer (NEW)
DCCP Kernel Hacking  ---> 
[ ] DCCP debug messages (NEW)
< > DCCP connection probing (NEW)


< > The SCTP Protocol (EXPERIMENTAL)  --->选
流控制传输协议是一种新兴的传输层协议.TCP协议一次只能连接一个IP地址而在SCTP协
议一次可以连接多个IP地址且可以自动平衡网络负载,一旦某一个IP地址失效会自动将网
络负载转移到其他IP地址上
[ ]   SCTP: Debug messages (NEW) 
[ ]   SCTP: Debug object counts (NEW) 
SCTP: Cookie HMAC Algorithm (HMAC-MD5)  ---> 
( ) None
( ) HMAC-SHA1
(X) HMAC-MD5 
< > The RDS Protocol (EXPERIMENTAL) 不选


< > The TIPC Protocol (EXPERIMENTAL)  --->不选
透明内部进程间通信协议,以共享内存为基础实现任务和资源的调度,专门用于内部集群通信


[ ]   TIPC: Advanced configuration (NEW)
[ ]   Enable debugging support (NEW)
< > Asynchronous Transfer Mode 不选
(ATM)异步传输模式(ATM)支持


ATM是一种高速度的网络技术,它应用于局域网和广域网中。它使用修改过的包尺寸,而且它的连接是定向的,只会占用非常小的带宽。


为了加入ATM网络,你的LINUX机器需要ATM网络卡。如果你有,在这选Y,并在下面相关卡的驱动选Y。


注意你需要一组用户空间的程序来真正运行ATM。


< > 802.1d Ethernet Bridging  不选
802.1d以太网桥
802.1d 以太网桥接


如果你选Y,你的LINUX机器将可以做为以太网桥接,对于用户来说,它可以让连接上的不同的以太网段表现为一个段。几个桥接段还可以通过IEEE 802.1生成树算法再连接为更大的网络。这是一个标准,LINUX可以用这个标准来与其他第三方的桥接产品进行协作。


为了使用以太网桥接,你需要一些相关的配置工具。


如果你同时开启了IP表支持和桥接支持,你将让你的桥变成桥接式IP防火墙。IP表将可以看到被桥接的IP包,所以你在设置防火墙规则时,需要把这考虑进 去。桥接时允许ARP表支持将让ARP表在连接链中看到被桥接的ARP包。


选M编译成模块,名为: bridge 。


如果不清楚,选N。


[ ] Distributed Switch Architecture support  --->不选
[ ]   Marvell 88E6060 ethernet switch chip support (NEW)
[ ]   Marvell 88E6095/6095F/6131 ethernet switch chip support                 [ ]   Marvell 88E6123/6161/6165 ethernet switch chip support


< > 802.1Q VLAN Support  不选
802.1Q虚拟局域网
802.1Q VLAN 支持

选上这个,你可以在你的以太网接口中建立 802.1Q VLAN 接口。 802.1Q VLAN 支持大多数以太网接口,包括防火墙、桥接,当然也包括IP传输。你需要‘vconfig’ 的一个工具来使用VLAN 。

选M编译成模块,名为: 8021q 。
如果不清楚,选N。

< > DECnet Support      不选 
DECnet是一种很生僻的协议
DEC网络支持


DECnet网络协议在Digital(现在是 Compaq)的很多产品上使用。它提供可靠的流和顺序包连接,可以与 TCP/IP 进行通信。


当你使用 DECnet的时候,确保你在 “/proc file system support” 和 “Sysctl support”中选择Y,因为在它运行的时候,你需要sysctl的支持才能更改配置。


选M编译成模块,名为 decnet 。


< > ANSI/IEEE 802.2 LLC type 2 Support不选
ANSI/IEEE 802.2 LLC type 2 支持。

这是一个逻辑的连接层,提供定向的连接支持。如果你需要 PF_LLC 套接口的支持,选Y。

< > The IPX protocol  选M   
IPX协议
这是对 Novell 的网络协议,IPX的支持选项。IPX在局域网的 Windows 机器上广泛使用。如果你要访问 Novell NetWare 文件或者打印服务,你需要这个选项。为了保证工作,你还需要在下面的选项 “NCP file system support” 中选Y。


IPX类似于IP,而运行于IPX上层的SPX类似于TCP。这里同样有实验中的对SPX的支持选项(看下面的 “SPX networking” )。


IPX驱动会让你的内核增大16KB。选M编译为模块,叫做 ipx 。除非你真的需要让你的LINUX机器连接上Novell网络,否则可以选N。


< > Appletalk protocol support   不选
与Mac机器通信的协议
Appletalk 协议支持


AppleTalk是苹果电脑用于连接网络的协议。如果你的LINUX机器要连接这样的网络,选Y。你将要用到 netatalk 包,这样你的机器可以在Macs和苹果网络中做为文件和打印服务器。


EtherTalk 是 AppleTalk 的以太网版本, LocalTalk 是 AppleTalk的专有的串行连接版本,它更慢,当然更便宜。LINUX完全支持EtherTalk和 LocalTalk。


选M编译为模块,名为 appletalk 。通常你肯定要编译它为模块,这样你可以重启你的 AppleTalk 栈,而不需要重启电脑。我听说苹果公司对GNU的抵制已经结束,所以政治上端正的人(应该是对苹果公司的相关政策有意见的人)都可以在这里选Y。


< > CCITT X.25 Packet Layer (EXPERIMENTAL)不选
CCITT X.25包层次


选M编译为模块,名为 x25 。如果不清楚,选N。


什么是X.25协议


< > LAPB Data Link Driver (EXPERIMENTAL)不选
LAPB数据连接驱动


通常,LAPB的使用需要X.21网络卡。LINUX现在仅在以太网连接上支持LAPB。如果你要在以太网连接上使用LAPB,选Y,并在下面的 “LAPB over Ethernet driver”选项中选Y。


选M编译为模块,名为 lapb 。如果不清楚,选N。


< > Acorn Econet/AUN protocols (EXPERIMENTAL)不选
一种被Acorn计算机使用的又老又慢的协议
Acorn Econet/AUN 协议


Econet 是一个相当老的和慢的网络协议,它主要用在Acorn电脑上,用于访问文件和打印机服务器。它使用本地的Econet 网络卡。AUN 是高层的 Econet 协议,运行于通常的以太网连接,它运行在 UDP 包协议之上,这两个协议轮流运行于IP协议上。


如果你选Y,你可以选择下面的两个选项,决定是在 UDP以太连接上还是在本地的 Econet 网络卡上传送 Econet/AUN 数据。


选M编译为模块,名为 econet 


< > WAN router    不选
广域网路由


选M编译为模块,名为 wanrouter 。如果不清楚,选N。
WAN微型端口就是你的机器与WAN通讯的端口。


< > Phonet protocols family不选
< > IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks  不选


[*] QoS and/or fair queueing  --->不选
如果你需要Qos或公平队列就选吧
QoS and/or 平衡队列
当内核有几个包要通过网络设备传输,它必须要决定哪个先传送,哪个后传送,哪个要丢弃。这就是队列规则,一些不同的算法就是用来使之传送得更为“平衡”。


如果你选N,你将使用标准的包调度器,叫做FIFO(先到先提供服务)。如果你选Y,你将可以选择一些算法,可以附属于不同的网络设备。这非常有用,比如 你的一些网络设备是实时设备,它将需要最小化的数据浮动比率;或者你需要限制数据最大流量,用于匹配某些标准。这段代码是处于实验中的。


服务质量 (QoS) 支持可以使你在你的LINUX路由中使用分化型的服务(diffserv)和资源保留协议(RSVP),如果你在相应的选项选Y的话。


如果你在这选Y,同时在 “/proc file system” 也选Y,你将可以通过文件/proc/net/psched来阅读包调度器的状态。


可用的调度器在下面的选项都列了出来,你可以在喜欢的地方选Y。如果不清楚,选N。


[ ]   Control Group Classifier 
[*]   Extended Matches
(32)    Stack size
< >     Simple packet data comparison
< >     Multi byte comparison
< >     U32 key 
< >     Metadata
< >     Textsearch
[*]   Actions
< >     Traffic Policing
< >     Generic actions 
< >     Redirecting and Mirroring
< >     IPtables targets
< >     Stateless NAT
< >     Packet Editing
< >     Simple Example (Debug)
< >     SKB Editing


[ ] Data Center Bridging support 不选


Network testing  --->不选
网络测试,仅供调试使用


< > Packet Generator (USE WITH CAUTION)
包产生器(小心使用)


这个模块通过设置的频率和特定的接口,向预制包中注入数据。它用于网络接口的负荷测试和程序分析。如果你不知道上面说了什么,你不需要它,选N。


选M编译为模块,名为: pktgen 。


< > TCP connection probing
TCP连接探测


这个模块能够捕捉到TCP在响应进入包时,在连接状态上的变化。这用于调试TCP防拥挤模块。如果你不明白上面说了什么,你不需要它,选N。


选M编译为模块,名为: tcp_probe 。


[ ] Network packet drop alerting service


[*]   Amateur Radio support  --->不选
业余广播支持
注意这个回答不会直接影响到内核:选N只是会让编译器跳过所有与业余广播相关的选项。


*** Packet Radio protocols ***
< >   Amateur Radio AX.25 Level 2 protocol 不选


< >   CAN bus subsystem support  --->是一种异步传输协议。不选


< >   Raw CAN Protocol (raw access with CAN-ID filtering) (NEW)
< >   Broadcast Manager CAN Protocol (with content filtering) 


CAN Device Drivers  --->不选
< > Virtual Local CAN Interface (vcan) (NEW)
< > Platform CAN drivers with Netlink support (NEW)
[ ] CAN devices debugging messages (NEW)


< >   IrDA (infrared) subsystem support  --->不选
红外线支持,比如无线鼠标或无线键盘
红外子系统支持


选Y,如果你需要内核支持IrDA (TM) 协议(红外通讯协议)。红外数据通讯是用于无线红外连接的标准,它支持大多数的笔记本和PDA。要使用红外通讯协议,你还需要一些用户空间的实用程序,比 如 irattach 。如果你要和PDA交换比特数据,你需要安装一些OBEX 程序,比如OpenObex 。
选M编译为模块,名为: irda 。


*** IrDA protocols ***
< >   IrLAN protocol (NEW)
< >   IrCOMM protocol (NEW)
[ ]   Ultra (connectionless) protocol (NEW)
*** IrDA options ***
[ ]   Cache last LSAP (NEW)
[ ]   Fast RRs (low latency) (NEW)
[ ]   Debug information (NEW)
Infrared-port device drivers  ---> 
*** SIR device drivers *** 
< > IrTTY (uses Linux serial driver) (NEW)
*** Dongle support ***
< > KingSun/DonShine DS-620 IrDA-USB dongle (NEW)
< > KingSun Dazzle IrDA-USB dongle (EXPERIMENTAL) (NEW)
< > KingSun KS-959 IrDA-USB dongle (EXPERIMENTAL) (NEW)
*** FIR device drivers ***


< >   Bluetooth subsystem support  ---> 不选
蓝牙支持
要使用LINUX蓝牙子系统,你需要一些用户空间的实用程序如 hciconfig 和 hcid 。这些程序和内核模块升级部件在 BlueZ 包中提供。
< >   L2CAP protocol support (NEW)
< >   SCO links support (NEW)
Bluetooth device drivers  --->
< >   RxRPC session sockets 不选


[*]   Wireless  --->
无线
<*>   cfg80211 - wireless configuration API
[ ]     nl80211 testmode command
[ ]     enable developer warnings
[ ]     cfg80211 regulatory debugging 
[*]     enable powersave by default
[ ]   cfg80211 DebugFS entries
[*]   Old wireless static regulatory definitions
[*]   Wireless extensions
[*]     Wireless extensions sysfs files
< >   Common routines for IEEE802.11 drivers
<*>   Generic IEEE 802.11 Networking Stack (mac80211)
通用IEEE 802.11 网络栈

这个选项使硬件独立于IEEE 802.11 网络栈

Default rate control algorithm (Minstrel)  --->
(X) Minstrel 
[ ]   Enable mac80211 mesh networking (pre-802.11s) support
[*]   Enable LED triggers
[ ]   Export mac80211 internals in DebugFS
[ ]   Select mac80211 debugging features  --->


< >   WiMAX Wireless Broadband support  --->不选
(8)   WiMAX debug level (NEW)


<*>   RF switch subsystem support  ---> 不选


< >   Plan 9 Resource Sharing Support (9P2000) (Experimental)  --->
概念网络操作系统        不选
[ ]   Debug information (NEW)

你可能感兴趣的:(Linux内核编译选项-4)