내가 아는 한 기본 네트워크 구성이 시작되고 /etc/network/interfaces
시스템은 이러한 정보로부터 라우팅 테이블을 생성합니다. 나는 또한 일반적으로 /etc/network/interfaces
라우팅 테이블을 조작하기 위해 사용자 정의 명령을 영구적으로 추가하는 곳이라는 것을 배웠습니다 (때로는 /etc/rc.local
또는 의 사용자 정의 스크립트 도 제안됨 /etc/network/if-up.d/
). 또한 .NET에서 사용자 정의 라우팅 테이블을 지정할 수도 있습니다 /etc/iproute2/rt_tables
.
- (기본) 라우팅 테이블에 영향을 미치는 다른 장소가 있습니까?
- 특히,
/etc/network/interfaces
수동으로 추가/삭제된 경로를 영구적으로 만드는 것 외에 다른 가능성이 있습니까?
- 특히,
- 여러 NIC가 있는 시스템에 다음과 같은 개념이 있습니까?주요한그리고보조 네트워크 인터페이스아니면 사용자를 돕기 위해 사용되는 문구입니까? (설정 중에 적절한 설명이 포함되어 있는지 기본을 선택해야 합니다
/etc/network/interfaces
.) 그러한 개념이 존재하는 경우 어디에서 구성할 수 있습니까? - Debian Squeeze와 Debian Jessie 사이에 라우팅 테이블 개념에 차이점이 있나요?
내 질문의 배경은 다른 라우팅 테이블로 부팅되지만 (내가 알 수 있는 한) 동일하게 구성되는 레거시 Debian Squeeze 시스템과 새로운 Debian Jessie 시스템이 있다는 것입니다. 필요에 맞게 라우팅 테이블을 수동으로 조작하고 변경 사항을 영구적으로 적용할 수 있지만 /etc/network/interfaces
무슨 일이 일어나고 있는지 이해하고 싶습니다.
편집하다
두 컴퓨터의 구성 파일은 다음과 같습니다. 개인정보 보호를 위해 각 IP 주소의 첫 부분을 변경했습니다. 그러나 각 네트워크의 서브넷과 주소 부분은 변경되지 않았습니다. /etc/network/interfaces.d/
Jessie 머신의 디렉토리가 비어 있습니다 .
/etc/iproute2/rt_tables
제시에
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
/etc/iproute2/rt_tables
스퀴즈 시
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
/etc/rc.local
제시에
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
/etc/rc.local
스퀴즈 시
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
/etc/network/interfaces
제시에
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address 143.103.155.254
netmask 255.255.255.0
network 143.103.155.0
gateway 143.103.155.254
# The primary network interface
auto eth2
iface eth2 inet static
address 27.126.19.194
netmask 255.255.255.248
network 27.126.19.192
broadcast 27.126.19.199
gateway 27.126.19.193
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 143.103.5.1
dns-search subdomain.domain.de
/etc/network/interfaces
스퀴즈 시
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 143.103.155.254
netmask 255.255.255.0
network 143.103.155.0
gateway 143.103.155.254
auto eth2
iface eth2 inet static
address 27.126.19.194
netmask 255.255.255.248
network 27.126.19.192
broadcast 27.126.19.199
gateway 27.126.19.193
ip route show table main
Jessie 의 출력
default via 143.103.155.254 dev eth1
143.103.155.0/24 dev eth1 proto kernel scope link src 143.103.155.254
27.126.19.192/29 dev eth2 proto kernel scope link src 27.126.19.194
ip route show table main
Squeeze 의 출력
27.126.19.192/29 dev eth2 proto kernel scope link src 27.126.19.194
143.103.155.0/24 dev eth0 proto kernel scope link src 143.103.155.254
default via 27.126.19.193 dev eth2
default via 143.103.155.254 dev eth0 scope link
route -n
Jessie 의 출력
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 143.103.155.254 0.0.0.0 UG 0 0 0 eth1
143.103.155.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
27.126.19.192 0.0.0.0 255.255.255.248 U 0 0 0 eth2
route -n
Squeeze 의 출력
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
27.126.19.192 0.0.0.0 255.255.255.248 U 0 0 0 eth2
143.103.155.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 27.126.19.193 0.0.0.0 UG 0 0 0 eth2
0.0.0.0 143.103.155.254 0.0.0.0 UG 0 0 0 eth0
답변1
당신 둘 다/etc/네트워크/인터페이스파일에는 동일한 오류가 하나 포함되어 있습니다. 기본 게이트웨이가 두 번 지정되었습니다.
매우 특정한 상황(메트릭 무시)에서만 여러 개의 기본 게이트웨이를 가질 수 있습니다. 즉, 각각 파일에 지정된 여러 개의 라우팅 테이블이 있는 경우입니다./etc/iproute2/rt_tables그러나 각 라우팅 테이블에는하나의기본 게이트웨이.
대신 각 인터페이스에 대해 하나씩 지정합니다.아주 똑같은 테이블 기본. 따라서 여기서 볼 수 있는 것은 구현에 있어서 약간의 차이가 있다는 것입니다.iproute2패키지 및 오류에 응답하는 방법.
의 경우제시, 처음 언급된 게이트웨이인 143.103.155.254를 유일한 게이트웨이로 설정합니다. 이는 단순히 처음 언급되었기 때문입니다. 두 번째 게이트웨이인 27.126.19.193이 선언되면 아무 일도 일어나지 않습니다.~ 아니다앞에
ip route del default
대신 Squeeze는 다른 방식으로 오류를 처리합니다.범위두 번째 관문의로컬 링크. 자세한 내용은범위, 보다iproute2 매뉴얼, 이는 다음과 같습니다.
범위 링크 --- 주소는 링크 로컬이며 이 장치에서만 유효합니다.
위키피디아다음과 같이 말합니다.
컴퓨터 네트워크에서 링크 로컬 주소는 호스트가 연결된 네트워크 세그먼트(링크) 또는 브로드캐스트 도메인 내 통신에만 유효한 네트워크 주소입니다.
따라서 범위(부정확한 동의어:범위) 두 번째 게이트웨이의 네트워크 세그먼트(즉, 브로드캐스트 도메인 143.103.155.0/24). 따라서 Jessie도 동일한 라우팅 테이블에 여러 게이트웨이를 잘못 선언한 문제를 다른 방식으로 처리했습니다.
물론 없습니다.예상되는 동작패키지가 오류를 처리하는 방법에 대해 설명합니다. 올바른 설정 방법/etc/네트워크/인터페이스파일은 진술을 생략하는 것입니다
gateway 143.103.155.254
(이것은 또한 자신의 PC의 게이트웨이가 ... 그 자체라고 말하기 때문에 이상합니다!) 이에 대한 좋은 설명을 보려면 다음을 읽으십시오.여기에 초기 솔루션 단락이 있습니다.; 나중에 여러 라우팅 테이블을 사용하여 여러 게이트웨이를 추가하는 방법도 설명합니다.
만약 당신이 주장하는 대로라면,
확인을 위해 다시 시도할 수 있지만 이미 시도했지만 여전히 외부 IP에 연결할 수 없다고 확신합니다.
이는 한 인터페이스에서 다른 인터페이스로의 IPv4 전달을 허용하지 않았기 때문일 가능성이 높습니다(예: sudo:
echo 1 > /proc/sys/net/ipv4/ip_forward
처리합니다) 또는 iptables 규칙이 전달을 차단했기 때문입니다.
답변2
Squeeze와 Jessie의 주요 차이점은 명령이 첫 번째와 마지막을 ip
호출한다는 것입니다.ifconfig
iproute2
ifconfig는 적어도 메트릭 없이 여러 게이트웨이 구성을 알지 못합니다. 그렇기 때문에 두 ip route
명령 (또는 route -n
(더 이상 사용되지 않음)) 간의 차이점을 볼 수 있습니다.
iproute2는 여러 라우팅 테이블을 추적할 수 있습니다.
ip route show all
기본 및 보조 네트워크 인터페이스의 개념은 이를 구별하기 위한 방법일 뿐이며 일반적으로 eth0(1st) 및 eth1(2nd)이라고 부르지만 순서는 다를 수 있습니다!
/etc/network/interfaces
그리고 그렇습니다. 다음과 같이 영구 경로를 설정할 수 있습니다 up
.
up ip route add 1.2.3.4/24 via 1.2.3.1