วิธีการตั้งค่าอินเตอร์เฟซเครือข่าย 2 อย่างใน CentOS อย่างเหมาะสม (ทำงานใน VirtualBox)


13

ฉันมีเครื่อง VirtualBox ที่ใช้งาน CentOS 6.5 ฉันสร้างอะแดปเตอร์เครือข่าย 2 ตัวสำหรับการตั้งค่าเครือข่ายของ VirtualBox สำหรับเครื่อง อย่างแรกคือ NAT ซึ่งฉันต้องการให้แขกใช้เชื่อมต่อกับอินเทอร์เน็ตและครั้งที่สองที่ฉันตั้งไว้ที่ Host-only ซึ่งฉันจะใช้กับ SSH และเข้าถึงเว็บเซิร์ฟเวอร์จากโฮสต์คอมพิวเตอร์ บทช่วยสอนนี้ที่ฟอรัม VirtualBoxคือสิ่งที่ฉันต้องการบรรลุ แต่ฉันไม่สามารถค้นหา/etc/network/interfacesไฟล์บน CentOS 6.5 ได้ดังนั้นฉันจึงสันนิษฐานว่าการกำหนดค่านั้นแตกต่างกัน

มีการติดตั้งทั้งอะแดปเตอร์ NAT และโฮสต์เท่านั้นฉันเริ่มต้น VM และทำip addr showและฉันมี 2 อินเทอร์เฟซeth0และeth2(ฉันไม่รู้ว่าทำไมeth1ถูกข้ามอย่างใด) ดังนั้นฉันจึงกำหนดค่าifcfg-ethXไฟล์ทั้งสอง/etc/sysconfig/network-scriptsตั้งeth0เป็น DHCP (สำหรับ NAT) และeth2เป็น IP แบบคงที่ (สำหรับโฮสต์เท่านั้น) สำหรับeth0, ONBOOT=yesในขณะที่สำหรับ,eth2 ONBOOT=noด้วยการตั้งค่านี้ฉันสามารถpingใช้อินเทอร์เน็ตping -c 3 www.google.comและได้รับการตอบสนองดังนั้นฉันจึงรู้ว่าฉันสามารถเชื่อมต่ออินเทอร์เน็ตeth2ได้

ifup eth2ต่อไปผม จากเครื่องโฮสต์ฉันใช้ SSH แบบคงที่กับ IP ที่ฉันตั้งไว้และสามารถเชื่อมต่อได้โดยไม่มีปัญหา แต่เมื่อฉันทำping -c www.google.comในเวลานี้มันล้มเหลวและฉันรู้ว่าฉันขาดการเชื่อมต่อกับอินเทอร์เน็ตแม้ว่าeth0จะยังไม่หมด การทำroute -nแสดงให้ฉันเห็นตารางเอาท์พุทที่มีeth2การขึ้นแถวแรกและแถวสุดท้ายในขณะที่eth0อยู่ในระหว่าง (ขออภัยฉันไม่สามารถโพสต์เอาท์พุทที่เกิดขึ้นจริงเพราะฉันลบ VM ออกจากแห้ว ... )

ฉันได้สร้าง CentOS VM ใหม่และต้องการดำเนินการตั้งค่าต่อไป ระบบเครือข่ายของฉันใกล้จะไม่มีตัวตนดังนั้นฉันจึงเป็น n00b ฉันต้องการเคล็ดลับบางอย่างเกี่ยวกับวิธีการทำอย่างถูกต้อง (เช่นวิธีการตั้งค่าอะแดปเตอร์ NAT กับการใช้งานeth0และการตั้งค่าอะแดปเตอร์โฮสต์เฉพาะกับการใช้eth1และไม่ได้eth2วิธีการเพื่อให้eth0ยังคงใช้งานแม้ว่าeth1/ eth2และทำงาน)

ปรับปรุง

ดังนั้นฉันจึงได้ VM ใหม่และทำงานและดูเหมือนว่าจะทำงานตอนนี้ถ้าฉันมีอะแดปเตอร์แรกที่กำหนดให้โฮสต์เท่านั้นและอะแดปเตอร์ที่สองตั้ง NAT มันตั้งค่าเช่นนั้น:

การตั้งค่าเครือข่าย VirtualBox

  • อะแดปเตอร์เครือข่าย 1: โฮสต์เท่านั้น ( vboxnet0ตั้งค่าที่อยู่ IP เป็น10.3.0.1เครือข่ายหน้ากาก255.255.255.0และ DHCP ปิดอยู่)
  • อะแดปเตอร์เครือข่าย 2: NAT (DHCP)

CentOS VM /etc/sysconfig/network-scripts/ifcfg-ethXsettings

# ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:EC:6C:B9
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DHCPCLASS=
IPADDR=10.3.0.100
NETMASK=255.255.255.0
GATEWAY=10.3.0.1

# ifcfg-eth2
DEVICE=eth2
HWADDR=08:00:27:EB:73:BA
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

ผลลัพธ์ของ ip route

10.0.3.0/24  dev  eth2  proto  kernel  scope  link  src  10.0.3.15
10.3.0.0/24  dev  eth0  proto  kernel  scope  link  src  10.3.0.100
169.254.0.0/16  dev  eth0  scope  link  metric  1002
169.254.0.0/16  dev  eth2  scope  link  metric  1003
default via 10.0.3.2 dev eth2

