직원 여러분, 아래 라우팅 테이블을 참조하시기 바랍니다. dev ens160은 172.17.4.x에서 들어오는 ping 요청을 수락하고 dev tun0을 통해 응답합니다.
- "0.0.0.0/1"과 "기본값"의 차이점은 무엇입니까?
- 172.17.4.x에서 ens160까지의 트래픽에 응답하려면 어떤 변경이 필요합니까?
호스트: 172.31.4.225
Lan: 172.31.4.0/24
GW: 172.31.4.1
tun0: 인터넷에 액세스하기 위한 터널(openvpn)
ens160: 가상 머신 네트워크 인터페이스
원격 클라이언트: 172.17.4.x
# ip route
0.0.0.0/1 via 10.z.0.1 dev tun0
default via 172.31.4.1 dev ens160 proto dhcp src 172.31.4.225 metric 100
10.z.0.0/16 dev tun0 proto kernel scope link src 10.z.0.6
128.0.0.0/1 via 10.23.0.1 dev tun0
172.16.0.0/16 via 172.31.4.1 dev ens160
172.31.4.0/24 dev ens160 proto kernel scope link src 172.31.4.225
172.31.4.1 dev ens160 proto dhcp scope link src 172.31.4.225 metric 100
u.w.x.y via 172.31.4.1 dev ens160
192.168.19.0/24 dev br-<snip> proto kernel scope link src 192.168.19.1
192.168.68.0/24 dev docker0 proto kernel scope link src 192.168.68.1 linkdown
답변1
0.0.0.0/1 via 10.z.0.1 dev tun0 128.0.0.0/1 via 10.z.0.1 dev tun0
이 두 규칙은 함께 전체 0.0.0.0/0
(0.0.0.0에서 127.255.255.255까지의 첫 번째 IP 주소, 128.0.0.0에서 255.255.255.255까지의 두 번째 IP 주소)를 다루며 다음보다 우선합니다.
default via 172.31.4.1 dev ens160 proto dhcp src 172.31.4.225 metric 100
규칙은 범위가 좁기 때문에 default
존재합니다 .0.0.0.0/0
openvpn
이것들은 적어도 당신이 그것들을 사용할 때 추가됩니다 --redirect-gateway def1
.
매뉴얼 페이지에서:
정의 1 0.0.0.0/0 대신 0.0.0.0/1 및 128.0.0.0/1을 사용하여 기본 게이트웨이를 재정의하려면 이 플래그를 사용합니다. 이는 원래 기본 게이트웨이를 덮어쓰지만 지우지 않는다는 장점이 있습니다.
답변2
주목해야 할 중요한 점은 /1
첫 번째소량IP 주소는 이어야 합니다 0
. 첫 번째 숫자가 로 설정된 IP 주소는 1
일치하지 않습니다. 일치하는 다른 규칙이 없으면 기본 규칙은 모든 IP 주소와 일치합니다. 실제로 이는 0.0.0.0/1
IP 주소가 로컬 루프백이고 라우팅되지 않기 때문에 실제로는 ...에만 일치한다는 0.0.0.0
것을 의미 합니다. 기본 규칙이 적용되므로 모든 IP 주소와 일치합니다.127.x.x.x
0.0.0.0
126.x.x.x
127.x.x.x
0.0.0.0/0
라우팅 테이블에도 규칙이 있다는 점에 유의하세요 128.0.0.0/1
. 모든 IPv4 주소는 다음 중 하나와 일치하므로 0.0.0.0/1
기본 128.0.0.0/1
규칙은 사용되지 않습니다.
172.17.4.x에서 ens160까지의 트래픽에 응답하려면 어떤 변경이 필요합니까?
로 172.17.4.0/24
라우팅 할 다른 규칙을 추가합니다 . 이것ens160
172.31.4.1
~해야 한다이 라우팅 테이블은 이미 172.31.4.1
허용 가능한 기본 게이트웨이를 고려하고 있으므로 허용 가능합니다. 이 결과를 얻는 이유는 처음 3바이트(3 x 8비트)가 /24
( )의 처음 3바이트와 일치해야 하고 4번째 바이트는 신경 쓰지 않기 때문입니다.172.31.4.0
172
31
4
x