所以,我似乎無法找到我的方式來解決這個令人沮喪的問題,我想知道這裏有沒有人有任何想法。 我有一個Jinja模板,它以配置文件格式吐出一長串IP地址。這工作正常。問題是,當我有一個客戶有一個以上的IP地址存儲到他們的名字模板,而不是將這個新的IP保存在一個新的線上,只需將第二個IP附加到第一個IP上, IP地址連接在一起。這當然不理想。 下面是我使用的神社模板:使用列出的YAML變量進行Jinja模板
{% for cust, config in customers.items()%}
{% raw %}#{% endraw %} {{ cust }} - {{ config['type'] }}
-A INPUT -s {{ config['ipaddr'] }} -p tcp -m state --state NEW -m tcp --dport {{config['accept']}} ACCEPT
{% endfor %}
這是變量,從該文件的模板走的是值:
BTG-VELOCITY:
type: PBSTP
accept: 32500
connect: 33500
ipaddr:
196.167.203.65
192.167.203.65
subtype: OUTBOUND
GFAM:
type: SPOT
accept: 32501
connect: 33501
ipaddr: 192.168.563.20
subtype: AMOUNT
GUANFABANK:
type: SPOT
accept: 32503
connect: 33503
ipaddr: 192.168.563.40
subtype: STACKED
MAINBANK:
type: FWD
accept: 32504
connect: 33504
ipaddr: 192.167.203.02
subtype: TIERED
TEST-BANK:
type: PBSTP
accept: 32506
connect: 33506
ipaddr: 192.167.203.92
subtype: INBOUND
SESH:
type: SPOT
accept: 32508
connect: 33508
ipaddr: 192.167.203.63
subtype: TIERED
的問題是與客戶的BTG速「 。模板吐出了這樣一行
-A INPUT -s 192.168.563.20 196.168.563.20 -p tcp -m state --state NEW -m tcp --dport 32501 ACCEPT
而不是期望的兩條線路是這樣的:
-A INPUT -s 192.168.563.20 -p tcp -m state --state NEW -m tcp --dport 32501 ACCEPT
-A INPUT -s 196.168.563.20 -p tcp -m state --state NEW -m tcp --dport 32501 ACCEPT
爲什麼不添加嵌套循環來遍歷IP地址? –
我試過這個,但我可能做錯了。當我這樣做的時候,最終會產生一個巨大的輸出文件,其輸入方式太多,每個客戶端在每一行都有相同的IP地址值。你有沒有機會建議如何正確地做到這一點? –