簡體   English   中英

使用 Ansible 編輯 IP

[英]Edit IPs with Ansible

是否可以使用 Ansible 自定義 IP 地址。 例如,當遠程系統 IP 為127.34.34.21 ,DNS IP 為127.34.34.1

DNS IP 始終是系統 IP,但最后一個數字是1 Ansible 有可能動態地做到這一點嗎?

查找系統 IP > 自定義 > 將新 IP 設置為 DNS IP。

問: 是否可以使用 Ansible 自定義 IP 地址?

答:是的。 這是。 有很多選擇。

  • 使用拆分方法和連接過濾器。 例如
    - set_fact:
        dns: "{{ ip.split('.')[:3]|join('.') ~ '.1' }}"
      vars:
        ip: 127.34.34.21
    - debug:
        var: dns

  dns: 127.34.34.1
  • 可以使用splitext過濾器而不是split/join 例如,下面的任務給出了相同的結果
    - set_fact:
        dns: "{{ (ip|splitext)[0] ~ '.1' }}"
  • 下一個選項是ipaddr過濾器。 例如,下面的任務給出了相同的結果
    - set_fact:
        dns: "{{ (ip ~ '/24')|ipaddr('first_usable') }}"

問: Ansible 有沒有可能做到這一點?

答:是的。 這是。 您必須決定使用哪個 IP 地址。 例如,使用ansible_default_ipv4.address

    - debug:
        var: ansible_default_ipv4.address
    - set_fact:
        dns: "{{ (ip ~ '/24')|ipaddr('first_usable') }}"
      vars:
        ip: "{{ ansible_default_ipv4.address }}"
    - debug:
        var: dns

給予(略)

  ansible_default_ipv4.address: 10.1.0.27
  dns: 10.1.0.1

請參閱設置 查看變量ansible_default_ipv4 的其他屬性。 請參閱變量ansible_all_ipv4_addresses

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM