วิธีเปลี่ยนที่อยู่ IP ในเดสก์ท็อป Ubuntu ผ่านบรรทัดคำสั่ง


10

ใน Ubuntu desktop 13.04 การเปลี่ยน/etc/network/interfacesไฟล์ไม่เปลี่ยนที่อยู่ ip หรือแปลง DHCP เป็นการตั้งค่าเครือข่ายคงที่ หลังจากเปลี่ยนไฟล์ฉันลองแล้ว

sudo service networking restart

---------- แก้ไข ----------

ฉันได้เชื่อมต่อกับระบบด้วย ssh


คุณเปลี่ยน IP อย่างไรเมื่อแก้ไขไฟล์ `/ etc / network / interfaces`
มิทช์

@Mitch link
Necktwi

1
คุณหมายถึงว่าคุณจะแก้ไขไฟล์นั้น แต่มันไม่มีผลกระทบใด ๆ ? มันไม่เปลี่ยนที่อยู่ IP ใช่ไหม
Alaa Ali

@Alaa ฉันทำsudo service networking restart
Necktwi

คำตอบ:


8

ตามค่าเริ่มต้น Ubuntu (หรือตัวจัดการเครือข่ายเฉพาะเจาะจง) จะไม่สนใจ/etc/network/interfacesไฟล์ เพื่อทำการเปลี่ยนแปลงที่คุณทำมีผลใช้งานคำสั่งต่อไปนี้:

sudo ifdown wlan0
sudo ifup wlan0

สมมติว่าwlan0เป็นส่วนต่อประสานที่คุณกำลังแก้ไข เมื่อคุณทำเช่นนั้นจะเกิดขึ้นกับการตั้งค่าที่คุณมีอยู่ภายใต้บทในwlan0/etc/network/interfaces


แก้ไข:เนื่องจากคุณเชื่อมต่อผ่าน SSH คุณสามารถลองต่อไปนี้:

แก้ไข/etc/NetworkManager/NetworkManager.confและเปลี่ยนifdown managedเป็นfalse:

[ifupdown]
managed=false

จากนั้นลอง:


ถ้าฉันใช้ ifdown ฉันจะหลวมการเชื่อมต่อกับระบบ ถ้ามันไม่ทำงานไม่มีวิธีการเชื่อมต่ออีกครั้ง
Necktwi

ฉันสามารถลองรีสตาร์ทระบบ แต่ถ้าไม่ได้ตั้งค่า ip แบบคงที่ฉันไม่สามารถรู้ได้ว่ามันเป็น ip แบบไดนามิกใหม่หรือ
เปล่า

@neckTwi ลองคำตอบที่ปรับปรุงแล้วของฉัน นอกจากนี้คุณแน่ใจหรือว่าจะมี IP ที่แตกต่างกัน โดยปกติจะมีระยะเวลาการเช่าที่แม้ว่าคุณจะรีสตาร์ทเครื่องมันจะยังคงได้รับ IP เดียวกันจนกว่าระยะเวลาการเช่าที่กำหนดไว้ล่วงหน้าจะหมดอายุ แต่ขึ้นอยู่กับว่าฉันกำลังพูดอะไรอยู่ในใจ
Alaa Ali

สิ่งที่ไม่[ifupdown] managed=falseหมายถึง?
Necktwi

หากมีการตั้งค่าเป็นจริง NetworkManager "จัดการ" /etc/network/interfacesอินเตอร์เฟซที่กล่าวถึงใน หากตั้งค่าเป็นเท็จ NetworkManager จะไม่จัดการอินเตอร์เฟสที่กล่าวถึงที่นั่น
Alaa Ali

5

ลองสิ่งนี้ เพียงกดCtrl+ Alt+ Tบนแป้นพิมพ์เพื่อเปิด Terminal เมื่อเปิดขึ้นให้เรียกใช้คำสั่งด้านล่าง:

sudo -i
gedit /etc/network/interfaces

สิ่งนี้ทำได้ด้วยความช่วยเหลือของguntbert

เสร็จแล้วบันทึกและออก

เพิ่มโหมด DHCP บรรทัดนี้

auto eth0
iface eth0 inet dhcp

โหมดคงที่

auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

เมื่อบันทึกไฟล์เสร็จแล้วและ:

sudo service resolvconf restart

สิ่งเหล่านี้ไม่ใช่การเปลี่ยนแปลงที่ถาวร พวกเขาจะถูกแทนที่เมื่อคอมพิวเตอร์รีสตาร์ท
Alaa Ali

ไม่รอดจากการรีสตาร์ทระบบ
Necktwi

คุณมี IP แบบคงที่หรือแบบไดนามิกหรือไม่?
Mitch

@guntbert มันดีกว่าไหม? ขอบคุณ :)
Mitch

สิ่งนี้ใช้ไม่ได้ (หรือไม่ได้ผล) /etc/network/interfacesอูบุนตูดูเหมือนจะไม่เกี่ยวกับการดูแล
giusti

4

คุณสามารถเปลี่ยนที่อยู่ IP ของคุณโดยใช้สคริปต์ต่อไปนี้:

เปิด terminal ด้วยCtrl+ Alt+ tและพิมพ์คำสั่งต่อไปนี้:

sudo vi /etc/network/interfaces

หรือ

gksudo gedit /etc/network/interfaces

ค้นหาส่วน eth0 และตั้งค่าที่อยู่ IP ดังนี้:

