Score:0

วิธีที่ต้องการคัดลอกการกำหนดค่าเส้นทางไปยังโฮสต์อื่น

ธง in

ฉันกำลังแทนที่เซิร์ฟเวอร์ CentOS ด้วย Ubuntu 20 ฉันต้องทำซ้ำการกำหนดค่าการกำหนดเส้นทางเซิร์ฟเวอร์รุ่นเก่า ผลลัพธ์ของ แสดงเส้นทาง ip และ เส้นทาง ไม่สามารถใช้เป็นอินพุตได้โดยตรง

ฉันลังเลเล็กน้อยที่จะแปลเอาต์พุตเป็นคำสั่งเส้นทางด้วยมือ เนื่องจากข้อผิดพลาดมักจะเล็ดลอดเข้ามาเสมอ มีวิธีที่ดีกว่านี้ไหม

Nmath avatar
ng flag
คำสั่งอะไร? ข้อผิดพลาดอะไร แก้ไขคำถามของคุณและใส่รายละเอียด
pLumo avatar
in flag
ได้ คุณสามารถยกตัวอย่างสิ่งที่ใช้ไม่ได้กับการแปล
in flag
ฉันเพียงหลีกเลี่ยงการคัดลอกด้วยมือหรือการตัดข้อมูลเพื่อหลีกเลี่ยงข้อผิดพลาดของผู้ใช้ ฉันไม่รู้นิสัยแปลก ๆ ของ `route` หรือ `ip route` และเนื้อหาในเครือข่ายมีความเสี่ยงสูงต่อการพิมพ์ผิด
guiverc avatar
cn flag
คุณทราบหรือไม่ว่า Ubuntu มีผลิตภัณฑ์ที่แตกต่างกัน ผลิตภัณฑ์หลักที่ใช้ *deb* คือ *year.month* ในรูปแบบ เช่น เซิร์ฟเวอร์ Ubuntu 20.04 LTS แต่ยังมี *snap* เฉพาะผลิตภัณฑ์ที่ใช้รูปแบบ *ปี* เช่น Ubuntu Core 20 (เซิร์ฟเวอร์) 20 เป็นผลิตภัณฑ์ที่แตกต่างจาก 20.04 (ขึ้นอยู่กับระบบ 20.04 ที่ทรงพลังกว่า แต่มีขนาดเล็กลงทำให้เหมาะสำหรับอุปกรณ์ เครื่องใช้ และการใช้งานระบบคลาวด์..) แม่นยำด้วยรายละเอียด
Score:-1
ธง in

ฉันจะลองใช้สคริปต์ PowerShell เส้นทาง แสดงตารางเส้นทางปัจจุบันเป็นตารางพร้อมคอลัมน์เหล่านี้: ปลายทาง, เกตเวย์, Genmask, แฟล็ก, เมตริก, การอ้างอิง, การใช้งาน, Iface

ดังนั้นฉันจึงบันทึกผลลัพธ์นั้นลงในไฟล์ และคัดลอกไปยังโฮสต์ใหม่ ฉันแปลงผลลัพธ์ดิบเป็นไฟล์ csv โดยลบบรรทัดแรกออก และแทนที่ช่องว่างด้วยเครื่องหมายจุลภาค ฉันยังแทนที่ชื่ออุปกรณ์ด้วยชื่อที่ตรงกับระบบใหม่ ตารางเส้นทางการทดสอบของฉันอาจมีลักษณะดังนี้:

ปลายทาง, เกตเวย์, Genmask, แฟล็ก, เมตริก, การอ้างอิง, การใช้งาน, Iface
ค่าเริ่มต้น,เกตเวย์,0.0.0.0,UG,0,0,0,enp5s0
ค่าเริ่มต้น toblerone.mydomain.org,0.0.0.0,UG,100,0,0,eno1
192.168.0.0,0.0.0.0,255.255.255.0,U,100,0,0,eno1
192.168.1.0,0.0.0.0,255.255.255.0,U,0,0,0,enp5s0
192.168.1.0,เกตเวย์,255.255.255.0,UG,0,0,0,enp5s0

เดอะ เส้นทาง คำสั่งสามารถสร้างข้อผิดพลาดที่ไม่คาดคิดเมื่อมีเส้นทางอยู่แล้ว ฉันไม่ต้องการให้คำสั่งที่สร้างขึ้นทำงานโดยตรง ดังนั้นสคริปต์ PowerShell ของฉันจึงมีลักษณะดังนี้:

#!/usr/bin/env pwsh

Set-StrictMode - เวอร์ชั่นล่าสุด

$ErrorActionPreference = "หยุด"
$PSDefaultParameterValues['Set-*:ErrorAction'] = "หยุด"

$routeDataCSV = นำเข้า-CSV "./route_data.csv"
# ควรลบเส้นทางเพียงครั้งเดียวต่อการวิ่ง
$routeDeleted = @{}

foreach ($routeIn ใน $routeDataCSV) {
    ถ้า (!$routeDeleted[$routeIn.Destination] -or (!($routeDeleted[$routeIn.Destination] -like "true"))) {
        เขียนเอาต์พุต "route del -net $($routeIn.Destination)"
        $routeDeleted[$routeIn.Destination] = "จริง"
    }
    การเขียนเอาต์พุต "เส้นทางเพิ่ม -net $($routeIn.Destination) gw $($routeIn.Gateway) netmask $($routeIn.Genmask) เมตริก $($routeIn.Metric) dev $($routeIn.Iface)"
}

คำสั่งที่สร้างขึ้นคือ:

เส้นทาง del -net เริ่มต้น
เพิ่มเส้นทาง - เกตเวย์เริ่มต้นสุทธิ gw netmask 0.0.0.0 เมตริก 0 dev enp5s0
เพิ่มเส้นทาง - ค่าเริ่มต้นสุทธิ gw toblerone.mydomain.org netmask 0.0.0.0 เมตริก 100 dev eno1
เส้นทาง del -net 192.168.0.0
เพิ่มเส้นทาง -net 192.168.0.0 gw 0.0.0.0 netmask 255.255.255.0 เมตริก 100 dev eno1
เส้นทาง del -net 192.168.1.0
เพิ่มเส้นทาง -net 192.168.1.0 gw 0.0.0.0 netmask 255.255.255.0 เมตริก 0 dev enp5s0
เส้นทางเพิ่ม -net 192.168.1.0 gw เกตเวย์ netmask 255.255.255.0 เมตริก 0 dev enp5s0
in flag
สิ่งนี้ "ใช้งานได้" แต่อย่างที่ฉันกลัว มีหลายสิ่งที่ต้องเรียนรู้เกี่ยวกับคำสั่ง `เส้นทาง` คำสั่งทั้งหมดข้างต้นล้มเหลวเมื่อมีตัวเลือก '-net' แม้ว่าเป้าหมายจะเป็นเครือข่ายทั้งหมด ด้วยการแก้ไขนั้น เส้นทางบางเส้นทางที่ฉันต้องการใช้งานได้จริง แต่คำสั่งที่เหลือล้มเหลว คำสั่งข้างต้นทั้งหมดที่มี "gw 0.0.0.0" นั้นไม่มีจุดหมายและจะล้มเหลวโดยมีข้อผิดพลาด เนื่องจากเครือข่ายเหล่านั้นเป็นแบบโลคัลและไม่ต้องการเส้นทาง อาจจะมีปัญหามากกว่านี้แต่ทางผมต้องการงานจึงจบ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา