ฉันมีเซิร์ฟเวอร์ CentOS7 บางตัวที่มีที่อยู่ IP สองแห่งในสองซับเน็ตที่แตกต่างกัน (เช่น 192.168.1.0/24 และ 192.168.2.0/24)
เซิร์ฟเวอร์บางตัวมีการเชื่อมต่อเครือข่ายทางกายภาพสองรายการ และที่อยู่ที่แตกต่างกันถูกกำหนดให้กับอุปกรณ์ต่างๆ โดยใช้สองรายการที่แตกต่างกัน (ของ NetworkManager) การเชื่อมต่อ:
การเชื่อมต่อ nmcli เพิ่มประเภท ethernet con-name SUBNET1 ifname eth0 ip4 192.168.1.1/24 ...
การเชื่อมต่อ nmcli เพิ่มประเภท ethernet con-name SUBNET2 ifname eth1 ip4 192.168.2.1/24 ...
ฉันยังมีสคริปต์บางอย่างเพื่อตั้งค่าคุณสมบัติบางอย่างของไดนามิก การเชื่อมต่อ, เช่น.:
การเชื่อมต่อ nmcli แก้ไข SUBNET2 +ipv4.routes "192.168.3.100 src=192.168.2.1"
เครื่องอื่นๆ ในคลัสเตอร์มีอินเทอร์เฟซเครือข่ายทางกายภาพเพียงอินเทอร์เฟซเดียว และที่อยู่ในเครือข่ายย่อย 192.168.2.0/24 ถูกกำหนดเป็นนามแฝงให้กับ eth0
ความหวังของฉันคือการใช้สคริปต์ที่มีอยู่ในเครื่องทั้งหมดในคลัสเตอร์ น่าเสียดายที่แม้ว่าคุณจะสามารถกำหนดได้สองแบบ การเชื่อมต่อ เมื่อใช้อุปกรณ์เครื่องเดียวกัน คุณจะไม่สามารถเปิดใช้งานพร้อมกันได้ (กล่าวคือ อุปกรณ์เหล่านี้ไม่ได้ 'รวมเข้าด้วยกัน') นี่เป็นเรื่องน่าเสียดายเพราะการแยกแนวคิดของวัตถุทั้งสองด้วยคุณสมบัติที่เกี่ยวข้องนั้นเป็นนามธรรมเพียงหยิบมือเดียว
บนเครื่องเหล่านี้ ฉันต้องกำหนดใหม่ การเชื่อมต่อ (เช่น 'SYSTEM') กับที่อยู่บอท เช่น
การเชื่อมต่อ nmcli เพิ่มประเภท ethernet con-name SYSTEM ip4 192.168.1.x/24,129.168.2.x/24 ...
แต่เนื่องจากสคริปต์ขึ้นอยู่กับ การเชื่อมต่อ ชื่อ ("SUBNET1" หรือ "SUBNET2") จะไม่ทำงานที่นี่
ดังนั้นคำถามคือ: ฉันจะดึงชื่อการเชื่อมต่อกับที่อยู่ในเครือข่ายย่อยที่กำหนดโดยทางโปรแกรมได้อย่างไร เพื่อให้ฉันสามารถเปลี่ยนชื่อการเชื่อมต่อแบบฮาร์ดโค้ดเป็นพารามิเตอร์ได้
ป.ล. เพื่อแก้ไขคุณสมบัติการเชื่อมต่อที่ฉันต้องการใช้ เอ็นเอ็มซีแอล
เท่านั้น ฉันไม่ต้องการเพิ่มเส้นทางโดยใช้ ไอพี
คำสั่งหรือแก้ไขไฟล์โดยตรงใน /etc/sysconfig/network-scripts/
.