ไม่สามารถใช้สองอินเตอร์เฟสเครือข่ายในเวลาเดียวกัน


9

ฉันมีปัญหา. ก่อนอื่นฉันต้องตั้งค่าเซิร์ฟเวอร์บน Ubuntu 14.04 ฉันมี 2 อินเตอร์เฟส: eth0 สำหรับเซิร์ฟเวอร์ dhcp และ eth1 สำหรับการเชื่อมต่ออินเทอร์เน็ต แต่ถ้าฉันเชื่อมต่อกับเครือข่ายสองเครือข่ายในเวลาเดียวกันแสดงว่าไม่มีอินเทอร์เน็ตบนพีซี ดังนั้นฉันต้องเลือกระหว่างเซิร์ฟเวอร์และอินเทอร์เน็ต แย่มากไม่มีใครบอกได้ว่าจะปิดเรื่องนี้ได้อย่างไร

/ etc / เครือข่าย / อินเตอร์เฟซ:

auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
address 172.16.1.100
netmask 255.255.255.0
broadcast 172.16.1.255
gateway 172.16.1.254

ผลลัพธ์เส้นทาง sudo:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     1      0        0 eth1

UPD: ifconfig เอาต์พุต:

eth0      Link encap:Ethernet  HWaddr 90:e6:ba:46:1d:50  
          inet6 addr: fe80::92e6:baff:fe46:1d50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1110 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:184287 (184.2 KB)

eth1      Link encap:Ethernet  HWaddr 00:04:75:98:5f:da  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::204:75ff:fe98:5fda/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14498 errors:0 dropped:0 overruns:2 frame:0
          TX packets:13096 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9710708 (9.7 MB)  TX bytes:1840400 (1.8 MB)
          Interrupt:18 Base address:0x4c00 

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:65536  Metric:1
          RX packets:4398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:527890 (527.8 KB)  TX bytes:527890 (527.8 KB)

ผู้จัดการเครือข่ายกำหนดค่าอุปกรณ์ของคุณหรือไม่ แสดงผลลัพธ์ของnmcli dev statusคุณได้ping 192.168.0.1ไหม
meccooll

คำตอบ:


4

การกำหนดค่าผลลัพธ์ifconfigและความคิดเห็นที่ให้ไว้ในคำตอบแรกของฉันฉันคิดว่าปัญหาเกี่ยวข้องกับวิธีการกำหนดค่า NIC ของ/etc/network/interfacesคุณ

เนื่องจากคุณไม่มีการกำหนดค่าเฉพาะสำหรับeth1ใน/etc/network/interfacesฉันคิดว่าโมเด็มของคุณให้ข้อมูล IP ผ่านเซิร์ฟเวอร์ DHCP แก่เซิร์ฟเวอร์ของคุณ ตามrouteouput คุณได้รับเกตเวย์เริ่มต้นของคุณชี้ไปที่โมเด็มเพื่ออินเทอร์เน็ต

แต่ใน/etc/network/interfacesไฟล์ของคุณสำหรับeth0คุณก็มีเกตเวย์เริ่มต้นที่กำหนดค่าไว้ (คำสั่งgateway 172.16.1.254)

คุณไม่สามารถมีสองเกตเวย์เริ่มต้นบนระบบ การกำหนดเกตเวย์เริ่มต้นบนeth1ปิดใช้งานการกำหนดค่าคงที่ของeth0เหตุผลที่ไม่มี IP สำหรับeth0ในifconfigผลลัพธ์และสาเหตุที่อินเทอร์เน็ตทำงานและเครือข่ายภายในไม่มีอีกต่อไป

คุณจะต้องลบบรรทัดgateway 172.16.1.254แล้วลองอีกครั้ง

แน่นอนว่าถ้าคุณมีเครือข่ายย่อยมากกว่าหนึ่งเครือข่ายภายใน LAN คุณจะไม่สามารถเข้าถึงเครือข่ายย่อยเหล่านั้นได้อีก หากคุณไม่กำหนดค่าเส้นทางสแตติกไปยังเครือข่ายย่อยเหล่านี้ทั้งหมดบนเซิร์ฟเวอร์ของคุณ:

เส้นทาง sudo เพิ่ม -net ABCD gw 172.16.1.254

คุณสามารถเพิ่มrouteคำสั่งในสคริปต์ที่บันทึกภายใต้/etc/network/if-up.dเพื่อให้ทำงานได้ทุกครั้งที่อินเตอร์เฟสทำงาน


ที่จริงคุณสามารถมีสองเส้นทางเริ่มต้นในระบบที่กำหนด (ไม่ได้อยู่ในระบบของเขาเป็นเซิร์ฟเวอร์ไม่สามารถเข้าถึงอินเทอร์เน็ต) แต่พวกเขาจะต้องจัดลำดับความสำคัญที่แตกต่างกันหรือการกำหนดค่าเพื่อความสมดุลทั้งสอง
JrBenito

3

จากสิ่งที่ฉันเข้าใจของโพสต์ของคุณคุณจะเชื่อมต่ออินเทอร์เน็ตผ่านeth1และเครือข่ายภายในของคุณผ่านทางeth0 และเซิร์ฟเวอร์ของคุณก็เล่นบทบาทของเซิร์ฟเวอร์ DHCP และเกตเวย์เริ่มต้นสำหรับพีซีของคุณเพื่อเชื่อมต่ออินเทอร์เน็ต

ก่อนอื่นบนพีซีตรวจสอบว่าพวกเขาได้รับการตั้งค่า DHCP ทั้งหมดอย่างถูกต้องรวมถึงเกตเวย์ จากคำถามของคุณฉันคิดว่าควรเป็น 172.16.1.100

ประการที่สองตรวจสอบให้แน่ใจว่าeth1ของคุณเชื่อมต่อกับอินเทอร์เน็ตและกำหนดค่าได้ดี เห็นได้ชัดว่าขึ้นอยู่กับ ISP ของคุณ

ในที่สุดการดำเนินการที่สำคัญที่สุดคุณจะต้องเปิดใช้งานการส่งต่อ IP ระหว่างสองอินเตอร์เฟสของคุณบนเซิร์ฟเวอร์ หากไม่มีสิ่งนี้แพ็กเก็ตจะไม่ถูกกำหนดเส้นทางระหว่างพีซีของคุณและอินเทอร์เน็ต:

ตั้งค่าด้วยตนเอง:

sudo echo 1> / proc / sys / net / ipv4 / ip_forward

จะมี IP ธงไปข้างหน้าโดยอัตโนมัติติดตั้งในเวลาบูต uncomment สาย#net.ipv4.ip_forward=1ใน/etc/sysctl.conf

คุณจะต้องตรวจสอบให้แน่ใจว่าไม่มีกฎไฟร์วอลล์ IPtables ที่บล็อกทราฟฟิก ทำ:

iptables -L -n

เพื่อรับรายการกฎหากมี ฉันจะลองตั้งค่านี้ก่อนเมื่อปิดใช้งานกฎไฟร์วอลล์ทั้งหมด:

iptables -F


ไม่ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์ PXE คอมพิวเตอร์ในเครือข่ายท้องถิ่นของฉันได้รับ IP อย่างถูกต้อง (พวกเขากำลังบูท) แต่ไม่มีอินเทอร์เน็ตไม่บนเซิร์ฟเวอร์หรือ (แน่นอน) กับลูกค้า
Andreikkaa

ดังนั้นตอนนี้ฉันต้องแก้ไขการเชื่อมต่ออินเทอร์เน็ตบนเซิร์ฟเวอร์เท่านั้น
Andreikkaa

@ user3452627: คุณช่วยเพิ่มผลลัพธ์ของifconfigคำถามของคุณได้ไหม และระบุวิธีเชื่อมต่ออินเทอร์เน็ตของคุณ
เบอนัวต์

แน่ใจ ฉันเชื่อมต่อผ่านโมเด็มแล้ว
Andreikkaa

@ user3452627: โมเด็มนี้ให้ที่อยู่ IP กับเซิร์ฟเวอร์ของคุณผ่าน DHCP หรือไม่
เบอนัวต์

2

ฉันมีปัญหาที่คล้ายกัน แต่ไฟล์อินเตอร์เฟสของฉันว่างเปล่าเช่นนี้:

# The loopback network interface
auto lo
iface lo inet loopback

ฉันจัดการเพื่อแก้ไขปัญหาโดยการย้าย / ลบไฟล์การเชื่อมต่อแบบใช้สายที่พบ: /etc/NetworkManager/system-connections/Wired connection 1

หลังจากรีบูตก็สามารถเชื่อมต่อกับเครือข่ายทั้งสอง

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