Android

คำสั่ง Linux ip พร้อมตัวอย่าง

Episode 43 - Change IP Address From the Command Line in Linux

Episode 43 - Change IP Address From the Command Line in Linux

สารบัญ:

Anonim

คำสั่ง ip เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการกำหนดค่าการเชื่อมต่อเครือข่ายที่ผู้ดูแลระบบ Linux ควรรู้ สามารถใช้เพื่อนำอินเตอร์เฟสขึ้นหรือลงกำหนดและลบที่อยู่และเส้นทางจัดการแคช ARP และอีกมากมาย

ในบทช่วยสอนนี้เราจะแสดงวิธีใช้คำสั่ง ip ผ่านตัวอย่างการใช้งานจริงและคำอธิบายโดยละเอียดเกี่ยวกับตัวเลือกทั่วไป

วิธีใช้คำสั่ง ip

ยูทิลิตี ip เป็นส่วนหนึ่งของแพ็คเกจ iproute2 ที่ติดตั้งไว้ในดิสทริบิวชัน Linux ทั้งหมด

ไวยากรณ์สำหรับคำสั่ง ip มีดังนี้:

ip OBJECT COMMAND

OBJECT เป็นประเภทวัตถุที่คุณต้องการจัดการ วัตถุที่ใช้บ่อยที่สุด (หรือคำสั่งย่อย) คือ:

  • link ( l ) - แสดงและแก้ไขเน็ตเวิร์กอินเตอร์เฟส address ( a ) - แสดงและแก้ไขที่อยู่ IP route ( r ) - แสดงและแก้ไขตารางเส้นทาง neigh ( n ) - แสดงและจัดการกับวัตถุเพื่อนบ้าน (ตาราง ARP)

วัตถุสามารถเขียนในรูปแบบเต็มหรือย่อ (สั้น) ในการแสดงรายการคำสั่งและอาร์กิวเมนต์สำหรับวิธีใช้แต่ละชนิดของวัตถุ ip OBJECT help แต่ละคำสั่งย่อย

เมื่อกำหนดค่าอินเทอร์เฟซเครือข่ายคุณต้องดำเนินการคำสั่งในฐานะรูทหรือผู้ใช้ด้วยสิทธิ์ sudo มิฉะนั้นคำสั่งจะพิมพ์ RTNETLINK answers: Operation not permitted

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

การแสดงและแก้ไขที่อยู่ IP

เมื่อทำงานกับวัตถุ addr คำสั่งจะใช้แบบฟอร์มต่อไปนี้:

ip addr ADDRESS dev IFNAME

คำสั่งที่ใช้บ่อยที่สุดของวัตถุ addr คือ: show add และ del

แสดงข้อมูลเกี่ยวกับที่อยู่ IP ทั้งหมด

ในการแสดงรายการอินเตอร์เฟสเครือข่ายทั้งหมดและที่อยู่ IP ที่เกี่ยวข้องให้พิมพ์คำสั่งต่อไปนี้:

ip addr show

ผลลัพธ์จะมีลักษณะดังนี้:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

คุณจะได้รับผลลัพธ์เดียวกันหากคุณพิมพ์ละเว้นคำสั่ง show และพิมพ์: ip addr

แสดงข้อมูลเกี่ยวกับอินเทอร์เฟซเครือข่ายเดียว

ในการรับข้อมูลเกี่ยวกับอินเทอร์เฟซเครือข่ายเฉพาะให้ใช้ ip addr show dev ตามด้วยชื่ออุปกรณ์ ตัวอย่างเช่นหากต้องการค้นหา eth0 คุณจะต้องพิมพ์:

ip addr show dev eth0

กำหนดที่อยู่ IP ให้กับอินเทอร์เฟซ

ในการกำหนดที่อยู่ IP ให้กับอินเทอร์เฟซให้ใช้ไวยากรณ์ต่อไปนี้:

ip addr add ADDRESS dev IFNAME

โดยที่ IFNAME เป็นชื่อส่วนต่อประสานและ ADDRESS คือที่อยู่ IP ที่คุณต้องการกำหนดให้กับส่วนต่อประสาน

ในการเพิ่มที่อยู่ 192.168.121.45 ด้วย netmask 24 ไปยังอุปกรณ์ eth0 คุณต้องพิมพ์:

sudo ip address add 192.168.121.45/24 dev eth0

เมื่อสำเร็จคำสั่งจะไม่แสดงเอาต์พุตใด ๆ หากไม่มีอินเทอร์เฟซคุณจะได้รับ Cannot find device "eth0"

กำหนดที่อยู่ IP หลายแห่งให้กับอินเทอร์เฟซเดียวกัน

ด้วย ip คุณสามารถกำหนดที่อยู่หลายแห่งให้กับอินเทอร์เฟซเดียวกันได้ ตัวอย่างเช่น:

sudo ip address add 192.168.121.241/24 dev eth0 sudo ip address add 192.168.121.45/24 dev eth0

