를 사용하는 방법에 대한 매우 기본적인 개념을 이해했지만 /etc/network/interfaces
온라인에서 찾은 것은 복사하여 붙여넣을 수 있는 예제뿐이었습니다. 내가 놓친 것은 구문에 대한 설명, 명령의 의미에 대한 설명, 명령에 필요한 순서입니다. 대부분의 경우 복사-붙여넣기만으로는 충분하지 않고 새로운 컴퓨터에서 작업하는 것이 아니기 때문에 많은 내용이 손상될 수 있으므로 기존 구성을 덮어쓸 수 없다는 점을 이해하고 싶습니다. man interfaces
매우 복잡하게 작성되었기 때문에 별로 도움이 되지 않았습니다.
내가 가지고 있는 질문 예: inet
한 iface
줄이 정확히 무엇을 의미하는지(맨페이지에서도 찾을 수 없음), manual
한 iface
줄이 정확히 무엇을 의미하는지(많은 예제에서 사용하지만 맨페이지에 따르면 추가 구성 파일이 필요합니다. 예제가 존재하지 않음), 언제 사용하거나 필요합니까? 그렇지 않을 때는? 브리지를 생성하면 인터페이스는 정확히 어떻게 됩니까?
답변1
그럼 이해하기 쉽도록 여러 부분으로 나누어 보겠습니다 /etc/network/interfaces
.
링크 레이어+인터페이스 유형 옵션(일반적으로 각 인터페이스의 첫 번째절그리고 주소 패밀리 + 메소드를 다음과 같이 호출했습니다.interfaces(5)
맨페이지):
auto interface
– 부팅 시 인터페이스를 시작합니다. 이것이 lo
인터페이스가 이러한 종류의 연결 구성을 사용하는 이유입니다.
allow-auto interface
– 동일auto
allow-hotplug interface
– "핫플러그" 이벤트가 감지되면 인터페이스를 시작합니다. 실제 세계에서는 와 동일한 상황에서 사용되지만 auto
차이점은 "udev hotplug api에 의해 감지됨" 또는 "케이블 연결됨"과 같은 이벤트를 기다린다는 것입니다. 보다 "관련 항목(핫플러그)"를 참조하세요.
이러한 옵션은 인터페이스에 링크 상태를 설정하는 "계층 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
을 생성해야지점 간inet wvdial
인터페이스이며, 이 인터페이스의 구성을 스크립트로 전달하는 것과 같은 주소를 획득하는 다양한 방법이 있을 수 있습니다 wvdialconf
. 튜플 inet
/ inet6
+는 option
버전을 정의합니다.IP 프로토콜사용될 주소와 이 주소가 구성되는 방식( static
, dhcp
, scripts
...). 그만큼온라인 데비안 매뉴얼이에 대한 자세한 내용을 알려드리겠습니다.
이더넷 인터페이스 옵션:
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 인터페이스에서 "아버지"를 정의합니다.
bridge_ports
– 브릿지 인터페이스에서 해당 멤버를 정의하십시오.
down
– 대신 다음 명령을 사용하여 인터페이스를 종료합니다 ifdown
.
post-down
– 인터페이스가 다운된 직후에 수행되는 작업입니다.
pre-up
– 인터페이스가 가동되기 전의 작업.
up
– 대신 다음 명령을 사용하여 인터페이스를 활성화합니다 ifup
. 에서 사용 가능한 옵션을 사용하는 것은 귀하의 상상력에 달려 있습니다 iputils
. 예를 들어 up ip link set $IFACE up mtu 9000
다음을 활성화하는 데 사용할 수 있습니다.점보 프레임( 옵션 자체를 up
사용하는 대신 mtu
) up sleep 5; mii-tool -F 100baseTx-FD $IFACE
인터페이스가 작동되고 5초 후에 100Mbps 전이중을 강제하는 것과 같은 다른 소프트웨어를 호출할 수도 있습니다 .
hwaddress ether 00:00:00:00:00:00
- ROM에 하드코딩되거나 알고리즘에 의해 생성된 인터페이스의 MAC 주소를 사용하는 대신 인터페이스의 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( )에 연결되어 있고 lan( )에 하나의 인터페이스가 있고 관리 작업( )을 실행하기 위해 dmz에 다른 인터페이스가 192.168.1.1/24
있는 dlna 서버가 있습니다 . 컴퓨터에서 dlna dmz ip로 SSH 세션을 진행하는 동안 정보가 다시 사용자에게 제공되어야 하지만 dlna 서버가 LAN 인터페이스를 통해 직접 응답을 전달하려고 시도하기 때문에 영원히 중단됩니다. rp_filter를 활성화하면 연결이 원래 있던 곳에서 다시 돌아오게 됩니다. 추가 정보192.168.1.10/24
172.16.1.1/24
여기.
이러한 옵션 중 일부는 선택 사항이 아닙니다. 예를 들어, 넷마스크 없이 인터페이스에 IP 주소를 입력하면 데비안에서 경고를 표시합니다.
네트워크 구성의 더 좋은 예를 찾을 수 있습니다여기.
관련 물건:
/etc/network/interfaces
네트워크 구성 파일 과 관련된 정보가 있는 링크 :
답변2
나는 또한 다음과 같이 덧붙이고 싶습니다.
- 인터페이스는 ifup/ifdown 서비스용입니다.
- Allow-hotplug를 사용하면 ifup/ifdown으로 시작되지 않으므로 --allow=hotplug 플래그를 사용해야 합니다.
--verbose 플래그를 사용하여 ifup에서 무슨 일이 일어나고 있는지 추적할 수 있습니다.
나는 이것을 100% 확신하지는 않지만 기본적으로 ifup이 호출될 때 달리 명시되지 않은 경우 up ...을 사용하여 /etc/network/interfaces에서 모든 것을 실행하는 것 같습니다.
나는 그것이 어떻게 관련되어 있는지 잘 모르겠습니다 : 서비스 네트워킹 ...
통화 후 무슨 일이 일어나고 있는지 누군가가 지적해 준다면 좋을 것입니다.
service networking restart
ifup/ifdown과 관련하여.
답변3
패키지를 사용할 때 옵션을 추가해야 하는 경우 resolvconf
(예: Ubuntu에서 해당 구성을 다음 위치에 입력 /etc/resolvconf/resolv.conf.d/base
)
# /etc/resolvconf/resolv.conf.d/base
options timeout:1 attempts:1 rotate
답변4
속성 이름에서 중요한 점은 다음과 같습니다.
표준 설명이 포함된 파일이 없습니다. 이는 이 파일이 구현이 정의되었음을 의미합니다.
소문자, 대문자 또는 혼합형일 수 있습니다.
'-' 또는 '_'는 중요하지 않습니다.
공백과 탭을 포함할 수 없습니다.
"pre-up" "down" 등과 같은 일부 일반적인 이름을 제외하고는 다른 방법으로 쓸 수 없습니다.