2개의 이더넷 카드가 있는 기계가 있습니다. 하나는 단일 인터페이스를 가지고 있고 다른 하나는 4개의 인터페이스를 가지고 있습니다.
나는 이 컴퓨터(호스트)에 액세스(ssh 등)하는 방법으로 단일 인터페이스 카드(내 LAN에 연결되어야 함)를 사용할 계획입니다.
그런 다음 macvtap을 사용하여 두 번째 카드의 4개 포트 각각에 하나씩 4개의 VM(libvirt 사용)을 실행할 계획입니다. 일부는 내 LAN에 연결되고 일부는 내 DMZ(이전 SonicWall에서 관리됨)에 연결됩니다.
예:
<network>
<name>my-ubuntu-network</name>
<uuid>aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa</uuid>
<forward dev='e1' mode='bridge'>
<interface dev='e1'/>
</forward>
</network>
2개의 가상머신을 설정했고 잘 작동하고 있습니다. 내 모든 인터페이스는 Sonicall DHCP에서 MAC을 통해 올바른 IP를 얻습니다. 두 도메인 모두에 정의된 MAC도 SonicWall에서 올바른 IP를 가져옵니다(둘 다 DMZ에 있음).
그런 다음 세 번째 가상 머신(DMZ용)을 만들었습니다. Sonicwall에서 올바른 IP를 가져오지만핑할 수 없어요호스트로부터.
콘솔에 연결하면할 수 있는DMZ의 다른 장치에 ping을 보냅니다. 처음 2명의 게스트 중 1명에게 연결하면할 수 있는핑해 보세요. LAN에 있는 다른 물리적 컴퓨터(DMZ를 볼 수 있음)에서 시도하면할 수 있는핑해 보세요. 내가 손님에게 핑을 보낼 수 없는 유일한 곳인 것 같아요소유자.
IP 링크 표시
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: e4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:00:00:00:00:05 brd ff:ff:ff:ff:ff:ff
3: e0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:00:00:00:00:50 brd ff:ff:ff:ff:ff:ff
4: e3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:00:00:00:00:04 brd ff:ff:ff:ff:ff:ff
5: e2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:00:00:00:00:07 brd ff:ff:ff:ff:ff:ff
6: e1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:00:00:00:00:06 brd ff:ff:ff:ff:ff:ff
7: macvtap0@e2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 500
link/ether 00:00:00:00:00:73 brd ff:ff:ff:ff:ff:ff
8: macvtap1@e3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 500
link/ether 00:00:00:00:00:03 brd ff:ff:ff:ff:ff:ff
9: macvtap2@e4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 500
link/ether 00:00:00:00:00:33 brd ff:ff:ff:ff:ff:ff
인터페이스가 좋아 보입니다.
첫 번째 가상 머신은 e2를 사용하도록 설정됩니다. 두 번째 가상 머신은 e3을 사용하도록 설정됩니다. 세 번째 가상 머신은 e4를 사용하도록 설정됩니다.
VM을 핑하기 전에 (호스트에서) arp를 실행하면 이런 결과가 나타납니다.
arp-a
? (10.0.20.10) at 00:00:00:00:00:a6 [ether] on e4
? (10.0.10.100) at 00:00:00:00:00:cb [ether] on e0
10.0.20.10은 DMZ의 관문입니다.
10.0.10.100은 SSH를 사용하여 호스트 시스템에 연결하는 내 노트북의 IP입니다.
노선
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.0.20.10 0.0.0.0 UG 202 0 0 e4
default 10.0.10.10 0.0.0.0 UG 203 0 0 e0
default 10.0.20.10 0.0.0.0 UG 204 0 0 e3
default 10.0.20.10 0.0.0.0 UG 205 0 0 e2
default 10.0.10.10 0.0.0.0 UG 206 0 0 e1
10.0.10.0 0.0.0.0 255.255.255.0 U 203 0 0 e0
10.0.10.0 0.0.0.0 255.255.255.0 U 206 0 0 e1
10.0.20.0 0.0.0.0 255.255.255.0 U 202 0 0 e4
10.0.20.0 0.0.0.0 255.255.255.0 U 204 0 0 e3
10.0.20.0 0.0.0.0 255.255.255.0 U 205 0 0 e2
이는 예상한 대로 경로가 e0 대신 e4를 사용하고 있음을 증명합니다.
호스트에서 첫 번째 VM(10.0.20.71)을 ping하면 응답을 받습니다.
그런 다음 아르페지오를 합니다.
arp-a
? (10.0.20.71) at 00:00:00:00:00:73 [ether] on e4
? (10.0.20.10) at 00:00:00:00:00:a6 [ether] on e4
? (10.0.10.100) at 00:00:00:00:00:cb [ether] on e0
기다린 보람이 있군.
그런 다음 VM 3(10.0.20.72)(네트워크 정의가 e4인 문제가 있는 최신 VM)을 ping하면 실패합니다. arp를 실행하면 다음과 같은 결과를 얻습니다.
arp-a
? (10.0.20.71) at 00:00:00:00:00:73 [ether] on e4
? (10.0.20.10) at 00:00:00:00:00:a6 [ether] on e4
? (10.0.10.100) at 00:00:00:00:00:cb [ether] on e0
? (10.0.20.72) at <incomplete> on e4
보시다시피 불완전한 것처럼 보입니다.
저는 호스트 컴퓨터에서 아치 리눅스를 실행하고 있습니다.
누구든지 이 문제를 해결하기 위해 내가 해야 할 일을 제안할 수 있습니까? 누구든지 내가 문제를 올바르게 식별했는지 확인할 수 있습니까(경로 "우선순위").
e0이 목록의 맨 위에 오도록 측정값을 변경해야 할 것 같습니다.
기본적으로, 무슨 일이 일어나고 있는지 알려줄 수 있는 사람이 있나요? 이 문제를 해결하려면 무엇을 읽고 해야 합니까?
감사해요!