Score:0

วิธีโหลด firewalld ใหม่โดยไม่สูญเสียกฎการส่งต่อ Libvirt iptables

ธง cn

เป็นที่ทราบกันดีว่าไฟร์วอลล์จะล้างกฎของ Libvirt เมื่อโหลดซ้ำ และทำให้การส่งต่อพอร์ตไปยัง VM เสียหายจนกว่าคุณจะรีสตาร์ท libvirtd นี่คือสิ่งที่ฉันทำ:

  1. สร้าง /etc/systemd/system/firewalld-reload-hook.service
[หน่วย]
Description=firewalld reload hook - รันสคริปต์ hook บน firewalld reload
ต้องการ = dbus-broker.service
After=dbus-broker.service

[บริการ]
ประเภท = ง่าย
ExecStart=/bin/bash -c '/bin/busctl monitor --system --json=short --match "interface=org.fedoraproject.FirewallD1,member=Reloaded" | ขณะอ่าน -r บรรทัด ; ทำ [ -x /sbin/firewalld-reload-hook ] && /sbin/firewalld-reload-hook ; เสร็จแล้ว'

[ติดตั้ง]
WantedBy=multi-user.target
  1. สร้าง /sbin/firewalld-reload-hook
#!/bin/bash

# เรียกใช้โดย /etc/systemd/system/firewalld-reload-hook.service
ตั้ง -e

คนตัดไม้ "$BASH_SOURCE: Firewalld reload hook ทริกเกอร์"

/usr/bin/systemctl รีสตาร์ท libvirtd

คนตัดไม้ "$BASH_SOURCE: Libvirt รีสตาร์ท"

ทางออก 0

และทำให้ปฏิบัติการได้ chmod +x /sbin/firewalld-reload-hook

  1. ติดตั้ง libvirt-hook-qemu
คอมไพล์โคลน https://github.com/saschpe/libvirt-hook-qemu.git
ทำการติดตั้ง
  1. แก้ไข /etc/libvirt/hooks/hooks.json เพื่อให้ตรงกับความต้องการของคุณ นี่เป็นเพียงตัวอย่างเท่านั้น
{
    "www": {
        "private_ip": "192.168.122.100",
        "port_map": {
            "tcp": [80, 443]
        }
    },
    "จดหมาย": {
        "private_ip": "192.168.122.101",
        "port_map": {
            "tcp": [25, 465]
        }
    }
}
  1. เปิดใช้งานและเริ่มต้น firewalld-reload-hook.service
systemctl เปิดใช้งาน firewalld-reload-hook.service
systemctl เริ่ม firewalld-reload-hook.service
  1. ไฟร์วอลล์ cmd --reload

ณ จุดนี้ systemctl รีสตาร์ท libvirtd และ ไฟร์วอลล์ cmd --reload ให้ผลลัพธ์เดียวกันและรอดชีวิตจากการรีบูต (ทดสอบบน Debian bullseye ด้วย nftables และเครือข่าย libvirt 7.0/NAT)

นี่เป็นวิธีที่ดีที่สุดในการทำเช่นนี้หรือไม่?

อ้างอิง libvirt-hook-qemu, firewalld-reload-hook.service, firewalld.dbus

โพสต์คำตอบ

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