IP สาธารณะที่ไม่ระบุชื่อไม่สามารถเข้าถึงได้


10

ฉันมีการกำหนดค่านี้:

config.vm.network "public_network", ip: "192.168.56.101", :mac => "0022334455DA"

และหลังจากvagrant upifconfig พิมพ์:

 eth0      Link encap:Ethernet  HWaddr 08:00:27:12:96:98
           inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
           inet6 addr: fe80::a00:27ff:fe12:9698/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:1141 errors:0 dropped:0 overruns:0 frame:0
           TX packets:861 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:115407 (115.4 KB)  TX bytes:98490 (98.4 KB)

 eth1      Link encap:Ethernet  HWaddr 00:22:33:44:55:da
           inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
           inet6 addr: fe80::222:33ff:fe44:55da/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:319 errors:0 dropped:0 overruns:0 frame:0
           TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:19236 (19.2 KB)  TX bytes:648 (648.0 B)

 lo        Link encap:Local Loopback
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1/128 Scope:Host
           UP LOOPBACK RUNNING  MTU:16436  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

แต่ฉันยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ที่192.168.56.101บนเครื่องของฉันหรืออื่น ๆ บนเครือข่ายของฉัน เมื่อกำหนดค่าprivate_serverฉันสามารถเข้าถึงที่อยู่จากเครื่องของฉันได้

แสดงเส้นทาง IP

default via 10.0.2.2 dev eth0
default via 10.0.2.2 dev eth0  metric 100
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15
192.168.56.0/24 dev eth1  proto kernel  scope link  src 192.168.56.101

เมื่อ vm กำลังทำงานการกำหนดค่าเครือข่าย VB แสดงการเชื่อมต่อที่สอง:

Adapter 1
Attached to: NAT

Adapter 2
Attached to: Bridged Adapter
Name: Intel Ethernet Connection

ดังนั้นฉันเดาว่า eth0 คือ NAT และ eth1 เป็นการเชื่อมต่อที่เชื่อมโยงหรือไม่ Intel Ethernet Connectionเป็นสายเคเบิลอีเทอร์เน็ตของฉันเชื่อมต่อกับเราเตอร์

นอกจากนี้เมื่อฉันเปิดเครือข่ายและศูนย์บริการร่วมกันมันบอกฉันมีเครือข่ายที่ไม่ปรากฏชื่อมี 2 การเชื่อมต่อ: และVirtualBox Host-Only Network VirtualBox Host-Only Network #2ซึ่งทำให้เกิดความสับสนในขณะที่ฉันตั้งค่า Vagrant ให้ใช้เครือข่ายสาธารณะ


คุณเคยคิดวิธีแก้ปัญหาหรือไม่? ฉันกำลังประสบปัญหาเดียวกัน
นาย T

@ Mr.T ใช่ฉันเพิ่งใช้เครือข่ายที่ถูกต้อง: config.vm.network: public_network, ip: "192.168.1.12", mac: "001122334455"
localhost

สำหรับผู้ที่มีปัญหาที่คล้ายกัน แต่ด้วยรสชาติ Homestead ของ Vagrant นี่คือสิ่งที่ฉันพบ: superuser.com/a/1214376/74576
Ryan

คำตอบ:


9

เมื่อใช้ifconfigฉันพบว่า netmask ที่กำหนดให้กับเครื่องเกสต์นั้นแตกต่างจากบริดจ์เชื่อมต่อของโฮสต์ดังนั้นฉันต้องระบุด้วยตนเอง เมื่อฉันทำอย่างนั้น VM ก็สามารถเข้าถึงได้นอกระบบโฮสต์ นี่คือรายการ Vagrantfile ของฉัน:

config.vm.network :public_network, ip: '172.16.35.51', :netmask => '255.255.0.0', :bridge => 'eth0'

คุณยังคงมีอินเทอร์เฟซสองชุดหรือไม่ เช่นเดียวกับ eth0 ที่มี 10.0.2.15 และ eth1 ที่มี IP แบบคงที่?
Nikos Alexandris

มีความคิดใดว่าทำไมสิ่งนี้จึงเกิดขึ้น
humble_wolf

0

หากฉันต้องเดาจากข้อมูลจำนวนเล็กน้อยนี้ฉันจะชี้ไปที่ตารางเส้นทาง ... 10.0.2.15 eth0 nic กำลังถ่ายโอนข้อมูลมากขึ้น


ฉันจะรับข้อมูลเพิ่มเติมได้อย่างไร
localhost

ip route showจาก vm จะเป็นการเริ่มต้นที่ดี ... จากนั้นเราจำเป็นต้องรู้ว่าเครือข่ายเหล่านี้เชื่อมต่อกับ: "10.0.2.15 เป็น nat'd ผ่านซอฟต์แวร์การสร้างภาพข้อมูลที่ใช้ร่วมกันผ่านโฮสต์ซึ่งตั้งอยู่ที่เราเตอร์โมเด็ม / และ 192.168 56.101 เป็นอแด็ปเตอร์เชื่อมต่อที่เชื่อมต่อกับเราเตอร์ / โมเด็ม "ฯลฯ
Daniel Widrick

อัปเดตคำถาม
localhost
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.