ESXi는 인터넷에 연결하면 안된다. VM을 인터넷에 연결하려면 NIC을 패스스루해서 직접 연결해야 한다.
대략 이런 내용의 글을 커뮤니티에서 보았습니다. 저는 조금 생각이 달라서 좀 정리해보고자 합니다.
Management Network는 절대 금지!
ESXi를 설치하면 그림과 같이 스탠다드 스위치(vSwitch0)가 하나 만들어집니다. 그 안에 2개의 포트그룹 Management Network와 VM Network도 만들어집니다.
이 중에 사용자가 관리용으로 접속하게되는 Management Network가 위치한 표준스위치는 인터넷에 연결하면 안됩니다. 잘 관리해서 연결하면 되기는 하지만, 일반 사용자는 그냥 절대금지!로 기억하는게 쉽습니다.
제 경험으로는 연결한 이후 조금 시간이 지나면(5분~1시간 정도?) Host Client가 접속 불가상태로 빠지게 됩니다. 누군가가 귀신 같이 알고 접속시도를 해서 오류가 발생하게 되고, 계정이 잠기게 됩니다. 사실 누가 귀신 같이 알아내는 것이 아니고, 누군가 계속 이런게 있나 저런게 있나 찔러보고 있는 것입니다. 특정 IP 주소가 아니라 전세계 IP 주소가 모두 이런 상태라 보면 됩니다.
그래서 제가 수업시간에 농담삼아 이불 밖은 아주 위험하다고 말하는 것입니다.
그래서 관리자가 접속하게되는 Management Network는 인터넷에 절대로 직접 연결하면 안됩니다.
방화벽 같은 VM은요?
이게 이번 이야기의 주제입니다. 호불호가 갈리는 주제이기도 합니다만… 저는 “됩니다”라고 답합니다. 제 경우 이렇게 쓰고 있습니다.
이렇게 사용한지 꽤 오래됐습니다. 전에 근무하던 회사에서도 사용했었고, 현재 이용중인 Lab 시스템은 42개월 정도 된 것 같습니다. 중간에 물리적인 서버는 업그레이드 되었지만, 저 구조에서 달라진 것은 없습니다.
인터넷 연결용으로 사용할 가상스위치를 하나 만들고 > 업링크포트를 설정하고 > 인터넷 직접 연결이 필요한 VM 들을 연결해서 사용하면 됩니다.
NIC의 직접연결은 필요한가?
개인별로 디자인 철학에 따라 다를 것입니다. 저는 가상화환경에서 구현 불가능한 경우를 제외하고는 패스스루(vSphere 용어로는 DirectPath IO)를 사용하지 말자 주의입니다. 사용했을 경우 불편해지는 요소가 많기 때문입니다.
그래서 저는 이 경우를 필요 없는 사례라고 봅니다. 네트워크 트래픽이 DirectPath IO를 해야할 만큼 많은(제 기준 10G 이상) 경우가 아니기 때문입니다.
반대 의견을 가진 분들은 “네트워크 트래픽 격리 문제”를 얘기할 수도 있을 것입니다. 메니지먼트 네트워크는 아니지만, 인터넷에 연결된 포트를 거쳐서 ESXi가 해킹당할 수 있는 것이 아니냐? 이런 상상이죠.
이에 저는 “ESXi를 신뢰하고, 제공하는 네트워크 격리를 믿는다”라고 말씀드리고 싶습니다. 오랜기간 동안 이 부분이 취약점이 발생한 경우는 없습니다. 그래서 신뢰하고, 오랜 기간 잘 사용하고 있습니다.
디자인에 정답은 없습니다.
시스템 구조를 선택할 때 정답은 없습니다. 여러 방안 중에 주어진 여건(요구사항, 고려사항, 비용 등)을 고려해서 적절한 방안을 선택하면 됩니다.
NIC을 패스스루해서 물리적인 격리를 구현하는 것도 가능한 선택입니다.
그러나 저는 막연한 상상 때문에 복잡한 구조를 선택하기 보다는, 제품을 잘 이해하고 간단한 구조를 선택하는게는 더 나은 선택이라 생각합니다.