ผลลัพธ์ของ ip addr

1:  lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
     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 qlen 1000
     link/ether 08:00:27:ec:6c:b9 brd ff:ff:ff:ff:ff:ff
     inet 10.3.0.100/24 brd 10.3.0.255 scope global eth0
     inet6 fe80::a00:27ff:feec:6cb9/64 scope link
        valid_lft forever preferred_lft forever
3:  eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:eb:73:ba brd ff:ff:ff:ff:ff:ff
     inet 10.0.0.15/24 brd 10.0.3.255 scope global eth2
     inet6 fe80::a00:27ff:feeb:73ba/64 scope link
        valid_lft forever preferred_lft forever

เกตเวย์เริ่มต้นของคุณคืออะไร
spuder

@spuder สำหรับอินเตอร์เฟสโฮสต์เท่านั้นหรือไม่ ถ้าฉันจำได้อย่างถูกต้องvboxnet0ตั้งค่าโฮสต์ (เท่านั้นถ้า) 192.168.56.1ดังนั้นฉันเดาว่าเป็นสิ่งที่เกตเวย์เริ่มต้นคือ ฉันจำไม่ได้สำหรับอินเทอร์เฟซ NAT
baktin

หากปัญหายังคงมีอยู่ทำไมคุณไม่ให้ผลลัพธ์ของเราip routeบน VM ใหม่ ... ip addrและที่ของ
Hauke ​​Laging

@HaukeLaging ฉันได้อัปเดตคำถามด้วยผลลัพธ์ที่คุณร้องขอ ดูเหมือนว่าจะทำงานได้ในขณะนี้โดยมีอะแดปเตอร์แรกเป็นโฮสต์อย่างเดียวและที่สองคือ NAT แต่ฉันรู้สึกว่านี่เป็นวิธีแก้ปัญหา ... และฉันต้องการทราบวิธีที่ดีที่สุดในการทำเช่นนี้หากฉันได้ตั้งค่าอะแดปเตอร์แรกเป็น NAT และที่สองเป็นโฮสต์เท่านั้น
baktin

หากคุณพยายามทำซ้ำสิ่งนี้ให้ใช้ "ifconfig -a" เพื่อรับ MAC ของ eth2 ที่จะต้องใช้ในบรรทัด HWADDR และคุณอาจต้องการแทนที่ eth2 ด้วย eth1 อย่างที่คุณน่าจะมี eth1 ไม่ใช่ eth2
Mangirdas Skripka

คำตอบ:


9

ฉันเดาว่าปัญหาคือ (หรือ: เคย) ที่คำจำกัดความของเกตเวย์ขัดแย้งกับ DHCP อย่างไรก็ตามลำดับของอินเทอร์เฟซดูเหมือนจะมีอิทธิพล

ปัญหาพื้นฐานคือการกำหนดเส้นทางจะทำอย่างไรกับการ์ดเครือข่ายสองใบ ตามที่ฉันเข้าใจคุณจะต้องใช้การ์ดโฮสต์เท่านั้นสำหรับการเชื่อมต่อกับโฮสต์เท่านั้น ดังนั้นคุณไม่ควรกำหนดเกตเวย์ใด ๆ สำหรับอินเทอร์เฟซนี้เลย แต่อาจใช้งานได้เฉพาะถ้าอินเทอร์เฟซแรกใช้ DHCP

นอกจากนี้คุณอาจพิจารณาหลีกเลี่ยง DHCP โดยสมบูรณ์ ส่วนต่อประสาน NAT ทำงานกับการกำหนดค่าคงที่เช่นกัน


2
การลบเกตเวย์สำหรับอินเทอร์เฟซสำหรับโฮสต์เท่านั้นใช้งานได้สำหรับฉัน ขอบคุณ
baktin

-1

ฉันมีชุดของ

Adapter 1 = NAT = eth0
Adapter 2 = Bridged Adapter = eth1

ใน Oracle Linux (RHEL / CentOS) ฉันเรียกใช้แอปพลิเคชันการเชื่อมต่อเครือข่าย
และตั้งค่า eth0 เป็นที่อยู่ IP คงที่
และตั้งค่า eth1 เป็น DHCP อัตโนมัติ

เมื่อคุณทำ ifconfig ฉันเห็นว่าทั้ง eth0 และ eth1 มีที่อยู่ inet ที่ตั้งค่าและการสื่อสารจาก HOST ถึง GUEST และจาก GUEST ไปยัง Internet ทำงานทั้งหมด

มีหลายครั้งที่ฉันไม่ได้เริ่ม VBOX ชั่วครู่หนึ่งและฉันพบว่าการสื่อสารไม่ทำงาน ไม่มีความเห็น.

วันนี้ฉันเริ่ม GUEST และไม่มีการเชื่อมต่อเครือข่าย (ทั้งสองวิธี) ฉันเริ่มต้นใหม่และใช้งานได้

อาจจะทำอย่างไรกับการอัพเกรด VBXO ฉันไม่รู้

BTW: เพื่อสื่อสารกับ Oracle DB ให้ตั้งค่าการส่งต่อพอร์ตบน NAT (eth0) จาก 127.0.0.1 เป็น Guest IP Port 1521 ทำสิ่งนี้จาก VBOX

ฉันยังปิดไฟร์วอลล์ของฉันด้วย

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