/ etc / network / interfaces 구문에 대한 자세한 설명은?


139

사용 방법에 대한 기본적인 개념을 이해 /etc/network/interfaces했지만 온라인에서 찾은 모든 것은 예를 들어 복사하여 붙여 넣을 수있는 예입니다. 내가 놓친 것은 구문에 대한 설명, 명령의 의미에 대한 설명 및 명령에 필요한 순서입니다. 새로운 기계에서 작업하지 않기 때문에 대부분의 복사-붙여 넣기로 충분하지 않기 때문에 이해하고 싶습니다. 따라서 기존 구성을 덮어 쓸 수 없기 때문에 많은 것들이 깨질 수 있습니다. man interfaces매우 복잡하게 작성되었으므로 별 도움이되지 않았습니다.

내가 가진 질문 예 : inetiface줄 에서 정확히 무엇을 의미합니까 (맨 페이지에서 찾을 수조차 없음), manualiface줄 에서 정확히 무엇을 의미 하는지 (많은 예제에서 사용하지만 맨 페이지에 따르면 추가 구성 파일이 필요합니다. 예가 제시되지 않음), 언제 사용하거나 필요합니까? 언제? 브리지를 만들 때 인터페이스는 어떻게됩니까?


4
매뉴얼 페이지에 인터페이스 이름 다음에 나오는 것은 인터페이스가 사용하는 주소 패밀리입니다. "inet"은 IPv4의 이름, ipv6의 경우 inet6입니다. ipup, x25, appletalk ...도 있지만 ifupdown은 매뉴얼 페이지에서 설명하는 것처럼 inet / inet6 / ipx 만 처리합니다. manualupupdown이 그들에 대해 아무 것도하지 않으면 스스로 수동으로해야한다는 것을 의미합니다.
Stéphane Chazelas

답변:


168

이해하기 쉽도록 조각으로 나눕니다 /etc/network/interfaces.

링크 계층 + 인터페이스 유형 옵션 (일반적으로 각 인터페이스 스탠자 중 첫 번째이며 주소 계열 + interfaces(5)맨 페이지 별 메소드라고 함 ) :

auto interface– 부팅시 인터페이스를 시작하십시오. lo인터페이스가 이런 종류의 연결 구성을 사용하는 이유 입니다.

allow-auto interface – 동일 auto

allow-hotplug interface– "핫 플러그"이벤트가 감지되면 인터페이스를 시작하십시오. 실제 환경에서는 이와 동일한 상황에서 사용 auto되지만 차이점은 "udev hotplug api에 의해 감지 됨"또는 "케이블 연결됨"과 같은 이벤트를 기다리는 것입니다. 추가 정보는 " 관련 항목 (hotplug) "을 참조하십시오 .

이러한 옵션은 인터페이스에서 링크 상태를 설정하는 "계층 2"옵션과 거의 유사하며 "계층 3"(라우팅 및 주소 지정)과 관련이 없습니다. 예를 들어, 링크 상태에 관계없이 bond0 인터페이스가 작동해야하고 링크 상태 이벤트 후에 구성원이 작동하는 링크 집계가있을 수 있습니다.

auto bond0
iface bond0 inet manual
        down ip link set $IFACE down
        post-down rmmod bonding
        pre-up modprobe bonding mode=4 miimon=200
        up ip link set $IFACE up mtu 9000
        up udevadm trigger

allow-hotplug eth0
iface eth0 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

allow-hotplug eth1
iface eth1 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

따라서이 방법으로 링크 집계를 작성 하면 인터페이스가 추가되어 케이블 링크 상태에서 제거됩니다.

가장 일반적인 인터페이스 유형 :

아래의 모든 옵션은 정의 된 인터페이스의 접미사입니다 ( iface <Interface_family>). 기본적으로 이더넷 장치에서 iface eth0호출되는 스탠자를 작성합니다 eth0. 지점 간 인터페이스 iface ppp0 작성해야하며 , 이 인터페이스의 구성을 스크립트로 전달하는 것과 같은 주소를 얻는 다른 방법이있을 수 있습니다 . 투플 / +는 의 버전을 정의한다 IP 프로토콜이 사용되며,이 어드레스를 구성한다 방법 ( , , ...)를. 온라인 데비안 매뉴얼은 당신이에 대한 자세한 내용을 제공 할 것입니다.inet wvdialwvdialconfinetinet6optionstaticdhcpscripts

