요즘, 저희 사무실 네트워크를 업그레이드 하느라 pfSense, Untangle 등을 설치 및 구축한 경험을 공유합니다.
결론은, Untangle 짱 입니다. (네트워크 전문가가 아니라면..)
저희 요구사항은 다음과 같습니다.
- 중앙집중적인 방화벽 설정을 하고 싶습니다. (현재는 포트포워딩 이외의 것은, 개별 장치에서 설정하고 있습니다.)
- 본사, IDC, 재난복구센터(DRC: Disaster Recovery Center)의 네트워크를 하나로 묶고 싶습니다. (Site to Site VPN 이용)
(전송속도가 중요합니다. 매일 발생한 데이터를 백업해야 하기 때문입니다.) - 하나의 Gateway가 여러 IP를 갖도록 합니다.
보유하고 있는 여러 IP중, 해당 IP로 들어온 특정 포트의 트래픽을, 특정 내부 서버의 트래픽으로 보내야 합니다. - 어떤 사람(장비)이 인터넷 트래픽을 얼마나 사용하는지 알고 싶습니다.
- 특정 호스트가 인터넷 연결이 되지 않게 하고 싶습니다.
- 기타, 공유기 수준의 요구사항들 (포트포워딩 등)
위 요구사항들은 일반적인 공유기에서 구현 가능하지 않은 것들이 있죠.
특히, 1번 때문에 꽤 불편했습니다.
예를 들어, 어떤 서버가 있는데, 퍼블릭하게 오픈해야 합니다. 하지만, 보안 때문에, 다소 불편하지만 IP주소 기반으로 제한을 하고 싶죠.
이것을 서버들 마다 따로 설정해야 했습니다.
각 설정을 한 눈에 보기도 힘들고..
그러면 전문 방화벽 장비를 사용하면 되는데, 사용법이 너무 어렵습니다.
이 기회에 네트워크 지식도 쌓을 겸 해서, 자체적으로 구축하기로 하고 도전했습니다.
우선, 테스트로 pfSense를 시도해 보았습니다.
IDC 상면 비용을 절감하고자, 이미 있는 Hyper-V 서버의 호스트로 pfSense를 설치했습니다. (Windows Server 2016)
그런데 이상한 증상이 나타납니다. 최신버전 pfSense는 잘 동작하지 않고, 예전 버전 pfSense는 잘 동작합니다.
두 번을 재설치해 봐도 같은 증상입니다.
뭔가 이상합니다.
예전 버전 pfSense에서 이런 저런 테스트를 진행해 보았고, 최신 버전으로 업데이트는 해 보지 않았습니다.
일단 Hyper-V의 호스트로 pfSense를 설치하고 동작시키는 것은 잘 됩니다.
여기에서 주된 개념은 다음과 같습니다.
물리적 '서버' 역시, Hyper-V 하에서는 가상 '서버' 중의 하나일 뿐입니다.
예를 들어, 물리적 NIC이 있고, 이것을 가상화 하여 'VirtualLan'을 만들어 가상머신들에서 사용하게 됩니다.
'VirtualLan'은 물리적 호스트에도 있죠.
물리적 호스트에서 'VirtualLan'을 '사용안함' 하여도, 다른 가상머신들은 다 잘 동작합니다.
이것이 물리적 '서버' 역시 가상 '서버' 중의 하나일 뿐이라는 증거죠.
이 개념이 잡히기 까지, 삽질을 많이 했습니다.
그 다음으로, 별도의 전용 머신(i5 8세대)에다가 Windows 10 기반의 Hyper-V를 설치하고 동작시켜 봅니다.
이번에는 최신버전 pfSense도 잘 동작합니다.
앞서 했던 서버는 Dell R620 이었는데, 여기에 달린 랜카드가 pfSense와 호환성을 타는 것 같습니다.
문제는 NAT 성능이 절반으로 떨어진 것이었습니다.
그 전에는 IPTime 공유기를 사용했었는데, 다운/업 속도가 748/891 정도는 나왔습니다. (Mbps)
그런데, 이놈은 308/416 정도로 떨어집니다.
헉.
혹시나 해서, 네이티브로 설치해 봅니다.
pfSense는 UEFI에서 잘 설치되지 않습니다.
i5 PC였는데, 드라이버 잡기도 어렵습니다.
(역시 Windows 기반의 가상화가.. 드라이버 등을 잡기가 참 편했습니다.)
결국, Untangle을 설치해 보기로 합니다.
얘도 Secure Boot는 안 됩니다. UEFI에서는 잘 됩니다.
얘는 다운/업 속도가 819/899 정도가 나옵니다. 역시!
다시 Win10 기반의 Hyper-V를 설치하고 pfSense를 테스트해 봅니다.
역시 속도가 절반으로 떨어집니다.
여러가지 검색해 보니, SR-IOV 라는 기술이 있답니다.
그리고 이것은 윈도우 10에서는 지원하지 않습니다.
그래서 윈도우 서버 2016 Hyper-V에서 pfSense를 테스트해 봅니다.
Untangle을 네이티브로 설치했을 때와 별 차이 없는 NAT 속도가 나옵니다.
여러분! 윈도우 10 기반 Hyper-V의 네트워크 속도는 개차반입니다.
많은 분들이 서버 라이선스 비용 때문에, 윈도우 10 기반의 Hyper-V를 사용하는데..
SR-IOV 지원 문제 때문인지, 네트워크 속도는 안 좋습니다. 이 점을 꼭 알아 두세요!
여기까지 테스트해 보니, Untangle이 좋아서 그런 걸 수도 있다는 생각이 듭니다.
그래서 Win10 기반 Hyper-V에 Untangle을 설치해 봤습니다.
Win Server 2016 기반 Hyper-V에도 Untangle을 설치해 봤습니다.
pfSense와 동일한 결과였습니다.
NAT 성능은 Hyper-V 문제였던 것입니다!
원래는 한 번 설치해 두면, 쳐박아 두고 계속 도는 것이 중요해서..
윈도우 기반으로 가상화해서 설치하려고 했습니다.
S/W RAID 관리도 쉽고, 무엇보다 장비에 문제 생기면 VM만 꺼내서 옮기면 편하잖아요.
그런데, 그렇다고 서버 라이선스를 구매할 수도 없어서.. 그냥 네이티브로 설치하기로 결정합니다.
(마침, pfSense, Untangle 모두.. 설정을 옮기는 기능을 지원하더라구요.)
원래는 pfSense를 사용하려고 했는데..
얘는 뭐 하나 설정하려면, 물어보는 것이 엄청 많습니다.
이것이 전문가에게는 좋을지 몰라도.. 네트워크 초보자에게는 무척 어려운 요소죠.
테스트로 설치해 본 Untangle. 설정이 무척 깔끔했었습니다.
그래서 Untangle로도 위 요구사항이 다 반영되는지 궁금해졌습니다.
그래서 Untangle을 네이티브로 설치해 봅니다.
우와! 설치 완전 간편하고, 설정도 엄청 편합니다.
그리고, 위 요구사항도 아주 간결하게 잘 반영됩니다.
Site to Site VPN 역시도.. UI상의 설정만으로도 잘 되었습니다.
네트워크 전문가는 아니지만, 공유기/방화벽 자작하려는 분들!
Untangle 강력 추천합니다.
제가 그간의 경험을 다 적을 수는 없습니다.
그러나 pfSense, Untangle 모두 사용해 본 결과..
Untangle이 훨씬 대화하기 쉬웠습니다.
뭐, 검색해 보니, 자료는 pfSense가 훨씬 더 많기는 합니다만..
그렇다고 해서 Untangle이 자료가 없는 건 또 아닙니다.
저는 Untangle 팬이 되었습니다.
써 놓고 보니.. 별로 건질 건 없었네요. (아닌가? ㅎㅎ)
이상입니다!
p.s. Untangle에는 침입탐지 솔루션도 있습니다.
이것을 제대로 사용하려면 월 25불을 내야 합니다.
한화로 3만원 정도 하는데..
침입탐지를 외주로 하면 15~20만원은 줘야 하죠.
물론, 3만원은 뭔가 사람이 지원해 주는 비용은 아닙니다만..
공부하는 셈 치고 내가 뭔가 설정하고 삽질해서 안정적으로 된다면..
침입탐지용 패턴을 자동으로 업그레이드 해 주는 비용이라고 본다면..
나쁘지 않은 것 같습니다.
정확하게는 침입탐지 말고도.. Untangle에서 제공해 주는 모든 앱을 쓰는 비용이 월 3만원인 겁니다.
p.s. 2. 한 6개월~1년 운영해 보고, 또 경험담을 공유할 수 있었으면 좋겠습니다.
À¥¸ð´ÏÅÍ / ¹æȺ® / ¾Öµåºí·° / OpenVPN / ¸®Æ÷Æ® / Intrusion Prevention ¸¸ ½áµµ ¼º´É ÃÖ°í¿¡¿ä.. Àåºñ´Â zotac ci329 nano ¿¡ 16±â°¡ ¸Þ¸ð¸®(20% Á¤µµ ¾¸) ´Þ°í ssd 500G ·Î »ç¿ëÁßÀÔ´Ï´Ù.
·£Ä«µå°¡ ¸®¾óÅØÀ̶ó¼ Á» ±×·¨´Âµ¥..
½ÇÁ¦·Î ¾²´Â ºÐÀÌ °è½Ã³×¿ä.
º° ¹®Á¦ ¾øÀ¸½Å°¡ º¾´Ï´Ù? ^^
Á¦°¡ ãÀº Àåºñ´Â protectli ¶ó´Â ȸ»çÀÇ ÀåºñÀä..
´ÙÀ½ ¸µÅ©ÀÇ °Íµµ ÇÑ ¹ø Âü°íÇØ º¸½Ê½Ã¿À.
https://protectli.com/product-comparison/
¾îÂ÷ÇÇ ½ºÀ§Ä¡ Çãºê ¾Æ·¡¿¡ µÎ°í ¹°·Á½á¼ Æ÷Æ® ¸¹Àº°Ô Å©°Ô ÇÊ¿ä°¡ ¾ø³×¿ä.. ³»ºÎ¸ÁÀ» 1G·Î »ç¿ëÁßÀε¥ ¼Óµµ Àß ³ª¿É´Ï´Ù.
¸®¾óÅصµ ¿äÁòÀº ±¦ÂúÀº°¡ º¾´Ï´Ù..
Àåºñ°¡ ¸¹À¸¸é ºñ½ÎÁö´Â±º¿ä..
ÀÌ·¯¸é, ÀÏÁ¤ ¼ö ÀÌ»óÀ̶ó¸é ³Ê¹« ºñ½ÎÁö³×¿ä.
°Á ¹«·á·Î ºñºº¸´Â ¼ö ¹Û¿¡¿ä..
Hyper-V È£½ºÆ®±îÁö °¡»óȽÃÅ°´Â°Í¶§¹®¿¡ nest ¾È µÇ´Â°æ¿ì ´Ù¸¥ °¡»óÈ ¾²´Â°Íµé ¼º´ÉÀÌ ¹Ù´ÚÀ¸·Î °¡¹ö¸®´õ±º¿ä (ÀÌ¿Ü¿¡ ±ÍÂúÀºÁ¡ ²Ï ¸¹À½) (ƯÈ÷ Ãʺ¸¸é ±× °³³ä ¹®Á¦·Î È£½ºÆ®-°Ô½ºÆ®°£ °øÀ¯µîÀ¸·Î ¾Ö¸Ô±â ½ÃÀÛÇÏ´õ±º¿ä)
SR-IOV¸¦ ¾µ·Á¸é º¸µåÀÇ ¹ÙÀÌ¿À½º + NIC + Ä¿³ÎÀÇ 3°¡Áö°¡ ´Ù Áö¿øÇØ¾ß ÇÕ´Ï´Ù
±×¸®°í ³×Æ®¿öÅ© °¡»óÈ ½ÃÅ°¸é ¿ø·¡ ¿À¹öÇìµå ÀÖÁö¸¸, Àý¹Ý±îÁö ³»·Á°¡¸é ¼³Á¤ ¹®Á¦µµ ÀÖÀ¸´Ï Á¡º¸ ÆÐŶµî ¸¸Á®º¸¼¼¿ä (¾Æ´Ï¸é NIC¸¦ ÆнºÇعö¸®¼¼¿ä)
Âü°í·Î ¶óÀ̼¾½º ºñ¿ëÀÌ ½Å°æ ¾²Àδٸé KVM or ESXi °¡¼¼¿ä (ÀúÁ¤µµ ¸ñÀûÀ̶ó¸é ¾î´ÀÂʵµ µ· ¾È µéÀÌ°í °¡´É)
´Ù¸¸ °ü¸®µîÀÌ ±ÍÂúÀ¸¹Ç·Î ¶ó¿ìÅÍÀÇ °¡»óÈ´Â º°·Î ÃßõµÇ´Â »çÇ×ÀÌ ¾Æ´Õ´Ï´Ù
»ç¿ë Æí¸®ÇÔÀº °Á ±â¼ºÁ¦Ç° ¾²´Â°Ô ÁÁ¾Æ¿ä
1. External ÀÇ Æ÷ÀÎÆ®´Â ¹°¸®Àû ³×Æ®¿öÅ©ÀÔ´Ï´Ù. Intel, Realtek °ú °°ÀÌ ½ÇÁ¦ ¸ÞÀκ¸µå¿¡ ¼³Ä¡µÈ Network Adapter ¸¦ °¡»óÈÇÏ¿© »ç¿ëÇÕ´Ï´Ù.
ÀϹÝÀûÀ¸·Î ±â°¡ºñÆ® Network Adapter¸¦ ±âÁØÀ¸·Î Host OS¸¦ Æ÷ÇÔÇÏ¿© ÃÖ´ë 25´ëÀÇ Machine¿¡ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.
Host OS ¿¡¼ IP¸¦ ÇÑ °³ ÇÒ´ç ¹Þ¾Ò´Ù¸é, 24´ëÀÇ VM¿¡¼ IP¸¦ ÇÒ´ç¹Þ¾Æ¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
2. Internal Àº Host <-> VM (Guest) °£ÀÇ Åë½ÅÀ» Çã¿ëÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù.
3. Private Àº VM <-> VM °£ÀÇ Åë½ÅÀ» ±¸¼ºÇÏ°í, Å×½ºÆ® ¸ñÀûÀ¸·Î »ç¿ëÇÒ ¶§ ÀûÇÕÇÕ´Ï´Ù.