Yerel bir Linux ağ ad alanı hafif VM'yi yerel HOST makinesine bağlamak için bir GRE Tüneli (veya TAP) kullanmaya çalışıyorum. Ana bilgisayardan gelen yanıtların VM'ye geri dönmemesi dışında her şey çalışıyor gibi görünüyor .
Kurulumum:
HOST gerçek IP'si: 10.1.101.101/24
HOST GRE (Kur benzeri):
ip l add dev gre1 type gretap remote 10.1.101.101 local 10.1.101.101 key 101
ip a add dev gre1 10.201.0.2/24
ip l set dev gre1 up
HOST Ağ yapılandırması:
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
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 pfifo_fast state UP group default qlen 1000
link/ether 00:30:1b:42:65:ac brd ff:ff:ff:ff:ff:ff
inet 10.1.101.101/24 brd 10.1.101.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::230:1bff:fe42:65ac/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:50:04:d0:50:0f brd ff:ff:ff:ff:ff:ff
82: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default
link/gre 0.0.0.0 brd 0.0.0.0
83: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
84: gre1@NONE: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65494 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether e2:83:0d:a4:cc:23 brd ff:ff:ff:ff:ff:ff
inet 10.201.0.2/24 scope global gre1
valid_lft forever preferred_lft forever
inet6 fe80::e083:dff:fea4:cc23/64 scope link tentative dadfailed
valid_lft forever preferred_lft forever
HOST yolları:
ip r
default via 10.1.101.1 dev eth0
10.1.101.0/24 dev eth0 proto kernel scope link src 10.1.101.101
10.201.0.0/24 dev gre1 proto kernel scope link src 10.201.0.2
169.254.0.0/16 dev eth0 scope link metric 1000
EV SAHİBİ iptables (IE: boştur iptables -F)
VM Ağı yapılandırması:
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
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: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default
link/gre 0.0.0.0 brd 0.0.0.0
3: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
114: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:00:00:aa:00:00 brd ff:ff:ff:ff:ff:ff
inet 10.201.0.1/24 brd 10.201.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::200:ff:feaa:0/64 scope link
valid_lft forever preferred_lft forever
VM rotaları:
ip r
10.201.0.0/24 dev eth0 proto kernel scope link src 10.201.0.1
Şimdi HOST ping 10.201.0.2VM gelen 10.201.0.1ve yakalama paketleri:
tcpdump -ni gre1 HOST'ta:
11:57:36.379404 ARP, Request who-has 10.201.0.2 tell 10.201.0.1, length 28
11:57:36.379431 ARP, Reply 10.201.0.2 is-at e2:83:0d:a4:cc:23, length 28
11:57:36.379455 ARP, Reply 10.201.0.2 is-at e2:83:0d:a4:cc:23, length 28
11:57:37.376634 ARP, Request who-has 10.201.0.2 tell 10.201.0.1, length 28
11:57:37.376658 ARP, Reply 10.201.0.2 is-at e2:83:0d:a4:cc:23, length 28
11:57:37.376683 ARP, Reply 10.201.0.2 is-at e2:83:0d:a4:cc:23, length 28
11:57:38.376539 ARP, Request who-has 10.201.0.2 tell 10.201.0.1, length 28
11:57:38.376567 ARP, Reply 10.201.0.2 is-at e2:83:0d:a4:cc:23, length 28
11:57:38.376596 ARP, Reply 10.201.0.2 is-at e2:83:0d:a4:cc:23, length 28
tcpdump -ni eth0 VM'de:
11:57:36.379243 ARP, Request who-has 10.201.0.2 tell 10.201.0.1, length 28
11:57:37.376384 ARP, Request who-has 10.201.0.2 tell 10.201.0.1, length 28
11:57:38.376384 ARP, Request who-has 10.201.0.2 tell 10.201.0.1, length 28
Öyleyse, AFAICS VM ARP İsteğini HOST'a gönderiyor, HOST ARP'ye (Doğru) cevap veriyor, ancak ARP paketi GRE tüneli boyunca geri gelmiyor mu?
Not 1: VM, CORE Emulator adlı bir ürün tarafından oluşturulur ve bir GRE Node'a bağlı temel bir yönlendiriciden oluşur , bu düğüm işaret eder ve anahtar 101'dir.10.1.101.101
Not 2: Yerelde Core Emulator kullanmak yerine, farklı bir makinede çalıştırıyorsam, ancak aynı ayarlarla aynı yapılandırma düzgün çalışıyorsa (10.1.101.101 kullanarak).
HOST GRE Tunnel'ı şu şekilde ayarlamayı da denedim:
ip l add gre1 type gretap remote 127.0.0.1 local 127.0.0.1 key 101
VM GRE düğüm işaret127.0.0.1
ama aynı sonucu almak ARP görmüş ve HOST tarafından yanıtlanan ama değil VM tarafından görülen.
DÜZENLEME 1:
"Gerçek dünya" sorunuma cevap olarak, CORE bana burada açıklandığı gibi uygun bir çözüm sağlıyor: https://downloads.pf.itd.nrl.navy.mil/docs/core/core-core-html/usage # diğer-yöntemlerini .html
EDIT 2: Sonraki soru?
HOST makinesiyle GRE tüneli üzerinden bir "Linux Konteyner / Ağ isim alanı / LXC" vb. VM kurulabiliyor mu? GRE tünel bitiş noktaları gibi bir şey olurdu HOST:127.0.0.1için VM:?.?.?.?(O soru işaretleri sonucuna varmama neden VM neden ARP olabilir VM dönüş yolunu yok HOST 127.0.0.1 için göndermek mümkün bir dönemde, ilk soruma göre, VM'ye ulaşamıyor).
Bunu okumak için zaman ayırdığınız için teşekkür ederiz, herhangi bir yardım büyük beğeni topluyor.