ฉันจะเปลี่ยนเกตเวย์เริ่มต้นได้อย่างไร


19

ขณะนี้ฉันกำลังทำงาน FreeBSD 9.1 rc.confและเกตเวย์เริ่มต้นมีการกำหนดค่าแล้วใน

rc.conf:

defaultrouter = "10.0.0.1"

แต่ตอนนี้ฉันต้องการเปลี่ยนเกตเวย์เริ่มต้นโดยไม่ต้องรีบูตระบบเป็นไปได้หรือไม่

คำตอบ:


21
route del default
route add default 1.2.3.4

1.2.3.4เกตเวย์ใหม่อยู่ที่ไหน คุณยังสามารถต่อข้อมูลเข้าด้วยกันเป็นเส้นเดียวกันด้วย;

แก้ไข: นี่คือ FreeBSD ไม่ใช่ Linux คำสั่งนั้นแตกต่างกัน โปรดอย่าแก้ไขคำตอบนี้หากคุณยังไม่ได้อ่านคำถามอย่างละเอียดพอที่จะกำหนดระบบปฏิบัติการที่ใช้


4
หมายเหตุ: ทำสิ่งนี้ในคอนโซลไม่เกิน ssh หากคุณต้องทำสิ่งนี้ผ่าน ssh (หรือวิธีเครือข่ายอื่น ๆ ) ให้ออกคำสั่งทั้งสองพร้อมกันด้วย;หรือกับ&&
Dalibor Filus

4
หรือใช้วิธีการทั่วไปที่ปลอดภัย: 1) เข้าสู่ระบบเชลล์ปิด / รีบูตใน 15 นาทีเว้นแต่จะถูกยกเลิก 2) ทำสิ่งที่ไม่ปลอดภัย 3) ยกเลิกการปิด / รีบูต
Hennes

2
บน Linux คำสั่งip route del defaultและการip route add default via 1.2.3.4ทำงาน ดังนั้นคำสั่งยังคงเกี่ยวข้องกับผู้ใช้ Linux เช่นกันเนื่องจากมีความคล้ายคลึงกันเล็กน้อย
Paul Stelian

16

คุณสามารถเพิ่มเส้นทางเริ่มต้นใหม่และลบเส้นทางเดิมโดยใช้คำสั่งipหรือ routeคำสั่งด้านล่างจะแทนที่เกตเวย์ด้วย 192.0.2.1 คู่คำสั่งทั้งคู่ทำสิ่งเดียวกัน FreeBSD และระบบปฏิบัติการอื่น ๆ ควรมีหนึ่งหรือทั้งสองโปรแกรมอาจมีรูปแบบที่แตกต่างกันเล็กน้อย (FreeBSD มีrouteคำสั่งและไม่รวมgwคำหลักที่ใช้ในการใช้งานอื่น ๆ ) คำสั่งman ipและ / หรือman routeควรให้เอกสารเกี่ยวกับการใช้งานเฉพาะของคุณ

route add default 192.0.2.1
route del default 10.0.0.1

ip route add default via 192.0.2.1
ip route del default via 10.0.0.1 

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

เปลี่ยน 192.0.2.1 เป็นเกตเวย์เริ่มต้นที่คุณต้องการ เกตเวย์เริ่มต้นจะต้องอยู่ในเครือข่ายที่คุณมีการเชื่อมต่อโดยตรง คุณสามารถเปลี่ยนที่อยู่ IP ของคุณในลักษณะที่คล้ายกัน ipเป็นเครื่องมือที่ใหม่กว่าซึ่งจะทำทุกอย่างที่คุณต้องทำเพื่อดูและจัดการที่อยู่ IP และการกำหนดเส้นทางในเครือข่าย IPv4 และ IPv6 ifconfigเป็นเครื่องมือที่เก่ากว่าสำหรับการกำหนดค่าที่อยู่ IP บนเครือข่าย IPv4

/etcเพื่อให้การเปลี่ยนแปลงถาวรปรับปรุงแฟ้มการกำหนดค่าเครือข่ายของคุณใน ไฟล์แตกต่างกันไปขึ้นอยู่กับการกระจายที่คุณใช้

อย่างน้อยหนึ่งคำสั่งเหล่านี้ควรมีอยู่ใน O / S ที่ได้รับจาก Unix รุ่นที่แตกต่างกันอาจทำงานแตกต่างกันเล็กน้อย ตรวจสอบmanหน้าสำหรับรายละเอียดเกี่ยวกับ O / S ของคุณ


4
-1 ขออภัย แต่นี่คือคำสั่งLinuxและไม่สามารถใช้งานกับFreeBSDได้
คริส S

2
@ChrisS อัปเดตเพื่ออ้างอิงการเปลี่ยนแปลงสำหรับ FreeBSD routeมีการนำไปใช้หลายครั้งพร้อมกับการเปลี่ยนแปลงไวยากรณ์เล็กน้อย
BillThor

1
ลงทะเบียนสำหรับคำสั่ง "เส้นทาง IP"
Sérgio

9

นี่คือหนึ่งซับ:

ip route replace default via 1.2.3.4

1.2.3.4IP เกตเวย์ใหม่อยู่ที่ไหน

เครดิต


2
-1 ขออภัย แต่นี่คือคำสั่งLinuxและไม่สามารถใช้งานกับFreeBSDได้
Chris S

3

ใช่เพียงแค่เปลี่ยนเส้นทางและเริ่มเครือข่ายของคุณใหม่

/etc/rc.d/netif restart

2
ใช้งานได้แม้ว่าจะรีสตาร์ทเป็นจำนวนมาก ... และอาจทำให้แอปพลิเคชันที่เชื่อมต่อกับอินเตอร์เฟสเสียหาย
คริส S

1

คุณสามารถลอง:

route add default gw 192.168.1.254 eth0

-1 ขออภัย แต่นี่คือคำสั่งLinuxและไม่สามารถใช้งานกับFreeBSDได้
Chris S

Route addเป็นส่วนหนึ่งของ FreeBSD 8.4 ของฉันติดตั้ง แต่ใช่แล้วหลายคนที่นี่ตอบรับระบบปฏิบัติการที่ผิด
Hennes

1
@Hennes route addส่วนที่ทำงานได้ดี GNU / Linux เพิ่มgwส่วนที่ไม่สามารถใช้กับ * nix อื่น ๆ ได้ โดยไม่ต้องgwทำงานกับ BSD ทั้งหมด, Solaris, OSX, HPUX, AIX และอื่น ๆ
Chris S

1

ง่ายมากคุณเพียงแค่พิมพ์คำสั่งต่อไป:

$ route del 0/0
$ route add 0/0 192.168.0.1

คุณจะต้องแทนที่ '192.168.0.1' ด้วย IP ที่คุณเลือก

และเพื่อตรวจสอบการเปลี่ยนแปลงคุณสามารถใช้ 'netstat':

$ netstat -r

คำสั่งนี้แสดงตารางเส้นทางของระบบ


"0/0" คืออะไร
WWW

1
@WWW '0/0' เป็นตัวย่อของบล็อคเครือข่าย '0.0.0.0/0' ซึ่งเหมือนกับ 'เริ่มต้น' แต่ฉันชอบ '0/0' (ฉันคิดว่าฉันเป็นโรงเรียนเก่ามากกว่า )
ifm

0

มักจะใช้งานครั้งแรกnetstat -nrเพื่อตรวจสอบประตูสิ่งที่คุณมีและสิ่งที่รายละเอียดมันมี ... 0.0.0.0คุณดู เมื่อมันเป็นค่าเริ่มต้นและคุณควรคิดว่าทำไมฉันจึงเปลี่ยนเกตเวย์นี้กว่าใช้คำสั่งนี้:

route add default gw your ip eth0

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