คำสั่ง Linux และทักษะเชลล์
ip: คำสั่งอินเทอร์เฟซที่แทนที่ ifconfig
ชุด iproute2 (ip, ss และเพื่อน) เข้ามาแทนที่ net-tools เมื่อหลายปีก่อน และอินเทอร์เน็ตครึ่งหนึ่งยังคงสอนคำสั่งเก่าอยู่ ip มองเห็นความเป็นจริงสมัยใหม่: ตารางเส้นทางหลายตาราง กฎนโยบาย เนมสเปซ และลิงก์ที่เก็บที่อยู่แทนที่จะสร้างขึ้นจากสิ่งเหล่านี้ ifconfig เดินกะโผลกกะเผลกไปตามเลเยอร์ความเข้ากันได้ในการแจกแจงบางอย่าง ในสคริปต์และหน่วยความจำของกล้ามเนื้อ ให้ถือเป็นการตกแต่งที่เลิกใช้แล้ว
ประเด็นสำคัญ
- เริ่มต้นจากความจริงขนาดกะทัดรัด: ลิงก์ ip -br addr และ ip -br พิมพ์ทุกอินเทอร์เฟซและที่อยู่ในหน้าจอเดียว ip -br -4 addr scoped คือภาพรวมสินค้าคงคลังทุกวัน
- การเปลี่ยนแปลงรันไทม์เป็นแบบชั่วคราวโดยการออกแบบ: ip addr เพิ่ม 10.0.0.5/24 dev eth0 เพิ่ม, ip addr del ลบออก และไม่มีสิ่งใดรอดจากการรีบูต netplan, ไฟล์ ifcfg หรือ NetworkManager มีสถานะคงทน
- การกำหนดเส้นทางคือจุดที่ ip โดดเด่น: การแสดงเส้นทาง ip สำหรับตาราง เส้นทาง ip เพิ่มค่าเริ่มต้นผ่าน 10.0.0.1 และเส้นทาง ip ที่ประเมินต่ำเกินไปจะได้รับ 1.1.1.1 ซึ่งตอบได้อย่างชัดเจนว่าอินเทอร์เฟซและเกตเวย์ใดที่แพ็กเก็ตจะใช้
- ip neigh แทนที่ arp -a และสองต่อหนึ่งที่ซ้ำกันที่คุณเห็นในบางครั้งอาจเป็นคู่ VRRP ที่ใช้งานได้หรือ IP ที่ย้ายไปยัง MAC ใหม่ ความแตกต่างคือมีการวางแผนไว้หรือไม่
- การกำหนดเส้นทางนโยบายมาจากเครื่องมือเดียวกัน: กฎ ip และตารางแสดงเส้นทาง ip ทั้งหมดเปิดเผยการกำหนดเส้นทางแบบหลายเกตเวย์ต่อแหล่งที่มาซึ่งไม่มีเครื่องมือรุ่นเก่าใดที่เคยบอกคุณอย่างตรงไปตรงมา
- การเปลี่ยนแปลงสถานะของอินเทอร์เฟซเป็นแบบสดและในเครื่อง: ลิงก์ ip จะตั้งค่าคำตอบ eth0 ทันทีจากเซสชัน SSH ของคุณบนอินเทอร์เฟซนั้น สิ่งใดก็ตามที่มีความเสี่ยงจะได้รับเซสชันที่สอง อินเทอร์เฟซอื่น หรือคอนโซล
- สำหรับการดีบัก ความเป็นจริงที่แตกต่าง ไม่ใช่หน่วยความจำ: ตารางแสดงเส้นทาง ip ทั้งหมดก่อนและหลังการเปลี่ยนแปลงจะบอกความจริงเกี่ยวกับสิ่งที่ย้าย (และล้างด้วยแคชล้างเส้นทาง ip เมื่อการทดสอบนโยบายทำงานผิดปกติ)
- เรียนรู้พี่น้องครั้งหนึ่ง: ss -tulpn แทนที่ netstat, ip netns สร้างแซนด์บ็อกซ์ทดสอบ และร่วมกันครอบคลุมรายการทั้งหมดของ net-tools รวมถึงส่วนที่ net-tools ไม่เคยมองเห็น
บันทึกจากหน้างาน
การนำอินเทอร์เฟซที่ฉันใช้ SSH มาใช้ยุติเซสชันระหว่างการแก้ไขและสอนบทเรียนที่ทุกคนเตือนคุณให้ฉันทราบ การเปลี่ยนแปลงลิงก์ IP ใดๆ ในขณะนี้เกิดขึ้นจากคอนโซลหรืออย่างน้อยอินเทอร์เฟซที่สอง
คำถามที่พบบ่อย
เหตุใดการเปลี่ยนแปลง IP ของฉันจึงหายไปหลังจากรีบูตเครื่อง
คำสั่ง ip แก้ไขสถานะรันไทม์เท่านั้น การคงอยู่มาจากเลเยอร์เครือข่ายของ distro (netplan, NetworkManager, ifcfg) เส้นทางที่มีอยู่ในเคอร์เนลที่ทำงานอยู่เท่านั้นเป็นการสาธิต ไม่ใช่การปรับใช้
ฉันควรกังวลเกี่ยวกับลิงก์ ip ที่ตั้งค่าไว้บน SSH หรือไม่
ใช่: การนำอินเทอร์เฟซที่เซสชันของคุณเดินทางลงมาเป็นวิธีที่น่ายกย่องในการล็อคตัวเองจากการเปลี่ยนแปลงระหว่างการเปลี่ยนแปลง ทำการผ่าตัดลิงก์จากคอนโซล อินเทอร์เฟซที่สอง หรืออย่างน้อยเซสชันที่สองที่เปิดอยู่แล้ว
ฉันจะอ่านเอาท์พุตการกำหนดเส้นทางอย่างรวดเร็วได้อย่างไร
ค่าเริ่มต้นผ่าน <gateway> dev <iface> คือเรื่องราวทั้งหมด เมตริกขาดความสัมพันธ์ ลิงก์ขอบเขตหมายถึงการส่งแบบออนลิงก์ และบรรทัดเริ่มต้นที่ขาดหายไปมักจะหมายถึง DHCP พังมากกว่าการกำหนดเส้นทางเวทย์มนตร์
อะไรมาแทนที่ netstat จริงๆ?
ss: เครื่องมือเดียวใน distros สมัยใหม่, ss -tulpn สำหรับซ็อกเก็ตการฟังพร้อมชื่อกระบวนการ, ss -s สำหรับตัวเลขสรุป; ถ้าเอกสารยังบอกว่า netstat -tapen แสดงว่ากำลังสอนปี 2009
Kinetikatech ช่วยเรื่อง คำสั่ง linux และทักษะเชลล์ ได้อย่างไร
คุณไม่ควรต้องกลายเป็นผู้เชี่ยวชาญเรื่อง คำสั่ง linux และทักษะเชลล์: คำสั่งและพฤติกรรมการเขียนสคริปต์ที่ตัดสินใจว่าผู้ดูแลระบบจะใช้งานเซิร์ฟเวอร์หรือต่อสู้กับเซิร์ฟเวอร์: ค้นหา แปลง ถ่ายโอน และดูแลข้อความและกระบวนการด้วยเครื่องมือที่อยู่ในทุกการติดตั้งฐาน นั่นคือหน้าที่ของ ความปลอดภัยเซิร์ฟเวอร์ Linuxและการจัดการเซิร์ฟเวอร์ พอดี ตั้งค่า เสริมความปลอดภัย เฝ้าระวัง และมีคนรับโทรตลอดวันทุกวัน