免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1995 | 回复: 0
打印 上一主题 下一主题

[转载] 2.6.15.5内核配置选项(Kernel Box) 完全手册 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-27 17:26 |只看该作者 |倒序浏览
[color="#ff0000"]主目录
  Code maturity level options
--->代码成熟度选项
  General setup  --->常规设置
  Loadable module support  
--->可加载模块支持
  Block layer  --->块设备层
  Processor type and features  
--->处理器类型及特性
  Power management options (ACPI, APM)  --->电源管理选项

  Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->总线选项
  
Executable file formats  --->可执行文件格式
  Networking  --->网络
  
Device Drivers  --->设备驱动程序
  File systems  --->文件系统
  
Instrumentation Support  --->分析支持
  Kernel hacking  
--->内核hack选项
  Security options  --->安全选项
  Cryptographic
options  --->加密选项
  Library routines  --->库子程序
                     
---                                       
  Load an Alternate
Configuration File载入备选的配置文件
  Save Configuration to an Alternate
File保存配置为备选文件
-----------------------
[color="#ff0000"]  [color="#ff0000"]Code maturity level options  --->代码成熟度选项
  
  • Prompt for development
    and/or incomplete code/drivers
       
    出现开尚在发中或者不完全的代码/驱动这个选项会让内核配置多出很多选项,由于我们需要使用一些正在开发中的功能,因此必需打开这一选项。
      [color="#0000ff"]
  • Select only drivers expected to compile cleanly
         选择这个选项你不会看到一些已知的存在问题的驱动程序选项,默认的情况下也是选择的。
       
    但如果你有设备没有找到驱动选项,你可以将这一项去掉,或许就可以找到相关驱动了,不过它可能是有BUG的。
    ------------------------------
      [color="#ff0000"]General setup  --->常规设置
    ()
    Local version - append to kernel release
       内核显示的版本信息
    可以把自己的名字写在里面哦
       按回车 填入 64字符以内的字符串,你在这里填上的字符口串可以用uname -a命令看到。
  • Automatically append
    version information to the version string
       自动在版本字符串后面添加版本信息,编译时需要有perl以及git仓库支持
  • Support for paging of
    anonymous memory (swap)
       使用交换分区或交换文件来做为虚拟内存,[color="#ff0000"]一定要选上。
    [color="#0000ff"]
  • System V IPC
      
    表示系统的进程间通信Inter Process
    Communication,它用于处理器在程序之间同步和交换信息,如果不选这项,很多程序运行不起来,必选。
    [color="#0000ff"]
  • POSIX Message Queues
       
    POSIX标准的消息队列,它同样是一种IPC。建议你最好将它选上
  • BSD
    Process Accounting
       
    用户进程访问内核时将进程信息写入文件中。通常主要包括进程的创建时间/创建者/内存占用等信息。建议最好选上。
    [color="#0000ff"]
  • BSD Process Accounting version 3 file format
       使用新的第三版文件格式,可以包含每个进程的PID和其父进程的PID,但是不兼容老版本的文件格式。
    [color="#0000ff"]
  • Sysctl support
       
    这个选项能不重新编译内核修改内核的某些参数和变量,如果你也选择了支持/proc,将能从/proc/sys存取可以影响内核的参数或变量。建议你最好
    将它选上。
       
    此项功能可在不重新编译内核或是重新开机的前提下,动态变更某些特定的内核参数和变量,赋予内核较大的弹性。除非内存太少或是编译出来的内核是给安装、救
    援磁盘所使用,否则这个选项一定要选上。这将提供一个接口让你可以动态的更改一些核心参数与变量,而不需要重新启动系统。打开这个选项将会增加内核的体积
    至少8KB。如果你的内核仅用制作安装与恢复系统系统盘那么可以不选,以减少对内存的占用。
    [color="#0000ff"][ ] Auditing support
       
    审记支持,用于和内核的某些子模块同时工作,例如Security Enhanced
    Linux。只有选择此项及它的子项,才能调用有关审记的系统调用。
        Enable
    system-call auditing support
         支持对系统调用的审计
    --- Support for
    hot-pluggable devices  
       支持热插拔设备,已经成为必选
    [color="#0000ff"][ ] Kernel .config support
      
    把内核的配置信息编译进内核中,以后可以通过[color="#ff0000"]scripts/extract-ikconfig脚
    本来提取这些信息
    ()Initramfs
    source file(s)
       initrd已经被initramfs取代,建议不填。参看ramdisk与
    initrd、initramfs的关系
  • Optimize for size (Look out
    for broken compilers!)
       
    编译时优化内核尺寸(使用"-Os"而不是"-O2"参数编译),有时会产生错误的二进制代码
  • Configure standard kernel
    features (for small systems)-->
       
    这是为了编译某些特殊用途的内核使用的,例如引导盘系统。通常你可以不选择这一选项,你也不用对它下面的子项操心了。
        Load
    all symbols for debugging/kksymoops
          
    装载所有的调试符号表信息,仅供调试时选择。建议不选
       Include all symbols in
    kallsyms
          
    kallsyms是在调试中用到的列出non-stack变量的命令。在kallsyms中包含内核知道的所有符号,内核将会增大300K 。不选
       [color="#ff00ff"]Do an extra kallsyms pass
         除非你在kallsyms中发现了bug并需要报告这个bug才打开该选项。不选。
       Enable
    support for printk
         允许内核向终端打印字符信息,[color="#ff0000"]在需要诊断内核为什么不能运行时选择
       BUG()
    support
         显示故障和失败条件(BUG和WARN),禁用它将可能导致隐含的错误被忽略。
       Enable full-sized data
    structures for core
         
    在内核中使用全尺寸的数据结构.禁用它将使得某些内核的数据结构减小以节约内存,但是将会降低性能。
       [color="#ff00ff"]Enable futex support
         
    快速用户空间互斥体可以使线程串行化以避免竞态条件,也提高了响应速度.禁用它将导致内核不能正确的运行基于glibc的程序
      [color="#ff00ff"] Enable eventpoll support
       
    支持事件轮循的系统调用
      [color="#ff00ff"] Use full shmem filesystem
       

    启用shmem支持.shmem是基于共享内存的文件系统(可能用到swap),在启用TMPFS后可以挂载为tmpfs供用户空间使用,它比简单的
    ramfs先进许多
      (0)
    Function alignment
     (0) Label alignment
     (0) Loop alignment
      
    (0)Jump alignment
         
    这些选项表示内核代码在编译时内存中的对齐方式,0表示编译器的默认方式。使用内存对齐能提高程序的运行速度,但是会增加程序对内存的使用量。建议不做修
    改。
    -----------------------
    Loadable module support  
    --->可加载模块支持
  • Enable
    loadable module support
        [color="#ff0000"]打开可加载模块支持,如果打开它则必须通过"make
    modules_install"把内核模块安装在/lib/modules/中
  • Module
    unloading
        允许卸载已经加载的模块
    [ ]Forced
    module unloading
        允许强制卸载正在使用中的模块(比较危险)
    [color="#0000ff"]
  • Module versioning support
       
    允许使用其他内核版本的模块(可能会出问题)
    [ ]Source checksum for
    all modules
       
    这个功能是为了防止更改了内核模块的代码但忘记更改版本号而造成版本冲突。我估计现在没有哪家公司在开发中还没使用版本控制工具,所以不需要这项了。所有
    的模块校验源码,如果你不是自己编写内核模块就不需要它。
  • Automatic kernel module
    loading
        让内核通过运行modprobe来自动加载所需要的模块,比
    如可以自动解决模块的依赖关系。

    -----------------------
    [color="#ff0000"] Block layer  --->块设备层

    [color="#0000ff"] [ ]Support for Large Block Devices
       
    仅在使用大于[color="#ff0000"]2TB的块设备时需要,你的硬盘有这么大吗?
      [color="#0000ff"]IO Schedulers --->
       IO调度器
        [color="#ff00ff"]Anticipatory I/O scheduler
          
    假设一个块设备只有一个物理查找磁头(例如一个单独的SATA硬盘),将多个随机的小写入流合并成一个大写入流,用写入延时换取最大的写入吞吐量.适用于
    大多数环境,特别是写入较多的环境(比如文件服务器)
       Deadline
    I/O scheduler
          
    使用轮询的调度器,简洁小巧,提供了最小的读取延迟和尚佳的吞吐量,特别适合于读取较多的环境(比如数据库)
       [color="#ff00ff"]CFQ I/O scheduler
         
    使用QoS策略为所有任务分配等量的带宽,避免进程被饿死并实现了较低的延迟,可以认为是上述两种调度器的折中.适用于有大量进程的多用户系统
      
    [color="#ff00ff"]Default I/O scheduler
          默认IO调度器

    -----------------------
      Processor type and features
    --->处理器类型及特性
      []Subarchitecture
    Type (PC-compatible)  --->   
       
    这选项的主要的目的,是使Linux可以支持多种PC标准,一般我们使用的PC机是遵循所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它
    架构.
      []Processor family
    (Pentium-Pro)
        选择处理器型号。
      [color="#0000ff"][ ] Generic x86 support
       
    这一选项针对x86系列的CPU使用更多的常规优化。如果你在上面一项选的是i386、i586之类的才选这个
      [color="#0000ff"]
  • HPET Timer Support
       
    HPET是替代8254芯片的下一代时钟处理器。这里你可以安全的选上这一选项。如果硬件不支持的话,将仍使用8254时钟处理器
      [color="#0000ff"]
  • Symmetric multi-processing support
         
    对称多处理器支持,在单CPU的机器上,不选这个选项会更快一些。由于超线程技术,看起来是两颗CPU,因些要选上这个选项
       Preemption Model (Preemptible Kernel (Low-Latency
    Desktop))  --->
    抢占式的工作机制,2.4没什么作用。到2.6有大的进展
         No Forced Preemption
    (Server)
         适合服务器环境的禁止内核抢占
         Voluntary
    Kernel Preemption (Desktop)
         适合普通桌面环境的自愿内核抢占
         [color="#ff00ff"]Preemptible Kernel (Low-Latency Desktop)
       
    合运行实时程序的主动内核抢占
      
  • Preempt The Big Kernel
    Lock
        可以抢占大内核锁,应用于实时要求高的场合,不适合服务器环境
      [color="#0000ff"][ ]Local APIC support on uniprocessors
       
    表示处理器中是否有高级可编程中断控制器APIC
      
  • Machine Check
    Exception
        让CPU检测到系统故障时通知内核,以便内核采取相应的措施(如过热关机等)
      Check for non-fatal errors on
    AMD Athlon/Duron / Intel Pentium 4
       
    每5秒检测一次这些cpu的非致命错误并纠正它们,同时记入日志
       
    Toshiba Laptop support
       Dell laptop support
      [ ] Enable X86
    board specific fixups for reboot
        这将打开芯片或者主板上的重启修复功能
    ,从而能够使之正常工作。这功能仅仅在一些硬件和BIOS的特定组合上需要。需要这项功能的征兆是重启时使系统卡死或者挂起。
       /dev/cpu/microcode - Intel IA32 CPU microcode
    support
       是否支持Intel IA32架构的CPU。这个选项将让你可以更新Intel
    IA32系列处理器的微代码,显然你需要到网上去下载最新的代码,LINUX不提供这些代码。当然你还必须在文件系统选项中选择/dev file
    system support才能正常的使用它。如果你把它译为模块 ,它将是 microcode。
    IA32主要用于高于4GB的内存。详见下
    面的“高内存选项”。
       /dev/cpucpuid - CPU
    information support
    是否打开记录CPU相关信息功能。能从/dev/cpu/x/cpuid获得CPU的唯一
    标识符(CPUID) 这会在/dev/cpu中建立一系列的设备文件,用以让过程去访问指定的CPU。
      [color="#0000ff"][ ]Firmware Drivers
       固件驱动程序
         [color="#ff00ff"]BIOS Enhanced Disk Drive calls determine boot disk

           有些BIOS支持从某块特定的硬盘启动(如果BIOS不支持则可能无法启动),目前大多数BIOS还不支持
         [color="#ff00ff"]BIOS update support for DELL systems via sysfs
          
    仅适用于DELL机器
         Dell Systems Management Base
    Driver
           仅适用于DELL机器
       [color="#0000ff"][]High Memory Support--4G
         
    最高内存支持,总内存小于等于1G的选"off",1G到4G选"4G",大于4G的选"64G"
       [color="#0000ff"]Memory model (Flat Memory)  --->
         
    指定Linux的内存管理方式,只有一个选项
      []Allocate
    3rd-level pagetables from highmem
         
    在内存很多(大于4G)的机器上将用户空间的页表放到高位内存区,以节约宝贵的低端内存
      []Math
    emulation
         数学协处理器仿真,486DX以上的cpu就不要选它了
      [color="#0000ff"]
  • MTRR (Memory Type Range Register) support
       
    打开它可以提升PCI/AGP总线上的显卡2倍以上的速度,并且可以修正某些BIOS错误
      [
    ]Use register arguments (EXPERIMENTAL)
         
    使用"-mregparm=3"参数编译内核,将前3个参数以寄存器方式进行参数调用,可以生成更紧凑和高效的代码.
      [ ]Enable seccomp to safely compute
    untrusted bytecode (SECCOMP)
         允许SECCOMP(快速计算)安全地运算非信任代码。
       

    这个内核特性在程序出现数码错误,需要重新对非信任的代码进行运算时非常有效。它使用管道或者其他传输方式,使文件描述进程支持读/写的系统调用,这样可
    以利用SECCOMP隔离那些程序本身的空间。
        一旦 seccomp
    通过/proc//seccomp运行,它将不能停止,任务也只能进行一些安全的被seccomp认证的系统调用。
       
    如果不清楚,选Y。只有嵌入式系统选N。
      Timer frequency (250
    HZ)  --->
        这是用户定义的时钟中断频率 100HZ-1000 HZ ,不过 100 HZ
    对服务器和NUMA系统更合适,它们不需要很快速的响应用户的要求,因为时钟中断会导致总线争用和缓冲打回。注意在SMP环境中,时钟中断由变量
    NR_CPUS * Hz定义在每个CPU产生。
    其实和前面的抢先式进程差不多,就是多少频率来响应用户要求。我选了250HZ的。要快点的可以
    选1000HZ的。但是还是那句话,一切是平衡的。机器过快响应你,它自己的活就不知道做得好不好了。
        [color="#ff00ff"]100 HZ (HZ_100)
          100 HZ是传统的对服务器、SMP 和
    NUMA的系统选项。这些系统有比较多的处理器,可以在中断较集中的时候分担中断
       [color="#ff00ff"] 250 HZ (HZ_250)
         250
    HZ对服务器是一个好的折衷的选项,它同样在SMP 和 NUMA 系统上体现出良好的反应速度。
       [color="#ff00ff"] 1000 HZ (HZ_1000)
         1000
    HZ对于桌面和其他需要快速事件反应的系统是非常棒的。
      [ ]kexec system
    call
       提供kexec系统调用,可以不必重启而切换到另一个内核 ,不要选。
    -----------------------------
      Power management options
    (ACPI, APM)  --->电源管理选项
      [color="#0000ff"]
  • Power Management support
       
    电源管理有APM和ACPI两种标准且不能同时使用.即使关闭该选项,X86上运行的Linux也会在空闲时发出HLT指令将CPU进入睡眠状态
    [color="#0000ff"]
  • Legacy Power Management API
       
    传统的电源管理API,比如软关机和系统休眠等接口
      []Power Management Debug
    Support
        仅供调试使用 不选
      []Software
    Suspend
        类似于休眠的功能,挂起系统,保存程序,切断电源
      []ACPI
    (Advanced Configuration and Power Interface) Support -->
      
    必须运行acpid守护程序ACPI才能起作用.ACPI是为了取代APM而设计的,因此应该尽量使用ACPI而不是APM
      [color="#0000ff"]APM (Advanced Power Management) BIOS Support --->
         APM (Advanced
    Power Management) BIOS Support --->
       APM在SMP(Symmetric
    Multi Processing 对称多处理系统)机器上必须关闭,一般来说当前的笔记本都支持ACPI,所以应尽量关闭该该选项
        [color="#ff00ff"] [ ]Ignore USER SUSPEND
          只有NEC Versa
    M系列的笔记本才需要选择这一项
         [color="#ff00ff"][ ]Enable PM at boot time         

          系统启动时即启用APM,选上这个选项能让系统自动的进行电源管理,但常常导致启动时死机
       
    [color="#ff00ff"]
  • Make CPU Idle calls when idle
          
    系统空闲时调用空闲指令(halt),只有老式的CPU才需要选它,且对于SMP系统必须关闭
         [color="#ff00ff"][ ]Enable console blanking using APM
          
    在屏幕空白时关闭LCD背光,事实上对所有的笔记本都无效
         [color="#ff00ff"]
  • RTC stores time in GMT
          
    将硬件时钟应该设为格林威治时间,否则视为本地时间.建议你使用GMT,这样你无须为时区的改变而担心
         [color="#ff00ff"][ ]Allow interrupts during APM BIOS calls
         
    允许APM的BIOS调用时中断,IBM Thinkpad的一些新机器需要这项.如果休眠时挂机(包括睡下去就醒不来),可以试试它
       
    [[color="#ff00ff"] ]Use real mode APM BIOS call to power off
         
    此驱动为某些有Bug的BIOS准备,如果你的系统不能正常关机或关机时崩溃,可以试试它
      [color="#0000ff"]CPU Frequency scaling --->
         [color="#ff00ff"][ ]CPU Frequency scaling
          
    允许动态改变CPU主频,达到省电和降温的目的,必须同时启用下面的一种governor才行.一般不选。
    Bus options (PCI, PCMCIA, EISA,
    MCA, ISA)  --->总线选项
    [color="#0000ff"]
  • PCI support
       
    PCI支持,如果使用了PCI或PCI Express设备就必选
    PCI access mode
    --->
       
    PCI访问模式,强列建议选"Any"(系统将优先使用"MMConfig",然后使用"BIOS",最后使用"Direct"检测PCI设备)
    [color="#0000ff"][ ]PCI Express support
        PCI
    Express支持(目前主要用于显卡和千兆网卡)
    [ ]Legacy /proc/pci
    interface
       
    是否使用/proc/pci目录下的信息文件来描述PCI设备的信息。现在的系统多数都使用lspci工具来得到这样的信息。
    [color="#0000ff"][ ]PCI Debugging
        将PCI调试信息输出到系统日志里
    [color="#0000ff"][ ]ISA support
        现在基本上没有ISA的设备了,如果有就选吧
    [color="#0000ff"][ ]EISA support
       
    扩展ISA总路,早期计算机上的总路,现已淘汰,建议关闭。
    [ ]Vesa Local Bus
    priming
        ESA总线,也是扩展工业总线的一种,已经被PCI代替,所以不用选择
    [color="#0000ff"][ ]Generic PCI/EISA bridge
        PCI、EISA两种总线的桥
    [color="#0000ff"][ ]EISA virtual root device
       
    EISA总线的虚拟根设备
    [color="#0000ff"][ ]EISA device name database
     
     内核中的EISA设备信息库
    [color="#0000ff"][ ]MCA support
        IBM

    PS/2上的总线,现已淘汰,建议关闭。微通道总线,老旧的IBM的台式机和笔记本上可能会有这种总线,包括它的p系列、e系列、z系列机器上都用到了这
    种总线
    [color="#0000ff"][ ]NatSemi SCx200 support
       
    松下的一种半导体处理器的驱动。
    PCCARD
    (PCMCIA/CardBus) support--->
       [
    ]PCCARD (PCMCIA/CardBus) support
          
    一般只有笔记本电脑上才会有PCMCIA插槽,如果你是台式机的话,可以不选这一项,然后跳过这一部份。我的IBM机器是办公用的,经常会临时接一些乱七
    八糟的设备。我自己都不知道哪些设备需要什么模块。所以这里我都搞成模块,免得以后接上用不了,又得切换到XP下。
    [color="#0000ff"]PCI Hotplug Support--->
       [color="#ff00ff"][ ]PCI Hotplug Support
         
    PCI热插拔支持.到2.6会出很多子项

    ----------------------------------------
    Executable file formats  
    --->可执行文件格式
  • Kernel support for
    ELF binaries
       
    ELF是开放平台下最常用的二进制文件格式,支持动态连接,支持不同的硬件平台.除非你知道自己在做什么,否则必选
      Kernel support for a.out and
    ECOFF binaries
       早期UNIX系统的可执行文件格式,目前已经被ELF格式取代
    [color="#0000ff"]  Kernel support for MISC binaries
      
    允许插入二进制的封装层到内核中,使用Java,.NET,Python,Lisp等语言编写的程序时需要它,要使用 binfmt_misc
    你可能需要挂载它:

    -----------------------------------
    [color="#ff0000"] Networking  --->网络
    [color="#0000ff"]  --- Networking support
    [color="#000000"]   必选
    [color="#0000ff"]Networking options  --->   
       [color="#ff00ff"]Packet socket
         
    这种Socket可以让应用程序(比如tcpdump,iptables)直接与网络设备通讯,而不通过内核中的其它中介协议
      [color="#ff00ff"]
  • Packet socket: mmapped IO
         让Packet
    socket驱动程序使用IO映射机制以使连接速度更快
      Unix
    domain sockets
         一种仅运行于本机上的效率高于TCP/IP的Socket,简称Unix
    socket.许多程序都使用它在操作系统内部进行进程间通信(IPC),比如X Window和syslog
    [color="#ff00ff"]  PF_KEY sockets
    用于可信任的密钥管理程序和操作系统内核内
    部的密钥管理进行通信,IPsec依赖于它
    [color="#ff00ff"]  
  • TCP/IP networking

      TCP/IP协议当然要选
    [color="#ff00ff"]  
  • IP: multicasting

    组广播,似乎与网格计算有关,仅在使用MBONE的时候才需要
      
  • IP: advanced
    router
    高级路由,如果想做一个路由器就选吧
      
  • IP:
    policy routing
    策略路由
      
  • IP: equal
    cost multipath
    用于路由的基于目的地址的负载均衡
      
  • IP: verbose route monitoring
    显示冗余的路由监控信息
    [color="#ff00ff"]  IP: kernel level autoconfiguration

    内核启动时自动配置ip地址/路由表等,需要从网络启动的无盘工作站才需要这个东西
      
  • IP: GRE tunnels over IP
    基于IP的GRE(通用路由封装)隧道
    [color="#ff00ff"]
  • IP: multicast routing
    多重传播路由
      
  • IP: PIM-SM version 1 support
      
  • IP: PIM-SM version 2 support
      [ ]IP: ARP daemon support
    ARP
    的守护,这东西尚处于试验阶段就已经被废弃了
      
  • IP: TCP syncookie
    support
    抵抗SYN flood攻击的好东西,要启用它必须同时启用/proc文件系统和"Sysctl
    support",然后在系统启动并挂载了/proc之后执行"echo 1
    >/proc/sys/net/ipv4/tcp_syncookies"命令
      IP: AH transformation
    IPsec验证头(AH)实现了数据发送方的验证处理,可确保数据既对于
    未经验证的站点不可用也不能在路由过程中更改
      IP: ESP
    transformation
    IPsec封闭安全负载(ESP)实现了发送方的验证处理和数据加密处理,用以确保数据不会被拦截
    /查看或复制
      IP:
    IPComp transformation
      [  ]IP: tunnel transformation
      
    隧道传输
      NET: socket monitoring
    interface
      socket监视接口,一些Linux本地工具(如:包含ss的iproute2)需要使用它
      [color="#ff00ff"][  ]TCP: advanced congestion control
      
    高级拥塞控制,如果没有特殊需求(比如无线网络)就别选了,内核会自动将默认的拥塞控制为"Cubic"并将"Reno"作为候补
       [color="#ff00ff"]IP: Virtual Server Configuration --->
       
    IP虚拟服务器允许你基于多台物理机器构建一台高性能的虚拟服务器,不玩集群就别选了
       
       The IPv6 protocol
        你要是需要IPv6就选吧
    [ ]     IPv6: Privacy Extensions (RFC
    3041) support
           IPv6: AH transformation
           IPv6: ESP transformation
           IPv6: IPComp
    transformation
           IPv6: tunnel transformation
           IPv6: IPv6-in-IPv6 tunnel
       不用IPv6就都不用选
      [color="#ff00ff"]
  • Network packet filtering (replaces ipchains)--->
      Netfilter可以对数据包进行过滤和修改,可以作为防火墙("packet
    filter"或"proxy-based")或网关(NAT)或代理(proxy)或网桥使用.选中此选项后必须将"Fast
    switching"关闭,否则将前功尽弃
         []Network
    packet filtering debugging
              仅供开发者调试Netfilter使用
        [color="#0000ff"]
  • Bridged IP/ARP packets filtering
            
    如果你希望使用一个针对桥接的防火墙就打开它
         [color="#0000ff"]Core Netfilter Configuration  --->
             

    核心Netfilter配置(当包流过Chain时如果match某个规则那么将由该规则的target来处理,否则将由同一个Chain中的下一个规则
    进行匹配,若不match所有规则那么最终将由该Chain的policy进行处理)
         Netfilter netlink interface --->
            
    Netfilter netlink interface
            
    允许Netfilter在与用户空间通信时使用新的netlink接口.netlink
    Socket是Linux用户态与内核态交流的主要方法之一,且越来越被重视
         [color="#0000ff"]IP: Netfilter Configuration --->
          针对IPv4的Netfilter配置  
            省略30项  
    里面常见协议还是要选成Module的
        [color="#0000ff"]IPv6: Netfilter Configuration (EXPERIMENTAL)--->
         
    针对IPv6的Netfilter配置,不用选
        DECnet:Netfilter
    Configuration --->
            Routing message grabulator
    (for userland routing daemon)
            DEC设备的配置
        Bridge:Netfilter
    Configuration --->
            Ethernet Bridge tables
    (ebtables) support
           网桥表支持
       DCCP
    Configuration (EXPERIMENTAL)--->
         [color="#ff00ff"] The DCCP Protocol (EXPERIMENTAL)
       
    数据报拥塞控制协议在UDP的基础上增加了流控和拥塞控制机制,使数据报协议能够更好地用于流媒体业务的传输
       [color="#0000ff"]SCTP Configuration  (EXPERIMENTAL)--->
       
      SCTP
    Configuration  (EXPERIMENTAL)
         
    流控制传输协议是一种新兴的传输层协议.TCP协议一次只能连接一个IP地址而在SCTP协议一次可以连接多个IP地址且可以自动平衡网络负载,一旦某一
    个IP地址失效会自动将网络负载转移到其他IP地址上
        Asynchronous
    Transfer Mode (ATM)
         
    ATM是在局域网络或者广域网络上使用的一种高速网络传输技术,它使用固定的数据包,允许协调使用最小的带宽需求。如果想使用ATM网络,在你的
    Linux系统上,你必须有支持ATM的网卡,当然,需要的话,选上它,内核会启动对它的支持。
        [color="#ff00ff"]   Classical IP over ATM (EXPERIMENTAL)
       
    典型的基于ATM的IP协议
       [ ]     Do
    NOT send ICMP if no neighbour (EXPERIMENTAL)
          LAN
    Emulation (LANE) support (EXPERIMENTAL)
            
    Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)
          RFC1483/2684 Bridged
    protocols
       
  •      Per-VC IP filter kludge
         802.1d
    Ethernet Bridging
         802.1d以太网桥
         
    如果你开启了它,你的Linux就可以作为网桥使用。网那意味着,不同的网络段可以通过它互相访问。很多网桥在利用数结构算法的基础上,可以同时工作。因
    为它是一个标准协议,Linux可以和第三方的桥接产品一起工作。当然,为了能够使用这个功能,你就必须有配置工具,具体内容可以查看内核相关文档。如果
    你同时启用了iptables支持和桥接支持,那么你就可以将你的系统配置成桥接的IP防火墙。Iptables将会在传输IP数据包的时候观察它的内
    容,所以,你就得在配置你的防火墙规则的时候着中考虑这一点。如果开启了arptables支持,这样,网桥就会让arptables在
    arptalbes头链中观察ARP通信量。
         [color="#ff00ff"] 802.1Q VLAN Support
         802.1Q虚拟局域网
    开启它,就会在你的网络接口上建立802.1Q
    VLAN接口。它几乎支持所有所有的网络接口特性,包括防火墙,网络桥,当然包括了IP传输。你得通过'vconfig'工具来有效的使用VLANS。
       [color="#ff00ff"]  DECnet Support
         DECnet是一种很生僻的协议 DECnet网络协议是使用在Digital(now
    Compaq).它提供了可靠的流和序列包通信功能,这和在运行在TCP/IP的网络上有很多相似的地方。使用这个功能,你必须开启内核的其他功能,具体
    请查看内核配置文档。
       
  •    
    DECnet: router support (EXPERIMENTAL)
       
  •      DECnet: use FWMARK
    value as routing key (EXPERIMENTAL)
         ANSI/IEEE 802.2 LLC
    type 2 Support
        这是第二种类型的逻辑链接层。如果你想支持PF_LLC
    sockets,那么就必须选上。
       
    The IPX protocol
       
    这是用于支持Novell网络协议。IPX,在windows局域网中是经常使用的。如果你想访问Novell
    Netware文件,或者是使用ncpfs客户端协议的打印服务,或者是Linux
    DOS模拟器你就必须选上。IPX是在IP作用域范围内和IP相似,不过,SPX(顺序数据分组交换协议)是运行在IPX上的,相似于IPX。Linux
    中对SPX提供实验性的支持。如果你想使用NetWare文件服务或则是IPX路由器,那么你就得选择它,同时你还得安装
    lwared,mars_nwe。关于联接Linux, Windows, Macs机器,在
    http://www.eats.com/linux_mac_win.html
    >上有相关内容。IPX协议会增大内核16KB,它可以被编译为名为ipx的模块。
       [ ]   IPX: Full internal IPX network
       
    Appletalk protocol support
       [ ]   Appletalk interfaces
    support
            Apple/Farallon
    LocalTalk PC support
            COPS LocalTalk PC
    support
       
  •        Dayna firmware support
       
  •        Tangent
    firmware support
            Appletalk-IP driver
    support
       
  •        IP to Appletalk-IP Encapsulation support
       
  •        Appletalk-IP to IP Decapsulation support
       
    Appletalk是用于Apple机器间相互通讯的协议。如果你的Linux系统想要联接此种网络,那就选上。你可能需要 netatalk
    软件包,这样的你Linux系统可以作为Macs机器的打印或者是文件服务器,就象在访问AppleTalk打印机一样。EtherTalk是在以太网上
    AppleTalk协议的名称,而LocalTalk是用于小型的慢速的通过串口传输的Apple私有网络。Linux对这两个功能提供万全的支持
        CCITT X.25 Packet
    Layer (EXPERIMENTAL)
        LAPB Data Link
    Driver
        大约没人需要这东西
       [color="#ff00ff"] Acorn Econet/AUN protocols
       
    一种被Acorn计算机使用的又老又慢的协议
      [color="#ff00ff"]  WAN router
       
    广域网路由
    [color="#ff00ff"]   QoS and/or fair queueing --->
       
    如果你需要Qos或公平队列就选吧
       [color="#ff00ff"] Network testing  --->
       
    网络测试,仅供调试使用
       [color="#0000ff"][ ]Amateur Radio support
       
    业余无线电支持
       IrDA (infrared) subsystem support
    --->
        红外线支持,比如无线鼠标或无线键盘
       Bluetooth
    subsystem support --->
        蓝牙支持
       [color="#0000ff"]Generic IEEE 802.11 Networking Stack
       
    通用无线局域网(IEEE 802.11系列协议)支持
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/43662/showart_2162377.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP