사이트 내 전체검색
[linux] 커널 옵션 설정
로빈아빠
https://cmd.kr/server/312 URL이 복사되었습니다.

본문

커널 옵션 설정 

출처 : KLDP

Code maturity LeveL optionS
코드 성숙도(成熟度)에 관한 설정입니다.

[*] Prompt for deveLopment and/or incompLete code/drivers

Y를 선택하면 개발중인 새로운 기능과, 새로운 드라이버를 포함할 것인지에 대해 여러분에게 조금 더 많은 질문을 합니다. 시험적인 기능은 뒷부분에 "(EXPERIMENTAL)"이란 꼬리표가 붙습니다.

이 옵션을 켜 두었을 때 시스템 특성에 따라 에러가 발생하기도 합니다. 컴파일 과정이나 새 커널로 부트하는 과정에서 문제가 생겼는데 그 원인을 정확하게 알 수 없다면 이 옵션에 [N]를 설정해 봅니다. 이 기능을 선택하지 않아도 안정버전의 모든 기능을 사용할 수 있습니다.


LoadabLe moduLe SupporT
리눅스의 멋진 모듈기능에 대한 설정입니다.

[*] EnaLbLe LoadabLe moduLe Support
[ ] Set verSion information on aLL SymboLS for moduLeS
[*] KerneL moduLe Loader

EnaLbLe LoadabLe moduLe Support : verSion 1.2 이후부터 리눅스 커널은 모듈 기능을 이용합니다. 모듈을 이용하면 자주 쓰이지 않는 장치 드라이버나 기능들을 커널 바깥에 모듈로 만들어 두었다가 필요할 때에만 동적으로 메모리에 적재하여 사용합니다. 작업이 끝나면 메모리에서 다시 제거하므로 메모리를 효율적으로 사용할 수 있고, 커널 크기가 감소합니다. 또한, 모듈은 스스로가 컴파일되어 독자적인 기능을 가지므로 모듈로 설정한 기능에 변화가 있더라도 전체 커널에는 손대지 않을 수도 있습니다. 파일시스템, 장치 드라이버, 바이너리 포맷 등 많은 기능이 모듈을 지원합니다. 반드시 [Y]를 선택합니다.
Set verSion information on aLL SymboLS for moduLeS : 다른 버전의 커늘에서 만들어진 모듈이나 커널과 함께 배포되지 않는 특별한 모듈을 사용할 수 있도록 하는 기능입니다. 일반적으로 [N]를 선택합니다.

KerneL moduLe Loader : kerneld 데몬이 대체된 기능입니다. 모듈로 만들어진 기능을 필요할 때 적재하고 제거하는 작업들을 modprobe를 이용해 커널이 자동으로 관리합니다. 물론 적절한 옵션들도 덧붙입니다. 잘 모르겠으면 [Y]를 선택합니다.


ProceSSor type and featureS
컴퓨터의 중앙처리장치에 대한 기능들입니다.

(K6/K6-II/K6-III) ProceSSor famiLy
< > Toshiba Laptop support
< > /dev/cpu/microcode - Intel IA32 CPU microcode support
< > /dev/cpu/*/msr - Model-specific register support
< > /dev/cpu/*/cpuid - CPU information support
(off) High Memory Support
(1GB) Maximum Physical memory
[ ] Math emuLation
[ ] MTRR (Memory Type Range RegiSter) Support
[ ] Symmetric muLti-proceSSing Support

(K6/K6-II/K6-III) ProceSSor famiLy :
( ) 386
( ) 486
( ) 586/K5/5x86/6x86/6x86MX
( ) Pentium-Classic
( ) Pentium-MMX
( ) Pentium-Pro/Celeron/Pentium-II
( ) Pentium-III
( ) Pentium-4
(X) K6/K6-II/K6-III
( ) Athlon/K7
( ) Crusoe
( ) Winchip-C6
( ) Winchip-2
( ) Winchip-2A/Winchip-3

그럴 일은 없겠지만 자신의 CPU가 어떤 것인지 모른다면 386을 선택해도 잘 동작합니다. 386을 선택하면 인텔 계열의 모든 프로세서에서 동작하는 커널이 만들어집니다. 물론 정확한 설정이 더 좋습니다. 커널은 CPU 각각의 특성과 버그에 최적화될 것입니다.
Toshiba Laptop support : Toshiba 노트북의 위력이 대단한가봅니다. 커널 옵션에도 들어 있네요. 여러분이 도시바 랩탑을 쓰고 있고, 이 옵션에 [Y]를 답하면, 바이오스 설정과 절전 옵션 등 Toshiba 랩탑을 위한 시스템 관리 모드를 사용할 수 있다고 합니다. [N]

/dev/cpu/microcode - Intel IA32 CPU microcode support : 이 기능을 사용하려면 "File systems" 섹션에 있는 "/dev file system support" 옵션도 켜 두어야 합니다. IA32 계열의 인텔 프로세서(예를 들어 펜티엄 프로, 펜티엄 II, III, 4, Xeon 등)에서 마이크로코드를 업데이트 할 수 있습니다.

/dev/cpu/*/msr - Model-specific register support : 이 장치는 x86 Model-Specific Registers(MSRs)에 접근할 수 있는 특권을 프로세스에 줍니다. MSR은 멀티-프로세서 시스템에서 지정한 CPU에 직접 접근합니다. 여러분의 시스템이 CPU가 두 개 이상인 멀티 프로세서 시스템이고 이 기능을 사용하는 프로그램이 있다면 [M]이나 [Y]를 선택합니다.

/dev/cpu/*/cpuid - CPU information support : 이 장치는 특정한 프로세서에서 실행 될 수 있도록 x86 CPUID 명령들에 접근할 수 있는 특권을 줍니다. 여러분의 시스템이 CPU가 두 개 이상인 멀티 프로세서 시스템이고 이 기능을 사용하는 프로그램이 있다면 [M]이나 [Y]를 선택합니다.

(off) High Memory Support
(X) off
( ) 4GB
( ) 64GB

High Memory Support : 리눅스는 x86시스템에서 64 기가바이츠까지 물리적 메모리를 사용할 수 있습니다. 그렇지만, 비트 x86프로세서에서 주소 공간은 32비트이므로 최대 4 기가바이트까지만 지원합니다. 그런 이유로, 여러분이 물리적 메모리를 많이 가지고 있다 하더라도 모든 것을 커널에 의해 "영구적으로 사상(map)" 할 수는 없습니다. 영구적으로 지도를 만들 수 없는 물리적 메모리를 "상위 메모리 (high memory)"라 부릅니다. 모든 물리적인 RAM을 더해서 1 기가바이츠가 넘지 않는다면(앞으로도) "off" 라고 답합니다. (대부분의 사용자에게 적당한 것이어서 기본값으로 설정되어 있습니다). 물리적 램이 1 이상 4기가바이츠 미만이라면 "4GB"를 선택합니다. 4기가바이트 이상 있다면 "64GB"를 선택합니다. 이 옵션은 인텔 PAE(Physical Address Extension)모드를 켭니다. PAE에는 3-레블 페이징이 있는데 리눅스에서는 모든 것을 지원합니다. Pentium Pro 이상의 인텔 프로세서에서는 모두 PAE를 지원합니다. 하지만 여러분의 프로세서가 PAE를 지원하지 않는다면 아마 부트조차 되지 않을 것입니다. 물리적 메모리는 커널에서 자동으로 그 크기를 감지하지만 부트 패러미터에 메모리 크기를 직접 지정할 수도 있습니다. (예를 들어 "mem=256M") 확실하지 않다면 (off)를 선택하는 것이 좋습니다.

Math emuLation : 수치연산 보조프로세서(co-proceSSor 또는 부동소수점 연산기)가 없는 386, 486SX 시스템에서 코프로세서를 에뮬레이션하는 기능입니다. CPU 처리 속도나 능력이 매우 낮았던 때에 수치연산만 도와주는 전용 프로세서를 따로 구입해서 사용하던 때가 있었습니다. 펜티엄, 혹은 K6 이상 시스템을 사용한다면 [N]을 설정합니다.

MTRR (Memory Type Range ReSiSter) Support : 인텔 Pentium II나 Pentium Pro, K6 시스템의 PCI나 AGP 버스 비디오 카드에 유용합니다. 이 기능은 이론상 이미지를 2.5배 이상 빨리 쓸 수 있도록 만든다고 합니다. MTRR이 없더라도 이 기능을 켜두는 것은 안전합니다.[Y]

