Centos
與 kvm 來賓相比,kvm 主機中不同的防火牆豐富規則行為
我有一個帶有單個公共 IPv4 的 CentOS 7 KVM 主機,它容納多個來賓作業系統並充當來賓網路 192.168.1.0/24 / nat 的防火牆/網關。
我想在埠 80 上執行 1 個來賓的網路伺服器,因此需要以下 firewalld 規則:
rule family=“ipv4” forward-port port=“80” protocol=“tcp” to-port=“80” to-addr=“192.168.1.3”
一旦完成,除了 192.168.1.3 之外的所有來賓都會失去與世界埠 80 的連接(即在執行 yum makecache 時),但不受影響的 KVM 主機除外。
問題是——這個規則是否會覆蓋firewalld的預設連接跟踪策略,如果是,為什麼主機不受影響?
附加資訊:客人正在使用 KVM 路由模式網路;相關主機 firewalld 配置:
external (active) target: default icmp-block-inversion: no interfaces: enp2s0 sources: services: ssh ports: protocols: masquerade: yes forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" forward-port port="80" protocol="tcp" to-port="80" to-addr="192.168.1.3"
以下內容以前不存在,但 virbr0 被 NetworkManager 拾取,所以我添加了盲目信任,直到設計出更好的策略
trusted (active) target: ACCEPT icmp-block-inversion: no interfaces: virbr0 sources: 192.168.1.0/24 services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
你的富人規則過於寬泛;它適用於埠 80 的所有流量,無論其來源或目的地如何。
要解決此問題,還要在富規則中指定目標 IP 地址。這是接收流量的全域IPv4 地址。例如:
rule family="ipv4" destination address="198.51.100.220" forward-port port="80" protocol="tcp" to-port="80" to-addr="192.168.1.3"