เกตเวย์เริ่มต้นเปลี่ยนไป


28

ฉันกำลังใช้อินเทอร์เฟซ 3 อีเธอร์เน็ตบน Ubuntu แต่เมื่อฉันรีสตาร์ทเกตเวย์เริ่มต้นจะเปลี่ยนเป็นอินเทอร์เฟซอื่น ทุกครั้งที่ฉันบูตฉันต้องเปลี่ยนเกตเวย์เริ่มต้นกลับเป็น eth1 โดยการลบเกตเวย์เริ่มต้นและเพิ่มกลับด้วย eth1 ฉันจะแก้ไขปัญหานี้ได้อย่างไร


คุณได้กำหนดค่าด้วยตนเองโดยใช้/etc/network/interfacesไฟล์หรือด้วยซอฟต์แวร์เช่น Network Manager หรือ wicd?
Lekensteyn

1
"เกตเวย์" ไม่เท่ากับ "เส้นทาง" เกตเวย์เฉพาะกับอินเตอร์เฟสที่เราต์บอกว่าควรใช้อินเตอร์เฟสใด
Lekensteyn

เกตเวย์มักจะเป็นอินเตอร์เฟสบนอุปกรณ์ระยะไกลซึ่งโหนดโลคัลอาศัยการตัดสินใจการเราต์ คำสั่งเส้นทางสามารถอ้างถึงส่วนต่อประสานในท้องถิ่นได้หรือไม่ แต่ปลายทางเส้นทางจะต้องสามารถค้นพบได้จากการค้นหาแบบเรียกซ้ำอินเตอร์เฟสที่เชื่อมต่อหรือเส้นทางเริ่มต้น เส้นทางเริ่มต้นหรือเกตเวย์เริ่มต้นคือ 'เกตเวย์ของทางเลือกสุดท้าย' - ซึ่งจะใช้ในกรณีที่ไม่มีเส้นทางที่เฉพาะเจาะจงมากขึ้นที่มีอยู่
belacqua

คุณสามารถระบุตารางเส้นทางและรายการอินเตอร์เฟสและการกำหนดค่าเครือข่ายอื่น ๆ ที่เกี่ยวข้องที่คุณได้ทำไปหรือไม่
belacqua

คำตอบ:


33

หากต้องการเปลี่ยนเส้นทางเริ่มต้นชั่วคราวคุณสามารถใช้คำสั่ง ipดังนี้:

$ sudo ip route change default via 192.168.1.1 dev eth0

หากคุณมีการกำหนดค่า ip แบบคงที่ใน/etc/network/interfacesคุณสามารถเพิ่มคำสั่งเกตเวย์เพื่อให้ถาวร

iface eth0 inet static
    gateway 192.168.1.1
    […]

ใช้ DHCP เพื่อกำหนดค่าเครือข่ายคุณต้องปรับไฟล์อื่นแทน /etc/dhcp/dhclient.confเพิ่มคำสั่งแทนที่ใน

supersede routers 192.168.1.1;

1
รุ่นสคริปต์ (ควรจะมีช่องว่างระหว่างเครื่องหมายอัญประกาศ):echo supersede routers $(ip route | grep default | cut -f3 -d" ")\; | sudo tee --append /etc/dhcp/dhclient.conf
Colan

ถ้าฉันมีหลายอินเตอร์เฟส พวกเขาไม่ควรจะมี 'เกตเวย์' สำหรับแต่ละอินเตอร์เฟสหรือไม่ แต่สิ่งที่มีผลต่อตัวอย่าง '' เริ่มต้นผ่าน 192.168.3.1 dev eth6 "เอาท์พุทของคำสั่งเส้นทาง ip มันแสดงรายการอินเตอร์เฟซที่เฉพาะเจาะจงใช่ไหม
JohnyTex

7

เปิดไฟล์ /etc/network/interfaces

ค้นหาส่วนต่อประสานที่ต้องการและเพิ่มรายการต่อไปนี้:

gateway 192.x.x.x

รีสตาร์ทเครือข่าย:

sudo /etc/init.d/networking restart

16
จะทำอย่างไรถ้ามีการกำหนดค่าอินเทอร์เฟซที่ต้องการผ่าน DHCP และฉันไม่ทราบที่อยู่เกตเวย์ที่จะถูกกำหนด
devmiles.com

0

ฉันมีปัญหาเดียวกันสำหรับส่วนต่อประสาน wifi ของฉันwlp3s0บน Ubuntu 18.04 มันมีผลกระทบต่อความสามารถในการเชื่อมต่อกับการปล่อยสัญญาณ Android และเราเตอร์นอกบ้าน วิธีการแก้ไขปัญหาสำหรับฉันคือการแสดงความคิดเห็นในไฟล์/etc/dhcpcd.confต่อไปนี้:

interface wlp3s0
        static ip_address=192.168.0.16/24
        static routers=192.168.0.1
        static domain_name_servers=127.0.0.1

เพื่อรับสิ่งต่อไปนี้

#interface wlp3s0
#        static ip_address=192.168.0.16/24
#        static routers=192.168.0.1
#        static domain_name_servers=127.0.0.1

จากนั้นฉันได้ตัดการเชื่อมต่อจากเครือข่ายปัจจุบันของฉันและลองใหม่อีกครั้งroute -nหรือnmcliดูการเปลี่ยนแปลง

นอกจากนี้คุณยังสามารถลบบรรทัดเดียวกันได้เมื่อคุณแน่ใจว่าเหมาะกับคุณ

เนื่องจากบรรทัดเหล่านี้ NetworkManager มักเพิ่มเส้นทางเริ่มต้นด้วยเกตเวย์ผิดโดยเฉพาะเมื่อฉันไม่ได้อยู่ในเครือข่ายภายในบ้านของฉัน ฉันได้รับ "Destination Host Unreachable" เมื่อฉันทำping 8.8.8.8เมื่อผมทำ การเข้ารหัสฮาร์ดไดร์ฟในเกตเวย์/etc/network/interfacesไม่ใช่วิธีแก้ปัญหาที่สามารถใช้งานได้เพราะฉันเชื่อมต่อกับสาธารณะ wifis มาก (ดังนั้นอย่าใช้เราเตอร์ไร้สายหรือเกตเวย์เดียวกัน) และ DHCP ควรใช้งานได้ตามปกติ "นอกกรอบ"

PS: ฉันไม่เคยแก้ไขด้วยตนเอง/etc/dhcpcd.confดังนั้นฉันจึงไม่รู้ว่าทำไมไฟล์ถึง/etc/dhcpcd.confมีบรรทัดเหล่านี้

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