Symmetric muLti-proceSSing Support : SMP는 두 개 이상의 프로세서(CPU)를 사용하는 멀티프로세싱 시스템을 위한 설정입니다. CPU 각각에 대한 정보는 "cat /proc/cpuinfo" 명령이나 ktop 등 유틸리티로 볼 수 있습니다. 이 곳에 "Y"를 답하고 프로세서 패밀리 아래 "586" 또는 "Pentium"을 선택하면 486 아키텍쳐에서는 동작하지 않을 것입니다. 마찬가지로 "PPro" 아키텍쳐는 모든Pentium 기반의 보드에서 동작하지 않을 것입니다. SMP를 사용하기 위해서는 "Enhanced ReaL Time CoLck Support"도 [Y]를 선택 해야합니다. 그리고, "Advanced Power Management" 코드는 diSabLe 시켜야 합니다. 싱글프로세서를 가진 시스템에서 이 기능을 사용하면 제대로 동작하지 않거나, 오히려 시스템이 느려질 수 있습니다. CPU가 하나라면 [N].


GeneraL SetuP
네트워킹과 버스 프로토콜, 절전기능 등 시스템에 전반적으로 영향을 주는 설정들입니다.

[*] Networking Support
[ ] SGI ViSuaL WorkStaion Support
[*] PCI Support
(Any) PCI acceSS mode
[*] PCI device name database
[ ] EISA support
[ ] MCA support
[*] Support for hot-pluggable devices
PCMCIA/CardBus support --->
[*] SyStem V IPC
[ ] BSD ProceSS Accounting
[*] SysctL Support
(ELF) Kernel core (/proc/kcore) format
<M> KerneL Support for a.out binarieS
<*> KerneL Support for ELF binarieS
<*> KerneL Support for MISC binarieS
[*] Power Management BIOS Support
[ ] ACPI support
< > Advanced Power Management BIOS support

Networking Support : 네트워크 없는 리눅스는 그 재미를 절반도 느낄 수 없습니다. 여러분이 네트워크에 대해 전혀 모르더라고 반드시 선택합니다. 네트워크에 연결되어 있지 않더라도 루프백 기능에서 필요하며, 전화선을 통해 인터넷에 접속하는 SLIP, PPP diaL-up 네트워킹에서도 필요합니다. 어떤 프로그램들, 특히 X 윈도우용 프로그램들은 네트워크 기능의 설정되어 있어야 제대로 동작하는 경우가 많습니다. 이미 설치되어 있는 도구들이 새 커널에 있는 기능을 미처 지원하지 못할 수도 있으므로, 커널을 업그레이드할 때 네트워킹 툴 업데이트를 고려해야 합니다. [Y]

SGI ViSuaL WorkStaion Support : 슈퍼 컴퓨터 크레이로 유명한 Silicon Graphics의 SGI 320이나 540 워크스테이션에서 리눅스를 사용한다면 [Y]를 답합니다. 다른 PC 보드에서는 동작하지 않을것입니다. 여러분 대부분은 "IBM PC 호환기종"이라 불리는 머신을 사용하고 있을테니 [N]를 답하는 것이 좋습니다.

PCI Support : 대부분의 486 시스템, Pentium 이상 기종의 마더보드는 PCI 버스를 지원하는 바이오스를 사용합니다. ISA(대개 16비트 컴퓨터 시절), EISA(386이나 486 초기 시절), MCA(IBM의 PS/2 전용)가 아닌 여러분 대부분은 [Y]를 선택합니다.

(Any) PCI acceSS mode : 오래된 PCI 마더보드 가운데 BIOS가 망가지거나 버그 때문에 PCI 장치들을 찾아내지 못하는 것이 있습니다. 리눅스는 커널이 BIOS의 도움 없이 하드웨어에 접근할 수 있는데 이 기능에는 세 가지 옵션이 있습니다. "BIOS"는 BIOS를사용하고, "Direct"는 BIOS를 사용하지 않습니다. "Any"는 커널이 직접 접근해 보고 동작하지 않으면 BIOS로 돌아갑니다. "Any"로 두는 것이 안전합니다.

PCI device name database : 기본 값으로, 커널은 모든 알려진 PCI 장치 이름들에 대해 /proc/pci, /proc/ioports에 사용자들이 쉽게 알아볼 수 있는 정보를 만들기 위해, 데이터 베이스를 가지고 있습니다. 이 데이터베이스는 커널 이미지 크기를 80KB 늘이지만, 시스템이 부트된 다음에는 다시 회수되는 메모리이므로, 실제로 커널 메모리에는 아무 영향을 주지 않습니다. 아무튼, 여러분이 설치디스켓이나 임베디드 시스템 등 크기가 가장 중요한 커널을 만든다면 이 기능을 뺄 수 있습니다. 다만, 장치들의 이름 대신 장치 ID 번호들을 사용해야 할 것입니다. 잘 모르겠으면 [Y]를 선택합니다.

EISA support : EISA(Extended Industry Standard Architecture) 버스는 오래 전에 (1988년부터 1995년 사이) 쓰이던 기능으로 PCI 버스가 나타난 이후로 아주 사라져 버렸습니다. 여러분의 PC에서 EISA를 사용하는 것이 확실할 때에만 이 기능을 사용합니다. 펜티엄 이상을 사용하는 모든 사용자는 [N]을 선택합니다.

MCA : MicroChanneL Architecture는 IBM PS/2 머신에서 찾아볼 수 있는데 국내에서는 잘 쓰이지 않습니다. [N]을 선택합니다.