이더넷 인터페이스 옵션 :

inet static – 고정 IP 주소를 정의합니다.

inet manual– 인터페이스의 IP 주소를 정의하지 않습니다. 브리지 또는 집계 멤버 인 인터페이스, 무차별 모드로 작동해야하는 인터페이스 ( 예 : 포트 미러링 또는 네트워크 TAP ) 또는 VLAN 장치가 구성된 인터페이스에서 일반적으로 사용됩니다 . IP 주소없이 인터페이스를 유지하는 방법입니다.

inet dhcp – DHCP 프로토콜을 통해 IP 주소를 얻습니다.

inet6 static – 정적 IPv6 주소를 정의합니다.

예:

# Eth0
auto eth0
iface eth0 inet manual
    pre-up modprobe 8021q
    pre-up ifconfig eth0 up
    post-down ifconfig eth0 down

# Vlan Interface
auto vlan10
iface vlan10 inet static
        address 10.0.0.1
        netmask 255.255.255.0
        gateway 10.0.0.254
        vlan-raw-device eth0
        ip_rp_filter 0

이 예는 나타납니다 eth0업, 만들 VLAN 인터페이스 라는 vlan10이더넷 프레임에 태그 번호 (10)를 처리합니다.

인터페이스 스탠자 (계층 2 및 3) 내의 공통 옵션 :

address – 고정 IP 구성 인터페이스의 IP 주소

netmask– 네트워크 마스크. cidr 주소를 사용하면 생략 할 수 있습니다. 예:

iface eth1 inet static
    address 192.168.1.2/24
    gateway 192.168.1.1

gateway– 서버의 기본 게이트웨이. 이 사람 중 한 명만 사용하도록주의하십시오.

vlan-raw-device – VLAN 인터페이스에서 "father"를 정의합니다.

bridge_ports – 브릿지 인터페이스에서 구성원을 정의하십시오.

down– 대신 다음 명령을 사용하여 인터페이스를 종료하십시오 ifdown.

post-down – 인터페이스가 다운 된 직후에 수행 된 조치.

pre-up – 인터페이스가 작동하기 전의 조치.

up– 인터페이스 대신 다음 명령을 사용하십시오 ifup. 에서 사용할 수있는 옵션을 사용하는 것은 당신의 상상력에 달려 있습니다 iputils. 예를 들어 옵션 자체 를 사용하는 대신 작업 중에 점보 프레임up ip link set $IFACE up mtu 9000 을 활성화 하는 데 사용할 수 있습니다 . 인터페이스가 작동 된 후 5 초 동안 100Mbps 전이중을 강제 실행 하는 등 다른 소프트웨어를 호출 할 수도 있습니다 .upmtuup sleep 5; mii-tool -F 100baseTx-FD $IFACE

hwaddress ether 00:00:00:00:00:00-ROM으로 하드 코딩되거나 알고리즘으로 생성 된 인터페이스를 사용하는 대신 인터페이스의 mac 주소를 변경하십시오. 키워드 random를 사용하여 무작위 Mac 주소를 얻을 수 있습니다 .

dns-nameservers– 네임 서버의 IP 주소. resolvconf패키지가 필요합니다 . DNS 관련 구성 /etc/network/interfaces에 사용 /etc/resolv.conf하는 대신 모든 정보를 집중시키는 방법 입니다. resolv.conf구성 파일은 시스템의 프로그램에 의해 동적으로 변경되므로 수동으로 편집하지 마십시오 .

dns-search example.net– example.net을 호스트로 쿼리하여 도메인으로 추가하여 FQDN을 만듭니다. 옵션 domain/etc/resolv.conf

wpa-ssid – 무선 : 무선 WPA SSID를 설정합니다.

mtu- MTU 크기입니다. mtu 9000= 점보 프레임. Linux 박스가 더 큰 MTU 크기를 지원하는 스위치와 연결된 경우에 유용합니다. 일부 프로토콜을 손상시킬 수 있습니다 (SNMP 및 점보 프레임에 나쁜 경험이있었습니다).

wpa-psk – 무선 : SSID에 16 진수로 인코딩 된 PSK를 설정합니다.

