파일의 실제 목적은 무엇입니까 /etc/networks
? 내가 이해한 바에 따르면 사람들은 이 파일에서 네트워크 이름을 지정할 수 있습니다. 예를 들어:
root@fw-test:~# cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0
google-dns 8.8.4.4
root@fw-test:~#
ip
그러나 유틸리티에서 이 네트워크 이름을 사용 하려고 하면 작동하지 않습니다.
root@fw-test:~# ip route add google-dns via 104.236.63.1 dev eth0
Error: an inet prefix is expected rather than "google-dns".
root@fw-test:~# ip route add 8.8.4.4 via 104.236.64.1 dev eth0
root@fw-test:~#
파일의 실제 목적은 무엇입니까 /etc/networks
?
답변1
에 쓰여진 대로매뉴얼 페이지, /etc/networks
네트워크를 설명하기 위해 이 파일에서 사용하는 기호 이름입니다. 네트워킹의 경우 .0
끝에 후행 문자가 있는 네트워크 주소를 나타냅니다 . 간단한 클래스 A, B 또는 C 네트워크만 지원됩니다.
귀하의 예에서는 google-dns
입력이 잘못되었습니다. A, B, C 네트워크가 아닙니다. 이는 IP 주소-호스트 이름-관계이므로 /etc/hosts
실제로 default
해당 항목도 요구 사항을 충족하지 않습니다.
192.168.1.5
회사 네트워크의 IP 주소가 있다고 가정해 보겠습니다 . 항목은 다음 /etc/network
과 같습니다.
corpname 192.168.1.0
route
이러한 네트워크는 또는 같은 유틸리티를 사용할 때 netstat
변환됩니다 ( -n
이 플래그를 사용하여 구문 분석을 억제하지 않는 경우). 라우팅 테이블은 다음과 같습니다.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
corpname * 255.255.255.0 U 0 0 0 eth0
답변2
또한 이 ip
명령은 입력에 호스트 이름을 사용하지 않으므로 예제는 거의 관련이 없습니다. 또한 /etc/networks
네트워크 이름이 아닌 호스트 이름을 입력했습니다!
항목은 /etc/networks
(더 이상 사용되지 않음) 명령과 같이 숫자를 이름으로 변환하는 도구에서 사용됩니다 route
. 적합한 항목이 없으면 다음이 표시됩니다.
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.254.0 U 0 0 0 eth0
mylocalnet 192.168.0.0
이제 다음 줄을 추가하면 /etc/networks
:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
mylocalnet * 255.255.254.0 U 0 0 0 eth0
실제로는 실제로 사용되지 않습니다.