ในการยืนยันว่า IP ได้รับการกำหนดให้พิมพ์ ip -4 addr show dev eth0 หรือ ip -4 a show dev eth0 :

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

ลบ / ลบที่อยู่ IP จากอินเตอร์เฟส

ไวยากรณ์ในการลบที่อยู่ IP จากส่วนต่อประสานมีดังนี้:

ip addr dev ADDRESS dev IFNAME

IFNAME เป็นชื่ออินเตอร์เฟสและ ADDRESS คือที่อยู่ IP ที่คุณต้องการลบออกจากอินเทอร์เฟซ

หากต้องการลบที่อยู่ 192.168.121.45/24 จากประเภทอุปกรณ์ eth0:

sudo ip address del 192.168.121.45/24 dev eth0

การแสดงและการแก้ไขการเชื่อมต่อเครือข่าย

ในการจัดการและดูสถานะของอินเทอร์เฟซเครือข่ายให้ใช้วัตถุ link

คำสั่งที่ใช้บ่อยที่สุดเมื่อทำงานกับวัตถุ link คือ: show , set , add และ del

แสดงข้อมูลเกี่ยวกับอินเทอร์เฟซเครือข่าย

หากต้องการแสดงรายการอินเตอร์เฟสเครือข่ายทั้งหมดให้พิมพ์คำสั่งต่อไปนี้:

ip link show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

ไม่เหมือนกับ ip addr show , ip link show จะไม่พิมพ์ข้อมูลเกี่ยวกับที่อยู่ IP ที่เชื่อมโยงกับอุปกรณ์

ในการรับข้อมูลเกี่ยวกับอินเทอร์เฟซเครือข่ายเฉพาะให้ใช้การ ip link show dev แล้วตามด้วยชื่ออุปกรณ์ ตัวอย่างเช่นหากต้องการค้นหา eth0 คุณจะต้องพิมพ์:

ip link show dev eth0

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

แก้ไขสถานะของอินเตอร์เฟสขึ้น / ลง

ในการทำให้อินเทอร์เฟซขึ้นหรือลงให้ใช้ ip link set dev แล้วตามด้วยชื่ออุปกรณ์และสถานะที่ต้องการ:

ip link set dev {DEVICE} up

ตัวอย่างเช่นหากต้องการให้ส่วนต่อประสาน eth0 ออนไลน์คุณต้องพิมพ์:

ip link set eth0 up

และต้องนำมาถ้าออฟไลน์

ip link set eth0 down

การแสดงและแก้ไขตารางเส้นทาง

ในการกำหนดลบและแสดงตารางการกำหนดเส้นทางเคอร์เนลให้ใช้วัตถุ route คำสั่งที่ใช้บ่อยที่สุดเมื่อทำงานกับวัตถุเส้นทางคือ: list , add and del

แสดงตารางเส้นทาง

ในการรับรายการของรายการเส้นทางเคอร์เนลใช้หนึ่งในคำสั่งต่อไปนี้:

ip route ip route list ip route list SELECTOR

เมื่อใช้งานโดยไม่มี SELECTOR คำสั่งจะแสดงรายการเส้นทางทั้งหมดในเคอร์เนล:

ip route list

default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100

หากต้องการแสดงเฉพาะการเราต์สำหรับเครือข่ายเฉพาะเช่น 172.17.0.0/16 คุณจะต้องพิมพ์:

ip r list 172.17.0.0/16

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

เพิ่มเส้นทางใหม่

ในการเพิ่มรายการใหม่ในตารางเส้นทางให้ใช้คำสั่ง route add ตามด้วยชื่อเครือข่ายหรืออุปกรณ์

เพิ่มเส้นทางไปที่ 192.168.121.0/24 ผ่านเกตเวย์ที่ 192.168.121.1

ip route add 192.168.121.0/24 via 192.168.121.1

เพิ่มเส้นทางไปที่ 192.168.121.0/24 ที่สามารถเข้าถึงได้บนอุปกรณ์ eth0

ip route add 192.168.121.0/24 dev eth0

ในการเพิ่มเส้นทางเริ่มต้นให้ใช้คำหลักที่เป็น default คำสั่งต่อไปนี้จะเพิ่มเส้นทางเริ่มต้นผ่านทางเกตเวย์ท้องถิ่น 192.168.121.1 ที่สามารถเข้าถึงได้บนอุปกรณ์ eth0

ip route add default via 192.168.121.1 dev eth0

ลบเส้นทาง

ในการลบรายการออกจากตารางเส้นทางให้ใช้คำสั่ง route add , ไวยากรณ์สำหรับการลบเส้นทางเหมือนกันเมื่อเพิ่ม

คำสั่งต่อไปนี้จะลบเส้นทางเริ่มต้น:

ip route del default

ลบเส้นทางสำหรับ 192.168.121.0/24 ผ่านเกตเวย์ที่ 192.168.121.1

ip route add 192.168.121.0/24 via 192.168.121.1

ข้อสรุป

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

ip terminal