你如何改变ansible_default_ipv4?

时间:2015-04-07 15:48:06

标签: ansible ansible-facts

我想将ansible_default_ipv4更改为指向eth1而不是eth0。我可以在剧本中或通过--extra-vars选项吗?

2 个答案:

答案 0 :(得分:15)

ansible uses command ip -4 route get 8.8.8.8获取默认的ipv4接口。您可以change your ip/routing tableseth1作为默认路由,然后将其返回。

或者您可以使用 custom fact

PS:使用set_fact覆盖 ansible_default_ipv4这个事实,但由于缓存,范围等原因,它有自己的陷阱......

答案 1 :(得分:0)

ip -4 route get 8.8.8.8无法在我的服务器上运行。

我创造了这项工作。

- name: find default ipv4... this is a bit of a hack. shell: ifconfig $(route | grep default | awk '{print $(NF)}') | grep 'inet' | awk '{ print $2}' register: ipv4_address

现在我可以在任何需要的地方使用ipv4_address