auto eth0
iface eth0 inet คงที่
ที่อยู่ 192.168.2.1
netmask 255.255.255.0
เครือข่าย 192.168.2.0
ออกอากาศ 192.168.2.255

บันทึกและปิดไฟล์ เมื่อเสร็จแล้วให้รีสตาร์ทเครือข่าย:

$ sudo /etc/init.d/networking เริ่มต้นใหม่

ตรวจสอบที่อยู่ IP ใหม่โดยใช้คำสั่งต่อไปนี้:

$ ifconfig eth0
$ ifconfig

นี่เป็นเพียงยานพาหนะสำหรับเว็บไซต์ของคุณเอง โปรดเปิดเผยความร่วมมือของคุณไปip-details.comและWhoisxy.comหรือไม่ได้เชื่อมโยงไปยังเว็บไซต์เหล่านี้จากโพสต์ทั้งหมดของคุณ ดูศูนย์ช่วยเหลือ
Martijn Pieters

2

ฉันกำลังโพสต์คำตอบนี้เพื่อให้อีกมิติสำหรับคำถามและคำตอบที่มีอยู่ไม่ใช่คำตอบโดยตรงกับคำถามเดิม IP ของคุณจะหายไปเมื่อรีบูท อย่างไรก็ตามฉันคิดว่ามันคุ้มค่าที่คุณจะเข้าใจคำสั่งเหล่านี้iproute2แพ็คเกจเป็นวิธีการจัดการอินเตอร์เฟสแบบ on-the-fly ผ่าน CLI ผู้คนจำนวนมากยังคงเขียนสคริปต์โดยใช้ifconfigตัวอย่าง

ฉันคิดว่ามันคุ้มค่าที่จะสังเกตการใช้iproute2แพ็คเกจ

แสดง IP ปัจจุบันบนทุกอินเตอร์เฟส ( ip addr)

n2:~$ ip a
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
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:e0:4c:6d:0a:49 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff
    inet 172.22.0.221/24 brd 172.22.0.255 scope global wlan0
    inet6 fe80::76ea:3aff:fead:2e00/64 scope link 
       valid_lft forever preferred_lft forever

เพิ่มที่อยู่ IP ในอินเทอร์เฟซไร้สายของฉัน ( ip addr add)

n2:~$ sudo ip a a 10.0.0.56/24 dev wlan0
[sudo] password for bensley: 

แสดงที่อยู่ IP ของฉันอีกครั้งบันทึก IP เพิ่มเติมใน wlan0 ( ip addr)

n2:~$ ip a
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
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:e0:4c:6d:0a:49 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff
    inet 172.22.0.221/24 brd 172.22.0.255 scope global wlan0
    inet 10.0.0.56/24 scope global wlan0
    inet6 fe80::76ea:3aff:fead:2e00/64 scope link 
       valid_lft forever preferred_lft forever

แสดงสถานะลิงก์ของอินเทอร์เฟซของฉัน ( ip link)

n2:~$ ip l
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
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:e0:4c:6d:0a:49 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff

ลบที่อยู่ IP ที่ 2 นี้จากส่วนต่อประสานไร้สายของฉัน ( ip addr delete)

n2:~$ sudo ip a del 10.0.0.56/24 dev wlan0

แสดงที่อยู่ IP เพียงเพื่อให้ wlan0 ตรวจสอบ ( ip addr show wlan0)

n2:~$ ip a s wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 74:ea:3a:ad:2e:00 brd ff:ff:ff:ff:ff:ff
    inet 172.22.0.221/24 brd 172.22.0.255 scope global wlan0
    inet6 fe80::76ea:3aff:fead:2e00/64 scope link 
       valid_lft forever preferred_lft forever

อาจใช้คำสั่งเดียวกันเพื่อลบ IP ปัจจุบันของฉัน 172.22.0.221 จากนั้นเพิ่มอีกคำสั่งหนึ่ง แต่ฉันจะสูญเสียการเชื่อมต่อซึ่งตอนนี้ฉันไม่สามารถทำได้ ด้านล่างคือคำสั่งเหล่านั้นแม้ว่าหลังจากนั้นฉันจะต้องเพิ่มเส้นทางเส้นทางเริ่มต้นใหม่ด้วย

n2:~$ ip r s
default via 172.22.0.1 dev wlan0  proto static 
169.254.0.0/16 dev wlan0  scope link  metric 1000 
172.22.0.0/24 dev wlan0  proto kernel  scope link  src 172.22.0.221  metric 2 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

ip a del 172.22.0.221/24 dev wlan0

ip a a 172.22.0.10/24 dev wlan

ip r a default via 172.22.0.1

# Re-add the same default route ^ via the same default gateway

0

จากรายละเอียดคำแนะนำในเว็บไซต์นี้ :

  1. ปิดใช้งานการจัดการแบบกราฟิกของการเชื่อมต่อเครือข่ายของคุณใน /etc/NetworkManager/NetworkManager.conf
  2. รวบรวมข้อมูลสำหรับ IP แบบคงที่ (อินเตอร์เฟส, IP ที่จะใช้, เกตเวย์เริ่มต้น, เครือข่ายย่อย, DNS)
  3. แก้ไข / etc / network / interfaces เพื่อรวมข้อมูลข้างต้น
  4. เริ่มบริการระบบเครือข่ายและผู้จัดการเครือข่ายใหม่

0

นี่เป็นวิธีที่ถูกต้องที่จะทำ

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