微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ansible 通过代理或者叫网关直接操作内网服务器

转载地址:https://blog.csdn.net/kaikai0720/article/details/108613873

需求:

  当我们的机器在IDC托管时,往往在多个地区都有托管,每个地区的IDC中只有一台外网服务器,这台外网机器起到接收外面请求及内网中机器中的请求,当我们想要使用Ansible管理内网主机时,就需要用到类似“代理”的一个功能,实际底层使用的还是“ssh”;

分析:

  因为Ansible底层使用的就是SSH协议,所以我们可以直接定义SSH方法

SSH“代理”介绍:

  -o:添加选项

  -W:指定host:port

  proxycommand:“代理”模块

  如果不使用上述这些模块,ssh命令会直接与后方所指定的主机进行连接,但无法连接内网服务器;

Ansible Hosts文件中相关配置:

  Ansible的Hosts文件中存储了被管控的主机地址等信息,我们可以直接在Hosts文件中定义" ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -p 22 -q root@xxx.xxx.xx.xx" ";可以将这些内容直接定义到一个地区的固定变量中;

~]# vim /etc/ansible/hosts

[bj-server:vars]

ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -p 22 -q root@xxx.xxx.xx.xx"

[nj-server:vars]

ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -p 22 -q root@xxx.xxx.xx.xx"



[bj-server]

test1 ansible_ssh_host=172.16.1.10

test2 ansible_ssh_host=172.16.1.20

配置完成后使用ansible就可以管理内网的主机拉
————————————————

原文链接https://blog.csdn.net/kaikai0720/article/details/108613873

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