인프런 커뮤니티 질문&답변

나나나뇨뇨뇨님의 프로필 이미지
나나나뇨뇨뇨

작성한 질문수

[기초-응용] 다양한 환경을 앤서블(Ansible)로 관리하기 with 베이그런트(Vagrant)

Ansible-Server에서 Windows node로 ping test가 안돼서 질문드립니다.

해결된 질문

작성

·

448

0

환경

host machine: MacOS

ansible server : CentOS8 (box image : generic/centos8)

ansible node : Windows2012R2 (box image : 실습과 동일)

ansible version : 2.9.15

vagrant version : 2.2.14

현재 발생한 문제점

  • ansible-server에서 ansible-node03(windows2012r2)로 ping test가 안됨

Pasted Graphic.png

  • host machine(macOS)에서 ansible-node03(windows2012r2)로 ping test가 안됨

blob.tiff

  • pywinrm과 winrm 설정을 모두 마치고 ping test

Pasted Graphic_1.png

하지만,

  • ansible-node03(Windows2012r2) -> ansible-server ping이 감

blob_1.tiff

  • ansible-node03 -> host machine(MacOS)로 ping이 감

blob_1.tiff

Ansible_env_ready.yml

TS

1. Windows 방화벽 문제일까?

강의 코드 중 `netsh firewall` 명령어가 잘 적용됐다는 log를 보았지만 최신 버전은 다를 수 있을꺼 같아서 명령어를 업데이트하고 각 profile마다 방화벽을 다 닫아 주었습니다. (Windows의 방화벽에서 ping test를 허용해주는 inbound문제일까 잠깐 생각했지만 방화벽을 끄면 해결되는 문제라서 강의처럼 방화벽을 껐습니다.)

Vagranfile의 Ansible-node03(Windows2012r2) provision 부분

cfg.vm.provision "shell", inline: "netsh advfirewall set currentprofile state off"

cfg.vm.provision "shell", inline: "netsh advfirewall set domainprofile state off"

cfg.vm.provision "shell", inline: "netsh advfirewall set privateprofile state off"

-> 여전히 안됨.

명령어 변경 부분 -> MS doc 참조

* traceroute로 ping 경로 추적

blob_3.tiff

2. Vagrantfile의 windows 네트워크 설정 문제?

Windows machine을 추가하는 코드는 다음과 같이 설정했습니다.

Vagrantfile

  # Ansible-Node03 (Windows2012R2)

  config.vm.define:"ansible-node03" do |cfg|

    cfg.vm.box = "opentable/win-2012r2-standard-amd64-nocm"

    cfg.vm.provider:virtualbox do |vb|

      vb.name="Ansible-Node03"

      vb.customize ["modifyvm", :id, "--cpus", 2]

      vb.customize ["modifyvm", :id, "--memory", 2048]

    end

    cfg.vm.host_name="ansible-node03"

    cfg.vm.synced_folder ".", "/vagrant", disabled: true

    cfg.vm.network "public_network", ip: "192.168.35.13", bridge: "en0: Wi-Fi (Wireless)"

    cfg.vm.network "forwarded_port", guest: 22, host: 19213, auto_correct: false, id: "ssh"

    cfg.vm.provision "shell", inline: "netsh advfirewall set currentprofile state off"

    cfg.vm.provision "shell", inline: "netsh advfirewall set domainprofile state off"

    cfg.vm.provision "shell", inline: "netsh advfirewall set privateprofile state off"

  end

  • 중간 network 설정중 bridge: "en0: Wi-Fi (Wireless)" 이부분은 매번 `vagrant up`으로 머신 생성 시 network interface를 묻는 부분이 나오길래 자동으로 진행하고자 추가했습니다.

그래서 결론은?

Two Vagrant VMs cannot ping each other 참조

위 글을 참조하여 `ans Win -m "ping" -c local -k`의 명령어로 ping test는 성공의 결과가 나왔으나, 근본적으로 어떤 문제점으로 한 방향에서(Ansible-server에서 Windows로) ping test를 실패했는지 이유를 모르겠어서 질문드립니다.

`and Win -m "ping" -c local -k`로 실행모습

blob_4.tiff

Bridge network interface상 .10(ansible-server)와 .35(Windows2012r2)는 같은 network에 위치한거 같은데 통신이 안되는 이유가 어떤점때문인지.. 그전 linux 실습 상황에서 똑같이 bridge interface를 이용했을 때는 문제가 없었습니다.

이것저것 해보고 질문드리는 거라서, 아직도 많은 부분이 부족한것 같습니다. 읽어주셔서 감사합니다.

답변 4

1

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

그쵸 둘다하면 더 좋죠 :) 거기에 데비안계열(우분투)도 하면 재미나요 (이건 클라우드에서 주로 베이스로 많이 써서)

별말씀을요 응원해 주시니 힘이 나네요! 쿠버도 열심히 해서 가능하다면 강의로 porting 하겠습니다. 

조훈 드림. 

1

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

안녕하세요 

주말에 따로 작업하고 있는게 있어서 회신이 늦었네요 

5985이면 winrm 포트인데...아마 지금 쓰신 box인 generic/centos8에서 FW가 기본으로 활성화되어 있어서

그런거 같네요 

아시다시피 제가 영상을 찍었던 버전은 "centos/7"라서..

위에 올려주신 vagrantbox를 보니 버전들이 약간 달라서 실습 시에 몇몇 문제가 계속 나올수도 있겠네요 

그래서 (윈도우는 거의 똑같지만, 몇개 안 바꿈) centos7과 8은 좀 변동이 많으니 실습시에 비교하면서 하시면 도움이 되시겠네요.

참고: 이미지에 사용한 vagrantfile

shorturl.at/gkqCH

그럼 좋은 한주 시작하시고 건강 조심하세요 

감사합니다. 

조훈 드림. 

0

답변 감사합니다. 기존 강의랑 Ansible 버전이랑 제가 욕심이 생겨서 CentOS8으로 해보는게 있어서 중간에 잦은 에러가 생기는데 이것도 언젠가는 해결해야할 문제라고 생각하면서 진행중입니다.

좋은 강의 도움 많이 되고있습니다. 감사합니다. ㅇㅅㅇ

0

Ansible-node에 방화벽을 안열어 줘서 생겼던 문제인 것같습니다.

기존 network에 알고 있는 지식의 충돌때문에 왜 안돼지.. ansible version때문인가 했었는데... porting guide도 찾아보고..

결론은 ansible-server에 5985번 포트를 열어주니깐 정상적으로 ping이 됐습니다.

나나나뇨뇨뇨님의 프로필 이미지
나나나뇨뇨뇨

작성한 질문수

질문하기