พฤติกรรมที่แน่นอนของคำสั่งคือ: การเปลี่ยนแปลงที่อยู่ ip?


12

ฉันเล่นซอกับ IPv6 และอายุการใช้งานที่อยู่ ฉันพบว่าvalid_lftคุณลักษณะนี้จะทำให้ที่อยู่ v6 หายไปโดยอัตโนมัติหากใช้อย่างถูกต้อง เพื่อยืดอายุการใช้งานของที่อยู่ฉันต้องการ

ip addr change 1:2:3:4::1/112 dev eth0 valid_lft 86000

การใช้ip addr changeไม่ปรากฏในมนุษย์หน้าเว็บใด ๆ ฉันมีการเข้าถึง (เดอูบุนตูและออนไลน์ ) และยังไม่ได้อยู่ในเอกสารที่เป็นทางการ ฉันพบในบทความที่อ้างถึงอีเมลจาก 2009 ถึงรายการส่งเมล ipv6-ops

จากสิ่งที่ฉันสามารถระบุได้ว่าเล่นไปรอบ ๆ ฉันคิดว่าสามารถใช้ip addr changeแทนได้เสมอip addr addเพราะถ้าไม่มีที่อยู่ipจะเพิ่มที่อยู่เพียงแค่ip addr addใช้

นั่นคือถูกต้องหรือไม่ใครสามารถอธิบายสิ่งที่ถูกต้องip addr changeและมันแตกต่างจากip addr addอะไร

คำตอบ:


6

เมื่อคุณไม่แน่ใจในสิ่งที่ทำและเอกสารไม่ได้บอกว่าคุณต้องไปที่แหล่งข้อมูลคือบรรทัด 1588 :

if (matches(*argv, "change") == 0 ||
    strcmp(*argv, "chg") == 0)
    return ipaddr_modify(RTM_NEWADDR, NLM_F_REPLACE, argc-1, argv+1);

แล้วมันทำอะไร? ผลตอบแทนจากการทำงานของipaddr_modify()ฟังก์ชั่นที่กำหนดไว้ในบรรทัด 1379ที่มีการขัดแย้งและRTM_NEWADDRNLM_F_REPLACE

จากสิ่งที่ฉันสามารถระบุได้ว่าเล่นไปรอบ ๆ ฉันคิดว่าสามารถใช้ip addr changeแทนได้เสมอip addr addเพราะถ้าไม่มีที่อยู่ipจะเพิ่มที่อยู่เพียงแค่ip addr addใช้

นั่นคือถูกต้องหรือไม่ใครสามารถอธิบายสิ่งที่ถูกต้องip addr changeและมันแตกต่างจากip addr addอะไร

ไม่addจะสร้างหรือดำเนินการอาร์กิวเมนต์ที่กำหนด (ถ้ามี) ในขณะที่changeจะค้นหาอาร์กิวเมนต์และแทนที่

BTW replaceดูเหมือนจะเป็นการประนีประนอมระหว่างaddและchangeในขณะที่ใช้ถุงผสมของข้อโต้แย้ง


และผลของธงเหล่านั้นคืออะไร? เพราะในบรรทัดคำสั่งพวกเขาไม่แสดงจริงๆ โดยเฉพาะอย่างยิ่งchangeผลงานaddหากที่อยู่ที่จะเปลี่ยนยังไม่มีอยู่ ฉันไม่คิดว่าฉันจะต้องขุดผ่านเคอร์เนลแหล่งที่มา (เพราะที่ที่มีการส่งผ่านธงในที่สุด) เพื่อหาสิ่งที่หนึ่งในเครื่องมือบรรทัดคำสั่งที่นิยมมากที่สุดสำหรับการจัดการเครือข่ายทำ นี่ไม่ใช่ 90s ... :-) แต่ขอบคุณมาก!
Bananguin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.