Support for hot-pluggable device : PCMCIA-나 PC-카드 등은 컴퓨터가 동작하는 동안 장치를 새로 꽂거나 뽑는 일을 할 수 있습니다. 이런 기능을 이용하는 장치로는 네트워크 카드, 모뎀, 하드 드라이브 등 여러가지가 있는데 대개 랩탑 컴퓨터에서 사용하고 있습니다. 요즘에는 데스크탑에서도 USB를 이용해 이런 기능을 제공합니다. HOTPLUG와 KMOD를 활성화하고 커널 모듈로 만든 다음 에이전트 소프트웨어 (http://linux-hotplug.sourceforge.net)를 가져와서 시스템에 설치해야합니다.

PCMCIA/CardBus support : CardBus는 PC-카드를 위한 32 비트 버스 매스터링 아키텍쳐입니다. (원래 PCMCIA 표준 제품들은 16 비트 와이드 버스밖에 없습니다) 새로 나온 PC-카드 대부분은 CardBus 카드들입니다. PC-카드를 사용하려면 먼저 이 기능을 지원하는 소프트웨어를 (David Hind"s pcmcia-cs 패키지) 설치해야 합니다. 여러분에게 필요한 것인지 잘 모르겠다면 [Y] 또는 [M]을 선택합니다.

[*] CardBus support [ ] i82365 compatible bridge support [ ] Databook TCIC host bridge support

SyStem V IPC(Inter ProceSS Communication) : 프로세스 사이에서 동기화와 정보교환을 위한 라이브러리 함수와 시스템 콜 모음입니다. 대개 [Y]를 선택합니다. 특히, Dos emulator와 같은 프로그램을 사용하려 한다면 동기화를 위해 [Y]를 선택해야 합니다. 메모리에 적재되어 실행중인 프로그램이 프로세스이며 프로세스는 프로그램의 코드들과 프로그램 실행을 위한 다양한 값들을 포함하는 것으로 어떤 이들은 프로그램의 영혼이라 부르기도 합니다. 이 기능을 선택하면 커널이 18KB 정도 늘어나겠지만 반드시 [Y]라 답해야 합니다.

BSD ProceSS Accounting : 프로세스가 끝날 때 커널에 의해 프로세스 정보가 파일에 추가됩니다. 프로세스 정보는 생성시간, 소유권, 커맨드 이름, 메모리 점유율, 터미널 제어 등이 포함됩니다. 이 옵션에 [Y]라 답하는 것이 여로모로 유용합니다.

SysctL Support : sysctl 인터페이스는 커널컴파일 재질의나 시스템 재부팅 없이 실행중인 커널 매개변수를 동적으로 변경하는 방법을 제공합니다. 주 인터페이스는 시스템 콜로 이루어져 있지만, /proc 파일시스템이 설치되어 있다면 편집 가능한 sysctl 요소 트리가 /proc/sys 디렉토리 아래 생성됩니다. (특별히 바이너리가 필요한 경우를 제외하고 일반적으로 텍스트 포맷으로 구성됩니다) 이 기능을 선택하면 커널 크기가 8KB 늘어납니다. 그러나 인스톨/복구 디스크를 위해 사용하는 특수한 커널이나, 메모리가 극단적으로 적은 시스템이 아니라면 [Y]를 선택하는 것이 좋습니다. 대표적인 sysctl 기능으로 /proc/sys/kernel/panic이 있습니다. panic에 0보다 큰 정수값을 설정하면 시스템이 멈추었을 때 정해진 시간(초)이 지나면 자동으로 리부트합니다. 0은 이 기능을 비활성화합니다.

(ELF) Kernel core (/proc/kcore) format : "support for /proc file system"을 활성화하면 커널의 코어 이미지가 /proc/kcore 파일에 담깁니다. gdb에서 활용할 수 있습니다: $ cd /usr/src/linux ; gdb vmlinux /proc/kcore 둘 가운데 하나를 선택할 수 있습니다: ELF를 선택하면 /proc/kcore 파일이 ELF 코어 포맷으로 구성되고, A.OUT을 선택하면 이전 버전의 binutils 등 오래된 도구들이나 아키텍쳐에서 사용할 수 있습니다. 커널을 컴파일 할 때 "-g"옵션으로 디버깅 정보를 넣은 다음, 이 커널이 실행중인 동안에도 커널 데이터 구조를 시험하는 등 용도로 사용합니다. 잘 모르겠거나, 커널 해커가 아니라면 기본값인 ELF를 그대로 두는 것이 좋습니다.

KerneL Support for a.out binarieS : a.out(aSSembLer.output)은 ELF 이전에 쓰이던 바이너리로 점차 사라져 가는 포맷입니다. 대개 이 기능을 사용할 일이 없는데, 정말 필요하다면 모듈로 설정합니다[M].

KerneL Support for ELF binarieS : ELF(Executable and Linkable Format)은 서로 다른 OS나 Architecture에 호환이 될 수 있도록 표준화된 Binary File Format입니다. 또, ELF는리눅스 바이너리 포맷의 표준이기도 하므로 반드시 [Y]를 선택합니다. 리눅스 커널과 많이 쓰이는 모든 프로그램들이 ELF 포맷으로 컴파일 됩니다. ELF는 a.out에 비해 진보된 기능들을 포함합니다. 특히 a.out 포맷은 ELF의 공유 라이브러리의 동적 지원 기능이 없습니다. [Y]

KerneL Support for MISC binarieS : Java, EmacS-LiSp, DOS 실행파일 등 을 커널 바이너리 클래스에 등록했다면 인터프리터를 거치지 않고 셸 프롬프트에서 파일 이름을 쓰는 것만으로 간단히 프로그램을 시작할 수 있습니다. [Y]라고 답했다면 "KerneL Support for JAVA binarieS", "kerneLSupport for Linux/InteLELF bianrieS" 기능은 필요 없습니다. 어떻게 해야 할지 모르겠으면 [Y]를 선택합니다.

Power Management support : 컴퓨터를 끄거나 전력 소비를 줄이는 등 기능을 전원관리라 부릅니다. 여기에는 APM과 ACPI 두 가지 표준이 있습니다. 둘 가운데 어떤 것이든 원한다면 [Y]를 답하고 아래에서 적절한 옵션들을 선택합니다. 이 기능은 랩탑의 배터리처럼 시간 제한이 있는 전원장치를 가진 시스템에서는 매우 유용하지만 서버에서는 그다지 쓸모 있는 기능은 아닌 것 같습니다. 여러분의 서버가 슬립모드에서 깨어나는 동안 사용자들이 지쳐버릴지도 모릅니다. 이 옵션을 끄더라도 시스템을 멈추는 hlt 명령은 사용할 수 있습니다.

ACPI support : 리눅스에서 ACPI/OSPM 지원기능은 현재 개발중입니다. 그래서 이 옵션은 아직 완전하지 않습니다. ACPI(Advanced Configuration and Power Interface)는 이전의 전원관리 표준보다 더욱 세세한 정보들을 다룬다고 합니다. ASPI/OSPM을 사용하려면 이 기능을 지원하는 하드웨어/펌웨어를 갖춘 시스템이어야 하는데, 잘 모르겠다면 [N]을 선택하는 것이 안전합니다.


Memory Technology Devices (MTD)

< > Memory Technology Device (MTD) support

Memory Technology Device (MTD) support : MTD는 임베디드 디바이스에서 고형체 파일시스템(solid state filesystem, 그러니까 뱅글뱅글 돌지 않는)을 구성하는데 사용하는 플래시 메모리, RAM, 그리고 그 비슷한 다른 칩셋 등 메모리 장치입니다. 확실하지 않으면 [N]을 선택합니다.


Parallel port support
병렬포트 프로토콜과 장치들을 지원합니다.

< > Parallel port support
< > PC-style hardware (NEW)
[ ] Support foreign hardware (NEW)
[ ] IEEE 1284 transfer modes (NEW)

Parallel port support : PC의 패러랠 포트(구멍이 25개 있는 넓적한 커넥터)에 연결하는 프린터나 ZIP 드라이브, PLIP 링크(Parallel Line Internet Protocol; 패러랠 포트와 크로스 케이블을 이용해서 로컬 머신 둘을 연결하여 작은 네트워크를 만드는데 사용하는 프로토콜입니다) 등 장치들을 지원하는 옵션입니다. 이 옵션을 활성화하면 다양한 장치들이 커널을 통해 패러랠 포트 하나를 공유할 수 있습니다. 단, 여러분이 공유를 원한다면 모듈 지원 기능을 켜고, 모듈을 커널에서 관리하도록 설정한 다음, 장치 드라이버들을 모듈로 설정해야 합니다. 프린터, ZIP 드라이브 등 패러랠 포트를 이용하는 장치가 있거나 잘 모르겠으면 [Y]를 선택합니다.

PC-StyLe hardware : PC 스타일 패러랠 포트를 가지고 있다면 [Y]를 답합니다. 모든 IBM PC 호환기종과 알파 시스템 몇 기종은 PC 스타일 병렬 포트를 가집니다.

[ ] Use FIFO/DMA if available (EXPERIMENTAL) (NEW)
[ ] SuperIO chipset support (EXPERIMENTAL) (NEW)

Use FIFO/DMA if available (EXPERIMENTAL) : 요즘 나오는 대부분 칩셋이 프린팅 속도를 높일 수 있는 기능들을 지원하는데, 아마 여러분의 PC에서도 [Y]를 선택하는 것이 좋습니다.

SuperIO chipset support (EXPERIMENTAL) : 확실하지 않다면 [N]

Support foreign hardware (NEW) : 표준을 따르지 않는 패러랠 포트 형식을 지원합니다. 이 기능을 선택하면 퍼포먼스가 다소 떨어질 것입니다. 대부분의 사람들에게 필요 없는 기능입니다.[N]

IEEE 1284 transfer modes (NEW) : 여러분의 프린터가 status readback이나 device ID, 혹은 EPP, ECP처럼 향상된 전송 모드를 지원한다면 IEEE 1284 전송 모드를 활성화합니다. 장치 번호는 "cat /proc/sys/dev/parport/*/autoprobe*" 명령으로 확인할 수 있습니다. 잘 모르겠으면 [N]을 선택하는게 안전합니다.


PLug and PLay SupporT
새로운 장치나, 없어진 장치에 대한 정보를 스스로 설정하는 PnP 기능을 사용하려면 설정합니다.

[*] PLug and PLay Support
<M> ISA Plug and Play support

ISA Plug and Play support : 리눅서들의 골칫거리 가운데 하나였던 ISA PnP 장치에 대한 지원입니다. 요즘은 ISA PnP 장치들이 많지 않으므로 대개는 [N]를 선택해도 좋습니다. 다만, 오래된 ISA 사운드 카드나, 게임패드 등을 가지고 있다면 이 기능을 활성화합니다.


BLock deviceS
블록 디바이스는 플로피 디스크, 하드 디스크, 시디롬처럼 블록단위로 읽고 쓰는 장치입니다.

<*> NormaL PC fLoppy diSk Support
< > XT hard diSk Support
<M> ParaLLeL port IDE device Support
<M>Compaq SMART2 support
< > Compaq Smart Array 5xxx support
< > Mylex DAC960/DAC1100 PCI RAID Controller support
<M> Loopback device Support
< > Network bLock device Support
< > RAM diSk Support
[ ]InitiaL RAM diSk (initrd) Support

NormaL PC fLoppy diSk Support: IBM PC나 그 호환기종에서 사용하는 일반적인 플로피 디스크 드라이브가 있다면 [Y]나 [M]을 선택합니다.

XT harddiSk Support : XT라는 매우 오래된 8bit 시스템에 대한 설정입니다. 하드디스크 뿐만 아니라, XT 시스템과 286 AT 시스템을 위한 프로젝트도 있습니다. 여러분에게는 필요 없을 것입니다.[N]

ParaLLeL port IDE device Support: 패러랠 포트에 연결하는블록 장치가 있다면 종류와 프로토콜을 설정합니다. 여러분 대부분은 [N].

Compaq SMART2 support : 컴팩의 SMART Array 컨트롤러를 지원하는 드라이버입니다. 이 보드가 있는 사람들은 모두 [Y]를 선택합니다. 이 드라이버를 지원하는 보드 목록은 다음 명령으로 확인합니다; "cat /usr/src/linux/Documentation/cpqarray.txt" 이 보드가 없거나, 잘 모르겠으면 [N].

Compaq Smart Array 5xxx support : 컴팩의 Smart Array 5xxx 컨트롤러를 지원하는 드라이버입니다. 이 보드가 있는 사람들은 모두 [Y]를 선택합니다. 이 드라이버를 지원하는 보드 목록은 다음 명령으로 확인합니다; "cat /usr/src/linux/Documentation/cciss.txt"cpqarray.txt 이 보드가 없거나, 잘 모르겠으면 [N].

Mylex DAC960/DAC1100 PCI RAID Controller support : 블록 디바이스를 병렬로 연결해서 속도나 안정성을 높일 수 있는 PCI RAID 컨트롤러를 지원합니다. 대개는 고가의 서버에서나 볼 수 있는 장비인데, 이 컨트롤러가 없는 장치들은 소프트웨어 RAID를 이용해서 같은 일을 할 수 있습니다. 리눅스 커널에서 지원하는 소프트웨어 RAID를 사용하려면 [N]를 선택합니다.

Loopback device Support : 루프백 디바이스는 파일을 블록 디바이스처럼 사용하는 기능으로 파일속에 파일시스템을 만들어서, 일반적인 블록장치을 다루듯 mount 명령으로 마운트하여 사용할 수 있습니다. 특별한 파일시스템의 실험, CDROM을 굽기 전에 또는 플로피디스크로 옮길 이미지 테스트, 그리고 암호화 등에 유용합니다. 암호화를 바란다면, 먼저 ftp://ftp.replay.com/pub/crypto/linux/all나 ftp://verden.pvv.org/pub/linux/kerneli/v2.1/에서 커널패치를 구해서 설치하고, 여기서 [Y]를 선택합니다. 이 loop 디바이스는 네트워크에서 loopback 연결(127.0.0.1)과는 상관이 없습니다. 이 옵션을 활성화해야 하는 또 한가지 이유를 들자면, CD-Recorder나, CD-RW 등 특별한 장치가 없을 때 ISO 이미지 파일로 나눠주는 FTP버전 배포판들을 가져와서 CD로 굽지 않고 파일 그대로 보통 CD-ROM처럼 마운트하여 사용할 수 있습니다. 잘 모르겠으면 [Y]를 답해도 좋습니다.

Network bLock device Support : 네트워크로 연결된 서버 또는루프백 서버의 파일시스템을 마운트하여 블록 디바이스(/dev/nd0,...)처럼 사용하는 기능입니다. 클라이언트와 서버는 TCP/IP로 통신합니다. 이 기능이 없더라도 NFS나 Coda를 사용하면 네트워크 파일시스템을 사용할 수 있습니다. 대개 [N]을 선택합니다.

RAM diSk Support, InitiaL RAM diSk (initrd)Support : 램을 하드 디스크와 같은 블록 디바이스처럼 사용하는 기능입니다. Linux를 인스톨하는 동안 램에 작은 루트 파일시스템을 생성하기 위해 사용되기도 합니다. 대부분 사용자는 램 디스크 기능이 필요 없을 것입니다. [N]

InitiaL RAM diSk (initrd) Support: 일반적인 부트 과정이 시작되기 전에 부트로더로부터 실행되는 램디스크입니다. 램 디스크는 일반적으로 "reaL" 루트파일시스템 등을 마운트하기 위해 필요한 모듈을 로드하기 위해 사용합니다. 대개는 [N], 잘 모르겠으면 [N].


Multi-device support (RAID and LVM)
RAID, LVM 등 다중 저장장치들을 지원합니다.

[ ] MuLtipLe deviceS driver Support
< > RAID support
< > Linear (append) mode
< > RAID-0 (Striping) mode
< > RAID-1 (mirroring) mode
< > RAID-4/RAID-5 mode
< > Logical volume manager (LVM) support

RAID support Support : 여러 개의 블록 디바이스를 하나의 커다란 블록 디바이스처럼 묶어 사용하는 기능입니다. 입출력이 분산되므로 디스크를 읽고 쓰는 속도가 훨씬 빨라져 다중사용자 시스템에 매우 유용합니다. RAID-0, RAID-1 (mirroring)은 일반적인 디스크보다 여러 면에서 위험하지만 RAID-5는 에러 복구가 가능하고 RAID-4의 문제점이었던 병목현상이 제거된 안정적인 모드입니다.

Logical volume manager (LVM) support : 이 드라이버는 RAID와는 조금 다른데 하드 드라이브, 하드 디스크 파티션, 멀티플 디바이스 혹은, 심지어 루프 디바이스까지도 몇 개를 묶어 볼륨 그룹화하는 것을 지원합니다. 볼륨 그룹은 일종의 가상 디스크, 논리 볼륨은 볼륨 그룹 안에서 만들 수 있는 가상 파티션이라 생각할 수 있습니다. 볼륨 그룹이나 논리 볼륨은 만들어진 다음에도 크기를 조정할 수 있습니다. 논리 볼륨은 /dev/VolumeGroupName/LogicalVolumeName이라는 장치이름을 가집니다.


Networking optionS
네트워크 설정은 조금 까다롭습니다. 시스템을 정확히 이해하고 바른 설정을 해야 합니다.

<*> Packet Socket
[ ] Packet socket: mmapped IO
[ ] KerneL/USer netLink Socket
[ ] Routing meSSageS
< > NetLink device emuLation
[*] Network packet filtering (replaces ipchains)
[ ] Network packet filtering debugging (NEW)
[ ] Socket FiLtering
<*> Unix domain SocketS
[*] TCP/IP networking
[*] IP: muLticaSting
[ ] IP: advanced router
[ ] IP: equal cost multipath (NEW)
[ ] IP: use TOS value as routing key (NEW)
[ ] IP: verbose route monitoring (NEW)
[ ] IP: large routing tables (NEW)
[ ] IP: kerneL LeveL autoconfiguration
<M> IP: tunneLing
< > IP: GRE tunneLS over IP
[ ] IP: multicast routing
[ ] IP: PIM-SM version 1 support (NEW)
[ ] IP: PIM-SM version 2 support (NEW)
[ ] IP: ARP daemon Support (EXPERIMENTAL)
[ ] IP: TCP Explicit Congestion Notification support
[ ] IP: TCP syncookie support (disabled per default)
IP: Netfilter Configuration --->
< > The IPv6 protocoL (EXPERIMENTAL)
[ ] IPv6: enable EUI-64 token format
IPv6: Netfilter Configuration --->
< > Kernel httpd acceleration (EXPERIMENTAL)
[ ] Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
---
< > IPX: SPX networking (EXPERIMENTAL)
<M> Appletalk protocol support
< > DECnet Support
< > 802.1d Ethernet Bridging
< > CCITT X.25 Packer Layer (EXPERIMENTAL)
< > LAPB Data Link Driver (EXPERIMENTAL)
[ ] 802.2 LLC (EXPERIMENTAL)
[ ] Frame Diverter (EXPERIMENTAL)
< > Acorn Econet/AUN protocols (EXPERIMENTAL)
< > WAN router
[ ] Fast Switching (read help!)
[ ] Forwarding between high Speed interfaceS
QoS and/or fair sueing --->

Packet Socket : tcpdump처럼 매개 프로토콜 없이 직접 네트워크 장치와 통신하는 어플리케이션에서 사용됩니다. 잘 모르겠으면 [Y]를 선택합니다.

Packet socket: mmapped IO : 이 옵션을 활성화하면 패킷 프로토콜 드라이버는 더 빠른 통신을 지원하는 IO 메커니즘을 사용할 것입니다. 잘 모르겠으면, [N]

KerneL/USer netLink Socket : 커널의 어떤 부분들 또는 모듈과 유저 프로세스 사이의 양방향 통신을 허락합니다. 유저 프로세스는 /dev 디렉토리로부터 읽거나 쓸 수 있습니다. routing meSSage 기능과 함께 네트워크 관련 정보를 알리기 위해 사용하고 IP: firewaLL packet netLink device 기능과 함께 가능한 공격에 대한 정보를 알리기 위해 방화벽 코드에서 사용합니다. arpd 데몬, 네트워크 링크 드라이버를 사용하기 위해서는 [ Y]를 선택해야 합니다. 확실하지 않으면 [Y]를 선택합니다.

Routing meSSageS : 네트워크 관련 라우팅 정보를 /dev/route에서 읽을 수 있게 하는 기능입니다. mknod("man mknod")로 메이저 넘버 36, 마이너 넘버 0인 스페셜 캐릭터 파일로 /dev/route를 만들면 이 파일을 읽어서 라우팅 정보에 대해 알아낼 수 있습니다. 하지만 이 파일에 쓰는 것은 모두 버려지므로 기록하는 것은 의미가 없습니다. 잘 모르겠으면 [N].

Netlink device emulation (NEW) : 이 옵션은 곧 사라지고 진짜 넷링크 소켓으로 바뀔 것입니다. 여러분이 사용하는 오래된 프로그램 가운데 이 기능이 필요한 것이 있다면 [Y]를 선택합니다. 잘 모르겠으면 [N].

Network packet filtering (replaces ipchains) : 넷필터는 이전 커널에서 방화벽, 혹은 메스커레이딩이란 이름으로 불리던 옵션들의 새 이름입니다. 넷필터는 리눅스 박스를 지나가는 네트워크 패킷을 걸러내고(filtering) 조각내기(mangling) 위한 구조(체제)입니다. 패킷 필터링의 일반적인 사용은 여러분의 리눅스 박스를 방화벽으로 만들어 로컬 네트워크를 인터넷으로부터 보호하는 것입니다. 방화벽으로 쓰일 때 이 기능을 "패킷 필터"라 부르며, 이 것은 사적인 네트워크 패킷을 형태(type), 근원(source), 목적지(destination) 등을 기초로 거절할 수 있음을 뜻합니다. 방화벽의 또 다른 형태는 "프록시-기반(proxy-based one)"인데, 더 안전하지만 침입하기 쉽고 설정이 까다롭습니다; 프록시는 네트워크 트래픽을 훨씬 더 자세하게 살펴서 손보며, 패킷 필터는 지원하지 않는 상위 레블 프로토콜에 대해서도 잘 알고 있습니다. 게다가 프록시 기반 방화벽은 종종 로컬 클라이언트에서 실행중인 프로그램을 바꿀 것을 요구합니다. 프록시 기반 방화벽은 커널에서 지원하는 것이 아니지만, 자주 패킷 필터와 조합해서 쓰이므로, 아무튼 이 옵션은 활성화하는 것이 좋습니다. 이 옵션은 또 하나 공인 IP 주소가 없는 로컬 네트워크 머신들을 인터넷에 연결할 때 여러분의 리눅스 박스를 게이트웨이(gateway)로 만들기 위해 쓰입니다. 이 것은 "매스커레이딩(masquerading)"이라 부르는데: 여러분의 로컬 네트워크에 물려 있는 컴퓨터들 가운데 하나가 바깥에(그러니까 인터넷에) 무엇인가를 보내려합니다면 공인 IP 주소를 가지고 있는 여러분의 게이트웨이 박스는 그 컴퓨터를 "가장(masquerade)"해서 대신 주고 받을 수 있습니다. 다시 말하면 바깥 목적지로 트래픽을 보내지만, 패킷이 방화벽 박스 자신으로부터 나온 것처럼 보이게 하려고 패킷을 조금 손봅니다. 두 가지 방법이 있는데: 바깥쪽 호스트가 응답한다면 리눅스 박스는 조용히 트래픽을 올바른 로컬 컴퓨터로 보냅니다. 이 방법은 여러분의 로컬 네트워크에 있는 컴퓨터들을 비록, 바깥쪽에 닿아 원하는 것들을 주고 받을 수 있더라도, 바깥 세상에서는 완전히 볼 수 없게 합니다. 심지어는 포트 포워딩이라는 메커니즘을 사용하면 서버들까지도 메스커레이딩을 통해 바깥쪽에 서비스를 제공할 수 있습니다. 요즘은 메스커레이딩을 NAT라고 부르기도 합니다 (Network Address Translation). 넷필터는 투명한 프록시(transparent proxying)에도 쓰입니다: 로컬 네트워크에 물린 머신이 바깥쪽 호스트에 연결하려 할 때, 여러분의 리눅스박스가 그 트래픽을 몰래 로컬 서버로 보내서 프록시 서버에 있는 캐시를 보여줍니다. 넷필터에는 이전에 메스커레이딩(ipmasqadm)이라 부르던 도구, 패킷 필터링(ipchains), 투명한 프록시(transparent proxying), 포트포워딩 메커니즘(portforwarding mechanisms, ipfwadm) 등 다양한 모듈들이 있습니다. 이제 ipchains는 "iptables"로 바뀌었습니다. 여러분이 넷필터를 사용하려면 아래에 "Fast switching"에는 꼭 [N]을 답하고 이 곳에 [Y]를 답해야 합니다. 빠른 스위칭은 넷필터를 우회하기 때문입니다. 여러분의 리눅스 박스를 라우터나 게이트웨이로 쓰려면 [Y]를 답하고 그냥 보통 호스트로 사용한다면 [N]을 답합니다. 잘 모르겠으면 [N].

Network packet filtering debugging : 넷필터 코드를 디버깅하는데 유용한 정보들을 추가합니다. 잘 모르겠으면 [N].

Socket Filtering : 리눅스 소켓 필터는 버클리의 패킷 필터로부터 파생된 것입니다. 이 곳에 [Y]를 답하면 사용자-공간 프로그램들이 아무 소켓에나 필터를 붙일 수 있고 그래서 소켓을 통해 얻은 데이터에 대해 형식을 정하고 허가/불가 등 정책을 커널에 말합니다. 리눅스 소켓 필터링은 지금 ICP를 제외한 모든 소켓에서 동작합니다. 잘 모르겠으면 [N].

Network aLiaSing : 네트워크 드라이버가 여러 개의 IP 주소를 가질 수 있도록 하는 설정입니다. 아파치 웹 서버를 이용한 웹 호스팅 서비스 등에 쓰입니다. 또는 이더넷 카드 하나로 여러개의 논리적인 네트워크에 연결할 때 쓰입니다. 속도가 느려지지만, 하나의 이더넷 카드로 매스커레이딩 서비스를 제공할 수도 있습니다.

Socket FiLtering : 리눅스 소켓필터는 버클리 패킷필터에서 파생되었습니다. Unix 시스템은 소켓을 통해 프로세스 사이 통신이 이루어집니다. 이 기능을 선택하면 커널 수준에서 소켓을 조사하고, 허용하는지 마는지 지정할 수 있습니다. 리눅스 소켓 필터링은 TCP를 제외한 모든 종류의 소켓에 동작합니다. 잘 모르겠으면 [N].

Unix domain SocketS :소켓은 네트워크 연결을 개설하고 액세싱하기 위한 표준 장치(mechanism)입니다. 리눅스 박스가 어떤 네트워크에도 연결되지 않아도 X 윈도우 시스템이나 syslog 같은 많은 일반적인 프로그램이 소켓을 사용합니다. 이 기능을 모듈로 설정하고 모듈 적재를 잊으면(neglect to load the module) 몇 가지 중요한 서비스들이 제대로 동작하지 않을 것입니다. [Y]를 권장합니다.

TCP/IP networking : 인터넷과 이더넷 등 거의 대부분 네트워크에서 사용하는 표준 프로토콜입니다. 인터넷 접속뿐만 아니라 다른 많은 프로그램에 꼭 필요하므로 더 말할 것도 없이 반드시 [Y]를 선택합니다. TCP/IP는 데이터 통신 프로토콜 모음을 가리키는 것으로, 그 가운데 가장 중요한 전송 제어 프로토콜(transmission control protocol)과 인터넷 프로토콜(internet protocol)에서 이름을 따 온 것입니다.

IP: muLticaSting : 메시지를 미리 정한 여러 목적지에 보내는 기능입니다. 이와 다르게 broadcaSt는 네트워크 안의 모든 장치가 패킷을 수신합니다. 멀티캐스팅은 부서별 공지, 뉴스 푸시 등에 사용되기도 합니다. 잘 모르겠으면 [N].

[ ] IP: multicasting
[ ] IP: muLticaSt routing
[ ] IP: PIM-SM verSion 1 Support
[ ] IP: PIM-SM verSion 2 Support

IP: multicast routing : 리눅스 박스가 다수의 머신에 IP 패킷을 전송할 때 사용할 수 있습니다. MBONE, 오디오나 비디오 broadcast를 목적으로 구성된 높은 대역의 인터넷에서 사용됩니다. Multicast용 네트워크 카드 정보는 x Documentation/networking/multicast.txt에 있습니다. 대부분의 사용자에게 이 기능은 필요 없습니다. 잘 모르겠으면 [N].

IP: advanced router : 리눅스 박스를 주로 라우터로 사용할 계획이라면 설정합니다. 라우터는 패킷 경로를 제어하는 것으로 패킷을 어떤 게이트웨이로 보낼 것인지를 결정합니다. 라우터가 게이트웨이 역할까지 하는 경우가 많기 때문에 때로는 게이트웨이라 불리기도 합니다. 이 옵션은 일반적인 라우팅 기능에 필터링, 보안(예를 들어 IP 속이기 예방) 등 몇 가지 향상된 기능을 지원합니다. 잘 모르겠으면 [N].

[ ] IP: poLicy routing
[ ] IP: faSt network addreSS tranSLation
[ ] IP: equaL coaSt muLtipath
[ ] IP: uSe TOS vaLue aS routing key
[ ] IP: verboSe route monitoring
[ ] IP: Large routing tabLeS

IP: policy routing : 일반적으로, 라우터는 수신한 패킷의 목적지 주소에 따라 무엇을 할 지 결정합니다. 만일 이 옵션에 [Y]라고 답한다면 리눅스 라우터가 패킷의 송신지 주소를 고려할 수도 있게 됩니다. 아래 "IP: TOS 값을 라우팅 키로 사용하기"도 [Y]라고 답한다면 패킷의 TOS(Type-Of-Service서비스 타입) 부분은 라우팅 결정을 위해서 사용할 수 있게 됩니다. "IP: 빠른 네트웍 주소 번역"에 [Y]라고 한다면 리눅스 라우터는 전송된 패킷의 송신지와 목적지 주소들마저도 수정할 수 있게 됩니다.

IP: fast network address translation : [Y]를 선택하면, 통과하는 패킷들의 출발지 주소와 목적지 주소를 마음대로 변경할수 있게 됩니다. 네트웍 주소 해석에 대한 일반적인 정보를 원하면 다음의 주소로 가봅니다: http://www.csn.tu-chemnitz.de/ mha/linux-ip-nat/diplom/nat.html

IP: equal cost multipath : 일반적으로, 라우팅 테이블은 주어진 패킷에 대한 하나의 행동을 구체적으로 알려줍니다. 그러나, 여기에 만약 [Y]라고 답한다면 패킷 패턴에 여러 개의 행동을 덧붙이는 것이 가능해 지고, 그 패킷이 전달되기 위해 실제로 거쳐야 할 대체 경로들을 구체적으로 알려줍니다. 라우터는 이런 경로들을 동일한 "비용"으로 여겨서, 만일 일치하는 패킷이 도착하면, 유동적으로(non-deterministic fashion) 그 경로들 중에 하나를 선택하게 됩니다.

IP: use TOS value as routing key : 모든 IP 패킷의 헤더부분은 그 패킷이 요구하는 특정 처리부분을 담고 있는 TOS(Type of Service 서비스형태)값을 가지고 있습니다. 예를 들어, (상호작용하는 트래픽을 위한) low latency, 높은 처리량, 높은 신뢰도 같은 것들. 만일 여러분이 여기에 [Y]라고 답하면, 서로 다른 TOS값들을 가진 패킷들을 위해 서로 다른 라우트를 지정할 수 있게 됩니다.

IP: verbose route monitoring : 만일 여러분이 여기에 [Y]라고 답하면(권장사항입니다), 커널이 라우팅에 관해서 자세한 메시지들을 출력할 것입니다. 예를 들어, 이상하게 보이는 수신 패킷들이나, 시스템 설정 어딘가의 오류, 또는 공격의 증거가 될 수 있는 것들에 대해서 경고 메시지들을 말해 줍니다. 정보는 커널 메시지부분을 담당하는 klogd데몬이 다루고있습니다. ("man klogd")

IP: large routing tables : 라우팅 존에 64 항목 이상이 필요하다면 [Y]를 선택해서 라우팅 프로세스 속도를 높입니다.

IP: kerneL LeveL autoconfiguration : 클라이언트 시스템이 부팅할때 BOO TP 서버로부터 네트워크 설정 정보를 가져오는 기능입니다. 디스크가 없이 부트하는 시스템에 쓰이며, "NFS를 통한 루트 파일시스템" 항목도 역시 [Y]를 선택해야 합니다. 보다 새로운 방법은 DHCP를 사용하는 것입니다. 잘 모르겠으면 [N].

[ ] IP: BOOTP Support
[ ] IP: RARP Support

IP: tunneLing : 한 프로토콜 안에 다른 프로토콜의 자료를 캡슐화하여 서로 다 른 프로토콜 사이에서 전송하는 기능입니다. IP 주소 변경 없이 네트워크 사이 를 옮겨 다니는 MobiLe IP등 기능과 관련된 옵션입니다. 대부분 이 기능이 필요 없습니다. [N]

IP: GRE tunneLS over IP : GRE(generic routing encapSuLation)는 멀티캐스 트, IPv6를 지원합니다. CiSco 라우터에 연결될 때 유용합니다. 잘 모르겠으면 [N].

IP: ARP daemon Support (EXPERIMENTAL) : 일반적으로 커널은 로컬 네트워크에서 IP 주소와 하드웨어 주소 MAP을 내부 캐시로 가지고 있습니다. 수백개 이하의 호스트가 연결된 소규모 네트워크에서는 ARP(Address Resolution Protocol) 캐시를 커널 차원에서 관리하지만, 매우 큰 네트워크(switched network)에서는 별로 좋지않습니다. 만일 네트워크 연결(TCP/IP)들이 많다면 커널 메모리의 많은 부분을 ARP 캐시로 사용하게 됩니다. 이 옵션에서 [Y]를 선택하면, 커널 내부 ARP 캐쉬가 256 엔트리(entry)이하로 유지됩니다. (가장 오래된 엔트리는 LIFO을 통해 갱신됩니다.) 그리고 연결은 유저 공간의 arpd를 통해 이루어집니다. ARP나 RARP는 네트워크에 자신의 IP 주소나 물리주소를 묻거나(broadcast), 자신의 캐시에서 확인합니다. 잘 모르겠으면 [N].

IP: TCP Explicit Congestion Notification support : 이 옵션은 장비들에게 전송속도를 낮추어 줄 것을 요구하는 명백한 혼잡 공지(ECN) 비트를 허용합니다. 네트워크가 혼잡하면 응답시간이 늦어지고 처리량이 감소하게 됩니다(네트워크가 혼잡하면 교환기는 데이터를 단순히 삭제하기 때문입니다). 이럴 때 클라이언트가 체증에 대해 라우터에 알리도록 하면 결과적으로 버려지는 패킷이 줄어들게 되므로 네트워크 퍼포먼스가 높아집니다. 인터넷에는 ECN을 보내는 머신으로부터의 연결을 거부하는 고장난 방화벽들이 많이 있는데, 그런 방화벽 뒤에 있는 사이트에 접속하려면 이 옵션을 꺼야합니다. 그런 경우 이 곳에 [N]을 답하거나, sysctl을 이용해 실행시간에 끌 수 있습니다. (/proc/sys/net/ipv4/tcp_ecn) 잘 모르겠으면 [N].

IP: TCP SyncookeS Support (not enabLedper deauLt) : TCP/IP의 약점을 이용해 서버에 접속을 할 수 없도록 하는 SYN attack(이 약점을 이용해 TC P/IP hijack등 공격을 합니다)을 막아줍니다. 서비스 거부 공격(Denial-of-service)을 당하는 동안에는 합법적인 원격 사용자들이 접속하기 어려워지는데, 이런 공격은 인터넷에 연결된 머신이 있다면 누구든지 쉽게 시도할 수 있습니다. 그러나 이 옵션을 사용하면, TCP/IP 스택에서 "SYN cookies"라고 불리는 암호화된 프로토콜을 사용하므로, 컴퓨터가 공격을 받고 있더라도 합법적인 사용자가 계속해서 접속할 수 있도록 보호합니다. SYN cookies는 소프트웨어들에 대해 투명하게 동작하므로 사용자들은 자신의 TCP/IP 소프트웨어들을 변경할 필요가 없습니다. 만약 여러분이 SYN flood 공격을 받고 있다면, 커널이 알려주는 공격자의 주소는 위조 되었을 가능성이 높습니다; 그 주소는 패킷들의 실제 주소를 추적하는데 도움이 될 뿐이며, 절대적인 것으로 취급해서는 안 됩니다. SYN cookies는 만약 서버가 매우 과중한 부하에 시달리고 있어서, 클라이언트에 대한 에러를 올바로 알릴 수 없을 지경이라면 이 옵션을 선택하지 말아야 합니다. "/proc filesystem support"와 "Sysctl support"옵션에도 [Y]를 선택하고, 시스템을 proc 파일 시스템이 마운트되고 나서 다음 명령을 실행해야 SYN cookies가 동작합니다: echo 1 > /proc/sys/net/ipv4/tcp_syncookies SYN cookies에 대한 기술적인 정보: ftp://koobera.math.uic.edu/pub/docs/syncookies-archive. 잘 모르겠으면 [Y]를 선택합니다.

The IPv6 protocoL (EXPERIMENTAL) : Internet Protocol의 다음 버전에 대한 실험적인 지원입니다. 새로운 프로토콜은 (IP version 6: IPng또는 "IP next generation"이라고 불리기도 하는) 다음과 같은 특징을 갖습니다. 주소 공간이 128 비트로(현재는 32비트) 커져서 주소가 고갈되는 일이 (아마) 없을 것입니다. 프로토콜 내부에 인증과 비밀 유지 등 보안성이 향상됩니다. 헤더가 더 합리적으로 구성되어 처리속도가 빨라집니다. 그 밖에 중간 연결방법 없이 현재 버전 IP (IP version 4) 프로토콜과 상호 작용이 가능합니다. 아직은 [N]을 선택하는 것이 안전합니다.

Kernel httpd acceleration (EXPERIMENTAL) : 커널 httpd 가속 대몬(kHTTPd)은 커널 속에 만들어 넣은 (제한된) 웹서버입니다. 이 서버는 오직 파일시스템으로부터 파일들을 제공할 수 있으며 CGI 스크립트처럼 실행할 수 있는 목록은 다룰 수 없습니다. kHTTPd를 사용한다면 파일을 서비스하는 속도가 빨라집니다. 만약 kHTTPd가 클라이언트의 요청을 마칠 수 없다면, 아파치 등 유저 공간(user space; kernel과 반대되는 의미로)의 웹 서버에 투명하게 전해줍니다. 모듈로 설정할 수도 있지만; kHTTPd가 돌아가는데 만족스럽지 않을 것입니다. 안전을 이유로, 모듈이 올라간 뒤에 다음 명령을 내려야 모듈이 활성화됩니다: "echo 1 > /proc/sys/net/khttpd/start". kHTTPd는 아직 실험적인 수준이므로 이 옵션을 사용하는 제품을 만들 때에는 조심해야 합니다. 그리고 하나 더, 아직 가상 서버는 지원하지 않습니다. 잘 모르겠으면 [N].

Asynchronous Transfer Mode (ATM) : ATM(비동기전송모드)은 WAN(Wide Area Networks)또는 LAN에서 쓰이는 고속 네트워킹 기술입니다. ATM은 기존의 패킷 교환방식과 시분할 다중 장치(TDM)의 장점을 따서 개발한 기술로 가상채널을 통해 데이터와 화상, 음성 트래픽을 일정한 크기의 패킷(53바이츠)에 실어 보냅니다. WAN을 위한 기술로 개발되었지만 LAN에도 적용할 수 있습니다. ATM을 사용하려면 여러분의 리눅스 박스에 ATM 네트워킹 카드가 필요합니다. 만약 ATM 카드가 있다면 이 곳에서 [Y]를 선택하고 아래에서 맞는 드라이버를 고릅니다. 그리고, 커널 지원 외에도 유저 공간의 프로그램들이 필요합니다. ATM(Asynchronous Transfer Mode : 비동기전송모드)에서는 보내려는 정보를 미리 약속한 크기의 패킷으로 나눈 다음, 패킷의 헤더 부분에 목적지 정보를 덧붙여 전송합니다. 패킷들이 목적지에 다다르면 규칙에 따라 다시 원래의 정보로 환원합니다.

---

The IPX protocoL : NoveLL 네트워크에 연결할 때 설정합니다. 노벨 네트워크와 연결되지 않는다면 [N]을 선택합니다.

IPX: FuLL internaL IPX network, IPX:SPX networking (EXPERIMEN TAL) : 노벨 네트워킹과 관련된 기능입니다. [N]

Appletalk protocol support : AppLe컴퓨터를 위한 네트워크프로토콜입니다. 리눅스 박스를 이 네트워크에 연결하기 위해서는 netatalk 패키지가 필요합니다. 잘 모르겠으면 [N].

DECnet Support : (지금은 Compaq인)디지틀사에서 만든 많은 제품들이 DECnet 네트워킹 프로토콜을 사용합니다. 잘 모르겠으면 [N].

802.1d Ethernet Bridging : 리눅스박스를 이더넷 브리지로 사용합니다. 일반적으로 브리지보다 효율적인 기능을 가진 라우터가 더 많이 쓰입니다. 잘 모르겠으면 [N].

CCITT X.25 Packer Layer (EXPERIMENTAL) : X.25 패킷 레이어는 정부, 은행 등 기관에서 WA[N]을 구성하기 위해 사용하는 표준 네트워크 프로토콜입니다. PLP와 LAPB 두 개의 프로토콜로 구성됩니다. 잘 모르겠으면 [N].

LAPB Data Link Driver (EXPERIMENTAL) : Link Access Prodedure for Ba Lanced는 X.25 프로토콜의 하위 레벨 구성요소입니다. 리눅스에서는 이더넷 커넥션에 대한 LAPB만을 지원합니다. 잘 모르겠으면 [N].

802.2 LLC (VERY EXPERIMENTAL) : 일반적인 이더넷 카드를 이용하는 네트워크에서 X.25 네트워크에 연결하는 802.2 Logical LinkLayer 프로토콜입니다. 잘 모르겠으면 [N].

Acorn Econet/AUN protocols (EXPERIMENTAL) : Econet은 Arcon 컴퓨터에서 파일, 프린터 서버에 액세스하기 위해 사용되던 아주 오래되고 느린 네트워킹 프로토콜입니다. 잘 모르겠으면 [N].

WAN router : WAN은 하나 이상의 LAN으로 구성된 광역네트워크입니다. 고가의 WAN 라우터를 리눅스 박스를 이용하여 상대적으로 매우 저렴하게 구성할 수 있습니다. 이 기능을 위해서는 wan-tools 패키지가 필요합니다.

Fast Switching (read help!) : tuLip 등 이 기능을 지원하는 NIC(network int erface card)끼리 직접 데이터를 빠르게 교환할 수 있습니다. "advanced router" 기능과 함께 사용할 수 있지만 방화벽을 구축한다면 [N]을 선택해야 합니다.

Forwarding between high Speed interfaceS : tuLip 등 이 기능을 지원하는 NIC는 옵션이 활성화되었을 때 하드웨어 속도조절 기능을 지원합니다. [N]을 답하는 것이 좋습니다.


Netfilter
ipchains가 넷필터로 바뀌었습니다. 네트워크 케이블을 돌아다니는 패킷들을 검사하고 걸러내는 다양한 기능들이 추가되었습니다.

IP: Netfilter Configuration --->
< > Connection tracking (required for masq/NAT)
<*> FTP protocol support
< > Userspace queueing via NETLINK (EXPERIMENTAL)
< > IP tables support (required for filtering/masq/NAT)
< > limit match support
< > MAC address match support
< > netfilter MARK match support
< > Multiple port match support
< > TOS match support
< > Connection state match support
< > Unclean match support (EXPERIMENTAL)
< > Owner match support (EXPERIMENTAL)
< > Packet filtering
<M> REJECT target support
< > MIRROR target support (EXPERIMENTAL)
< > Full NAT
< > MASQUERADE target support
< > REDIRECT target support
< > Packet mangling
< > TOS target support
< > MARK target support
< > LOG target support
< > ipchains (2.2-style) support
< > ipfwadm (2.0-style) support

Connection tracking (required for masq/NAT) : 연결 추적은 어떤 패킷이 여러분의 머신을 거쳐 갔는지, 그들이 얼마나 연결 되었는지 그 기록을 유지합니다. 이 옵션은 메스커레이딩 혹은 다른 종류의 네트워크 주소 변환(Fast NAT는 빼고)에 필요합니다. 그리고, 향상돤 패킷 필터링에도 쓰입니다. 잘 모르겠으면 [N].

FTP protocol support : FTP 연결을 추적합니다. 확실하지 않다면 [Y].

Userspace queueing via NETLINK (EXPERIMENTAL) : 넷필터는 유저 공간에 패킷을 큐하는 기능을 가집니다: 넷링크 장치는 이 드라이버를 이용해서 그들에 엑세스 하도록 사용될 수 있습니다. 잘 모르겠으면 [N].

IP tables support (required for filtering/masq/NAT) : iptable은 일반적이며, 확장할 수 있는 패킷 식별 구조입니다. 패킷 필터링과 full NAT(masquerading, port forwarding, etc) 서브시스템은 이제 이 것을 사용합니다: 그런 서비스 가운데 하나를 쓰려면 이 옵션에서 [Y]나 [M]을 선택합니다. 잘 모르겠으면 [N].

limit match support : limit matching은 매치되는 룰에서 속도를 제어하도록 허용합니다: LOG 타깃과 (아래에서 "LOG target support") 서비스 거부 공격(DOS: Denial of Service) 회피 기능을 조합할 때 유용합니다. 잘 모르겠으면 [N].

MAC address match support : MAC 매칭은 출발지 이더넷 주소에 기반한 패킷 매치를 허용합니다. 잘 모르겠으면 [N].

netfilter MARK match support : 넷필터 마크 매칭은 "nfmark" 값에 기초한 패킷 매치를 허용합니다. MARK 타깃에 의해 설정됩니다. 잘 모르겠으면 [N].

Multiple port match support : 멀티포트 매칭은 출발지나 목적지 포트의 시리즈에 기반한 TCP나 UDP 패킷 매치를 허용합니다: 일반적으로 규칙 하나는 한 가지 포트 범위를 매치할 수 있습니다. 잘 모르겠으면 [N].

TOS match support : TOS 매칭은 IP 패킷의 서비스 필드의 형식에 기반한 패킷 매치를 허용합니다. 잘 모르겠으면 [N].

Connection state match support : 연결 상태 매칭은 추적한 커넥션의 관계에 기반한(예를 들어 이전 패킷들) 패킷 매치를 허용합니다. 이 옵션은 패킷 분류를 위한 강력한 도구입니다. 잘 모르겠으면 [N].

Unclean match support (EXPERIMENTAL) : 깨끗하지 않는 패킷 매칭은 IP, TCP, UDP와 ICMP 헤더에서 연속된 필드들을 살펴서 낯설거나 무효한 패킷들을 매치합니다. 잘 모르겠으면 [N].

Owner match support (EXPERIMENTAL) : 패킷의 소유자 매칭은 패킷을 생성한 사용자, 그룹, 프로세스나 세션에 기반하여 지역적으로-발생된 패킷을 매치하는 것을 허용합니다. 잘 모르겠으면 [N].

Packet filtering : 패킷 필터링은 로컬 input, 포워딩과 로컬 output에서, 심플 패킷 필터링을 위한 연속된 룰을 담는 "필터" 테이블을 규정합니다. 잘 모르겠으면 [N].

REJECT target support : REJECT 타깃은 들어오는 패킷에 대해 ICMP에러 메시지로 응답하는 대신 아무 소리 없이 버리는 필터링 규칙을 허용합니다. 잘 모르겠으면 [N].

MIRROR target support (EXPERIMENTAL) : MIRROR target은 들어오는 패킷이 보낸 이에게 되돌아가는 규칙을 허용합니다. 잘 모르겠으면 [N].

Full NAT : Full NAT 옵션은 메스커레이딩, 포트 포워딩, 그리고 다른 형식들 풀 네트워크 주소 포트 전환을 허용합니다. 이 기능은 iptables 안에 "nat" 테이블에 의해 제어됩니다. "man iptables" 잘 모르겠으면 [N].

MASQUERADE target support : 메스커레이딩은 NAT의 특별한 케이스입니다: 모든 나가는 연결들은 특정한 인터페이스의 주소로부터 온 것처럼 보이도록 바뀝니다, 그리고 그 인터페이스를 내리면, 그것들 연결들을 잃어버립니다. 이 옵션은 다이나믹 IP 주소를 사용하는 다이얼업 계정에만 유용합니다. (여러분의 IP 주소가 접속할 때마다 달라진다면) 잘 모르겠으면 [N].

REDIRECT target support : REDIRECT는 NAT의 특별한 케이스입니다: 모든 들어오는 연결들은 들어오는 인터페이스의 주소에 매핑되므로, 패킷들은 통과해서 직접 연결되는 대신 로컬 머신으로부터 오게 됩니다. 이 옵션은 투명한 프록시에서 유용합니다.. 잘 모르겠으면 [N].

Packet mangling : 이 옵션은 iptables에 "mangle" 테이블을 추가합니다: 이 테이블은 패킷이 어떻게 라우트될지에 영향을 줄 수 있는 다양한 패킷 변환에 사용됩니다. iptables(8) 맨 페이지를 참조합니다. 잘 모르겠으면 [N].

TOS target support : 이 옵션은 라우팅에 앞서 "mangle"테이블 안에 IP 패킷의 Type Of Service 필드를 바꾸는 규칙들을 만들도록 "TOS" 타깃을 추가합니다. 잘 모르겠으면 [N].

MARK target support : 이 옵션은 라우팅에 앞서 "mangle"테이블 안에 패킷 패킷과 관련된 netfilter mark(nfmark) 필드를 바꾸는 규칙들을 만들도록 허용하는 "MARK" 타깃을 추가합니다. 이 기능은 라우팅 메쏘드를 바꿀 수 있고 다른 서브시스템에 의해 그들을 behavior를 바꾸도록 이용될 수도 있습니다. 잘 모르겠으면 [N].

LOG target support : 이 옵션은 syslog에 패킷 헤더를 기록하는 규칙을 만들도록 허용하는 "LOG"타깃을 추가합니다. 잘 모르겠으면 [N].

ipchains (2.2-style) support : 이 옵션은 이제 iptables로 바뀌었습니다. ipchains를 사용하던 이들은 이 옵션을 활성화해 예전의 명령들을 계속 사용할 수도 있지만, iptables를 익히는게 좋을 것입니다.[N]

ipfwadm (2.0-style) support : 이 도구는 2.2 커널에서 ipchains로 바뀌었고, 다시 2
.4 커널에서 iptables로 바뀌었습니다. [N]


QoS and /or fair queueing
패킷 스케쥴러에 따라 패킷을 제어하는 기능입니다. 네트워크 장치가 실시간 장치일 때 특히 이 기능이 중요합니다. 잘 모르겠으면 [N].

[ ] QoS and/or fair queueing

QoS and/or fair queueing : 네트워크 디바이스들을 통해서 내보내야 할 패킷들이 있을때, 커널은 어떤 것을 먼저 보내야 할 것인지 선택해야 합니다. 이런 선택은 최소한의 data flow rate가 필요한 실시간 서비스나 비즈니스 서비스를 제공할 경우 더 중요합니다. QoS는 "서비스의 질(Quality of Service)"라는 말 그대로 제한된 대역폭 안에서 프로토콜이나 애플리케이션에 따라 대역폭을 할당해서 최고의 서비스 질을 이끌어내는 기술입니다. 그 순서를 효율적으로 정하기 위해 몇 가지 알고리듬이 있는데 그 것들을 패킷 스케쥴러라 부릅니다. 만약 기본적인 패킷 스케쥴러(FIFO: first come, first served)를 그냥 사용한다면 [N]을 답합니다. 보다 효율적이라 생각하는 다른 알고리듬으로 바꿔보고싶다면 [Y]를 선택해 이 옵션을 활성화합니다. 네트워크 디바이스들마다 서로 다른 스케줄링 알고리즘을 할당 할 수도 있습니다. 다만, 이런 것들에 대해 잘 알고 있는 전문가들에게만 추천되는 기능입니다. 아무튼 이 옵션들을 활용하려 한다면 유저-레블 유틸리티들이 들어 있는 ftp://ftp.inr.ac.ru/ip-routing/ 에서 iproute2+tc 패키지를 가져와야 합니다. "/proc filesystem"이 활성화되어 있다면 /proc/net/psched 파일에서 우선순위 스케줄러에 대한 상태 정보를 얻을 수 있을 것입니다. 잘 모르겠으면 [N].

BQ packet scheduler : Class-Based Queueing(CBQ) 패킷 스케쥴링 알고리즘을 지원합니다. 이 알고리즘은 전송되기를 기다리는 패킷을 트리(tree)형태의 계층적 구조로 분류합니다.(net/sched/sch_cbq.c 파일의 시작부분) 이 트리의 리프(leaf) 노드들은 다른 알고리즘에 의해 스케쥴링됩니다. 이 리프 노드에 적용될 스케쥴링 알고리즘은 아래의 여러가지 큐잉 알고리즘 중에서 선택할 수 있습니다.

CSZ packet scheduler : Clark-Shenker-Zhang(CSZ) 패킷 스케쥴링 알고리즘을 지원합니다. 실시간(real-time) 응용 프로그램에 대한 서비스를 보장해줄 수 있는 알고리즘입니다(net/sched/sch_csz.c의 시작부분) 주의: 이 스케쥴러는 현재 완벽하지 않습니다.

The simplest PRIO pseudo scheduler :

RED queue : net/sched/sch_red.c의 시작부분 참고.

SFQ queue : net/sched/sch_sfq.c의 시작부분 참고.

TEQL queue : net/sched/sch_sfq.c의 시작부분 참고.

TBF queue : net/sched/sch_tbf.c의 시작부분 참고

QoS support : QoS 스케쥴링 기능을 지원합니다. [N]을 답하면 QoS에 대해서 더이상 묻지 않습니다.

Rate estimator : Quality of Service 스케쥴링을 사용하기 위해 네트워크 장치에 대한 현재 데이타 전송속도의 예측하는 기능을 지원합니다.

Packet classifier API : CBQ 스케쥴링 알고리즘은 네트웍 장치를 통해 전송되도록 스케쥴된 네트웍 패킷이 어

댓글목록

등록된 댓글이 없습니다.

1,139 (12/23P)

Search

Copyright © Cmd 명령어 3.144.3.230