ip_rp_filter 1- 역방향 경로 필터가 활성화되었습니다. 호스트에 대한 2 개의 경로가있는 상황에서 유용하며, 이로 인해 패킷이 원래 위치 (라우트를 사용하는 동일한 인터페이스)에서 패킷이 되돌아 오게됩니다. 예 : lan ( 192.168.1.1/24) 에 연결되어 있고 lan ( )에 하나의 인터페이스 192.168.1.10/24와 dmz에 다른 인터페이스가있는 dlna 서버가있어 관리 작업 ( 172.16.1.1/24) 을 실행할 수 있습니다. 컴퓨터에서 dlna dmz ip 로의 ssh 세션 중에는 정보를 다시 가져와야하지만 dlna 서버가 LAN 인터페이스를 통해 직접 응답을 전달하려고하기 때문에 영원히 중단됩니다. rp_filter를 사용하면 연결이 원래 위치에서 다시 시작되도록합니다. 자세한 내용은 여기를 참조 하십시오 .

이러한 옵션 중 일부는 선택 사항이 아닙니다. 예를 들어 넷 마스크없이 인터페이스에 IP 주소를 넣으면 데비안에서 경고합니다.

네트워크 구성에 대한 더 좋은 예는 여기에서 찾을 수 있습니다 .

관련 자료 :

/etc/network/interfaces네트워크 구성 파일 과 관련된 정보가있는 링크 :


고마워, 이것은 많은 도움이됩니다. 합니까는 inet"인터넷"과 아무 상관이있다? 나는 그것이 단지 "IPv4"를 inet6의미하고 "IPv6"을 의미한다고 somehwere를 읽었 지만 "inet"이라는 용어는 당신이 그것을보고 "인터넷"의 줄임말로 혼동 할 때 실제로 혼동된다. 그리고 사람들이 사용하는 이름 eth0은 이것들과 같이 정의되어 있습니까, 아니면 직접 선택할 수 있습니까? LAN 어댑터가 두 개 이상인 경우 어느 LAN 어댑터에 eth속하는 지를 어떻게 알 수 있습니까?
Foo Bar

2
양자 모두. 그들은 함께 IP 주소 획득 방법 (dhcp, static, ppp 스크립트, 주소 없음)과 ip 프로토콜 버전 ( inet= v4 및 inet6= v6)을 정의합니다. 인터페이스 이름은 사용중인 배포판에 따라 다르며 udev구성 방법 이 다릅니다 . 데비안은 사용 eth*wlan*케이블 및 무선 인터페이스. Fedora는 biosdevname 구성표를 사용합니다. 여기서는 em0마더 보드의 첫 번째 내장 이더넷 인터페이스 p<slot>p<eth port>이며 PCI nic의 이름입니다. 에서 네트워크 이름을 수정 /etc/udev/rules.d/70-persistent-net.rules하거나에 별칭을 만들 수 있습니다 interfaces.

2
"게이트웨이-서버의 기본 게이트웨이입니다.이 사람 중 하나만 사용하도록주의하십시오." 스탠 자당 하나입니까, 모든 스탠자 중 하나의 게이트웨이 인터페이스입니까?
ctbrown

2
모든 스탠자간에 하나의 게이트웨이 여야합니다. 그렇지 않으면 기본 경로에 문제가 있습니다. 멀티 게이트웨이 / 멀티 링크로 작업하려면 iptables + 패키지 마킹 + ip 규칙에 대한 일부 사고가 필요합니다.

하나의 작은 쿼리,이 파일에 iface eth0 inet 정적이 있고 주소 필드에 대해 IP를 쓰면 방금 쓴이 특정 IP가 내 시스템의 MAC 주소에 본딩됩니까?
k10

0

나는 또한 그것을 추가 할 것이다 :

  • 인터페이스는 ifup / ifdown 서비스를위한 것입니다.
  • allow-hotplug를 사용하면 ifup / ifdown으로 시작하지 않습니다. bcos u는 --allow = hotplug 플래그를 사용해야합니다.

U는 --verbose 플래그를 사용하여 ifup에서 발생하는 상황을 추적 할 수 있습니다.

이것은 100 % 확실하지는 않지만 기본적으로 ifup이 호출되면 u는 / etc / network / interfaces에서 up으로 모두 실행됩니다.

서비스 네트워킹과 관련이 있는지 확실하지 않습니다.

누군가 전화 후 무슨 일이 일어나고 있는지 지적하면 좋을 것입니다.

service networking restart

ifup / ifdown과 관련하여.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.