Chapter 34. 고급 네트워킹
34.1. 요약
이 장에서는 여러 가지 고급 네트워킹 주제를 다룹니다.
이 장을 읽고 나면 다음 사항을 알게 될 것입니다:
- 게이트웨이와 라우팅의 기본 사항.
- USB 테더링을 설정하는 방법.
- IEEE® 802.11 및 Bluetooth® 장치를 설정하는 방법.
- FreeBSD가 브리지 역할을 하도록 하는 방법.
- 네트워크 PXE 부팅을 설정하는 방법.
- FreeBSD에서 공통 주소 중복 프로토콜(CARP)의 기능을 활성화하고 활용하는 방법.
- FreeBSD에서 여러 VLAN을 구성하는 방법.
- 블루투스 헤드셋 구성하기.
이 장을 읽기 전에 먼저 다음 사항을 이해해야 합니다:
- /etc/rc 스크립트의 기본 사항을 이해합니다.
- 기본적인 네트워크 용어를 숙지합니다.
- FreeBSD의 기본 네트워크 구성을 이해합니다(FreeBSD 네트워크).
- 새로운 FreeBSD 커널을 구성하고 설치하는 방법을 알 수 있습니다(FreeBSD 커널 구성하기).
- 추가 서드파티 소프트웨어를 설치하는 방법을 알 수 있습니다(애플리케이션 설치하기: 패키지 및 포트).
34.2. 게이트웨이와 라우팅
라우팅은 한 시스템이 다른 시스템으로 가는 네트워크 경로를 찾을 수 있도록 하는 메커니즘입니다. 라우팅은 '목적지'와 '게이트웨이'를 나타내는 정의된 주소 쌍입니다. 경로는 지정된 목적지로 가려고 할 때 지정된 게이트웨이를 통해 패킷을 보내도록 지정합니다. 목적지에는 개별 호스트, 서브넷, "default"의 세 가지 유형이 있습니다. "default"는 다른 경로가 적용되지 않는 경우 사용됩니다. 또한 게이트웨이에는 개별 호스트, 인터페이스라고도 하는 링크, 이더넷 하드웨어(MAC) 주소의 세 가지 유형이 있습니다. 알려진 경로는 라우팅 테이블에 저장됩니다.
이 섹션에서는 라우팅 기본 사항에 대한 개요를 제공합니다. 그런 다음 FreeBSD 시스템을 라우터로 구성하는 방법을 시연하고 몇 가지 문제 해결 팁을 제공합니다.
34.2.1. 라우팅 기초
FreeBSD 시스템의 라우팅 테이블을 보려면 netstat(1)을 사용하세요:
% netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGS 37 418 em0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 re0 77
10.20.30.255 link#1 UHLW 1 2421
example.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.example.com link#1 UC 0 0
224 link#1 UC 0 0
이 예제의 항목은 다음과 같습니다:
default
이 표의 첫 번째 경로는 default 경로를 지정합니다. 로컬 시스템이 원격 호스트에 연결해야 할 때 라우팅 테이블을 확인하여 알려진 경로가 존재하는지 확인합니다. 원격 호스트가 테이블의 항목과 일치하면 시스템은 해당 항목에 지정된 인터페이스를 사용하여 연결할 수 있는지 확인합니다.
목적지가 항목과 일치하지 않거나 알려진 경로가 모두 실패하면 시스템은 해당 항목을 기본 경로로 사용합니다. 로컬 영역 네트워크에 있는 호스트의 경우 기본 경로의 게이트웨이Gateway 필드는 인터넷에 직접 연결되어 있는 시스템으로 설정됩니다. 이 항목을 읽을 때 플래그Flags 열에 게이트웨이가 사용 가능(UG)UG)임을 나타내는지 확인합니다.
자체적으로 외부 세계의 게이트웨이로 작동하는 시스템의 기본 경로는 인터넷 서비스 제공업체(ISP)의 게이트웨이 시스템이 됩니다.localhost
localhost
두 번째 경로는 localhost 경로입니다. localhost의localhost의 Netif 열에 지정된 인터페이스는 루프백 장치라고도 하는 lo0입lo0입니다. 이는 이 대상에 대한 모든 트래픽이 네트워크를 통해 전송되지 않고 내부에 있어야 함을 나타냅니다.
MAC 주소
0:e0: 로 시작하는 주소는 MAC 주소입니다. FreeBSD는 로컬 이더넷에서 호스트(예제에서는 test0)test0)를 자동으로 식별하고 이더넷 인터페이스를 통해 해당 호스트에 대한 경로(re0)re0)를 추가합니다. 이 유형의 경로에는 만료Expire 열에서 볼 수 있는 시간 제한이 있으며, 호스트가 특정 시간 동안 응답하지 않을 때 사용됩니다. 이 경우 이 호스트에 대한 경로는 자동으로 삭제됩니다. 이러한 호스트는 최단 경로 결정을 기반으로 로컬 호스트에 대한 경로를 계산하는 RIP(라우팅 정보 프로토콜)를 사용하여 식별됩니다.서브넷
subnet
FreeBSD는 로컬 서브넷에 대한 서브넷 경로를 자동으로 추가합니다. 이 예에서 10.20.30.255는255는 서브넷 10.20.30의30의 브로드캐스트 주소이고 example.com은com은 해당 서브넷과 연결된 도메인 이름입니다. 지정 링크#1은link#1은 머신의 첫 번째 이더넷 카드를 나타냅니다.
로컬 네트워크 호스트와 로컬 서브넷은 라우팅된(routed(8)이라는 데몬에 의해 경로가 자동으로 구성됩니다. 이 데몬이 실행되지 않으면 관리자가 정적으로 정의한 경로만 존재합니다.host
host
host1 줄은 이더넷 주소로 호스트를 나타냅니다. 이 호스트는 보내는 호스트이므로 FreeBSD는 이더넷 인터페이스가 아닌 루프백 인터페이스(lo0)lo0)를 사용한다는 것을 알고 있습니다.
두 개의 host2 줄은 ifconfig(8)을 사용하여 생성된 별칭을 나타냅니다. lo0 인터페이스 뒤의 ⇒ 기호는 루프백 주소 외에 별칭이 설정되었음을 나타냅니다. 이러한 경로는 해당 별칭을 지원하는 호스트에만 표시되며 로컬 네트워크의 다른 모든 호스트에는 해당 경로에 대한 링크#1link#1 줄이 있습니다.224
224
마지막 줄(대상 서브넷 224)은 멀티캐스팅을 처리합니다.
각 경로의 다양한 속성은 플래그Flags 열에서 볼 수 있습니다. 흔히 볼 수 있는 라우팅 테이블 플래그에는 이러한 플래그 중 일부와 그 의미가 요약되어 있습니다: