![서로 다른 서브넷 간 라우팅](https://linux55.com/image/162476/%EC%84%9C%EB%A1%9C%20%EB%8B%A4%EB%A5%B8%20%EC%84%9C%EB%B8%8C%EB%84%B7%20%EA%B0%84%20%EB%9D%BC%EC%9A%B0%ED%8C%85.png)
두 개의 서브넷 S1 (10.3.0.0/24)
과 . 머신에는 IP가 있는 서브넷에 대해 하나의 NIC만 있습니다. Machine에서 Machine의 IP 주소를 ping하면 응답을 받습니다(같은 서브넷에 있기 때문입니다). 하지만 머신에서 머신의 IP를 핑하면 아무 일도 일어나지 않습니다.S2 (10.3.120.0/24)
A
B
A
10.3.0.4
eth0
S1
10.3.120.254
eth1
S2
B
S2
10.3.120.4
A
10.3.120.254
B
A
10.3.0.4
B
기계에 있는 경로는 다음과 같습니다.A
[me@MachineA ~]$ ip route show
default via 10.3.0.1 dev eth0 proto dhcp metric 100
10.3.0.0/24 dev eth0 proto kernel scope link src 10.3.0.4 metric 100
10.3.120.0/24 dev eth1 proto kernel scope link src 10.3.120.254 metric 101
이것은 Machine 의 경로입니다 B
.
[me@MachineB ~]$ ip route show
default via 10.3.120.254 dev eth0
10.3.120.0/24 dev eth0 proto kernel scope link src 10.3.120.4 metric 100
자세한 내용은 Firewalld가 Machine 에서는 실행되고 있지만 A
Machine 에서는 실행되지 않습니다 B
. 이것은 Machine 의 방화벽 구성입니다 A
.
[me@MachineA ~]$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth1 eth0
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks: echo-reply
rich rules:
내가 여기서 무엇을 놓치고 있는지 궁금합니다. 동일한 시스템에 대한 두 개의 서로 다른 IP 주소이고 Machine의 기본 경로가 Machine에 패킷을 전달해야 하는데 ping을 하면 응답을 받지만 10.3.120.254
ping을 하면 응답이 없는 이유는 무엇입니까 ?10.3.0.4
B
A
편집하다: 이것은 기기의 IP 설정입니다 A
.
[me@MachineA ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:a3:6f:74 brd ff:ff:ff:ff:ff:ff
inet 10.3.0.4/24 brd 10.3.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::20d:3aff:fea3:6f74/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:09:0a:13 brd ff:ff:ff:ff:ff:ff
inet 10.3.120.254/24 brd 10.3.120.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::8fd2:7210:82b3:d056/64 scope link noprefixroute
valid_lft forever preferred_lft forever
이것은 컴퓨터의 IP 구성입니다.B
[me@MachineB ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:09:38:1f brd ff:ff:ff:ff:ff:ff
inet 10.3.120.4/24 brd 10.3.120.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::20d:3aff:fe09:381f/64 scope link
valid_lft forever preferred_lft forever
편집 2:경로를 추가하려고 합니다
ip route add 10.3.0.0/24 via 10.3.120.254 dev eth0
하지만 여전히 쓸모없어
편집 3B
: Machine에서 머신을 ping 할 수 A
있고 머신에서 패킷 전달이 활성화됩니다 A
.
[me@MachineA ~]$ cat /proc/sys/net/ipv4/ip_forward
1
답변1
B에게 다음을 알려주는 경로를 B에 추가해 볼 수 있습니다.
10.3.120.254를 통해 서브넷 10.3.0.0/24로 이동