如何检查特定端口上的两个节点之间是否可以通信

时间:2019-02-18 05:48:16

标签: ansible

我有两台机器,需要检查机器1必须能够使用TCP协议通过端口10250与机器2进行通信,类似地,机器2必须能够通过端口2380与机器1进行通信。使用UDP协议。为此,我想使用Ansible并编写Ansible脚本,但是我不确定如何实现。 请让我知道您的看法。

预先感谢

2 个答案:

答案 0 :(得分:0)

按照我的观点,仅仅测试写一本可笑的剧本并不是一个好主意。但是,如果要编写,可以按照以下步骤操作:

  1. 创建一个名为“库存”的文件->此文件将托管端口号。和主机名
  2. 写一部执行任务的剧本。

结构:

库存

[UDP]
xx.xx.xx.xx

[UDP:vars]
port_number = 2380

[TCP]
xx.xx.xx.xx

[TCP:vars]
port_number = 10250

剧本

---
name: play to test the port connection
hosts: "{{ hosts }}"
tasks:
  - name: check if port is working.
    <module_name>: .......

答案 1 :(得分:0)

在这里,我已经尝试过一本可满足您要求的剧本。

- hosts: host[1:2].xxx.xx
  gather_facts: False
  become: yes
  vars:
    host1: host1.xxx.xx
    host2: host2.xxx.xx

  tasks:
    - name: Check port from host1 to host2
      wait_for: host={{host2}} port=10250 timeout=1
      delegate_to: "{{host1}}"

    - name: Check port from host2 to host1
      wait_for: host={{host1}} port=2380 timeout=1
      delegate_to: "{{host2}}"