연구실 네트워크는 100.100.100.*(가상)의 C클래스 대역을 사용한다.
기존에는 100.100.100.*을 4개의 서브넷으로 나누고 리눅스박스에 4개의 NIC를 달아 서브네팅하였으나
이제는 L2 스위치를 이용해 서브네팅하려 한다.
1. 게이트웨이
현재 네트워크 환경에서는 게이트웨이에 DNS와 DHCP, VLAN 기능이 필요하다.
그러므로 관리형 스위치를 사는 것이 좋다.
선정된 장비는 NetGear의 M4100-12GF
4개의 PoE 포트(총량 150W)를 포함하여 12개의 포트를 가진 기가비트 스위치이다.
DNS와 DHCP, VLAN 기능을 포함하고 있어 이 제품을 선택하였다.
Fiber를 쓸 일이 없어 오버스펙인 감은 있으나 여러모로 더 좋은 선택지가 없었다.
생각없이 시스코 쪽으로도 견적을 의뢰했다가 천단위가 나오는 걸 듣고 까무러칠뻔했다.
2. 스위치
서브넷에 노드가 적진 않기 때문에 서브넷별로 스위치를 달아주어야 한다.
다만 두 개의 서브넷이 주로 사용되고 나머지 서브넷은 잘 사용하지 않기에 잘 사용되는 서브넷을 위해서만 스위치를 구매하였다.
선정된 장비는 ipTIME의 SG24000M
24개의 포트를 가진 비관리형 기가비트 스위치이다.
비관리형 스위치는 스위칭 역할만 해주면 되기에 저렴한 제품을 선택했다.
잘 사용하지 않는 서브넷에는 기존의 24포트 100M 스위치를 달아주기로 하였다.
3. DNS
게이트웨이에 DNS 기능이 있음에도 불구하고 이를 사용할 수 없음을 발견했다.
학교 네트워크에서 연구실 네트워크의 특정 서브넷의 IP를 대상으로 recursive DNS를 구성하고 있다.
그렇기에 현재 구조로는 게이트웨이에서 DNS 설정을 하더라도 상위 DNS에서 게이트웨이를 대상으로 recursive DNS 질의가 불가능하다.
사실 전산실에 DNS 세팅을 바꿔달라고 말하면 되는 일이나 가급적 일을 키우지 않고 현재 토플로지를 유지하려 한다.
아쉬운 마음을 접고 일반 PC를 DNS 서버로 사용하기로 하였다.
4. 방화벽
개방 서버를 두기 때문에 DMZ를 구성하고 하드웨어 방화벽을 둘까 고민을 했었지만
개방 서버의 활용도가 낮고 교내 전산실과 연구실 게이트웨이를 거치며 서버 관리자가 웹 보안 지식이 있기에 방화벽을 따로 두지 않기로 하였다.
다만 개방 서버에 대해 다음 조치들을 일괄 적용하었다.
- known 포트 변경
- haproxy를 통한 리버스 프록시 적용
- docker를 통한 호스트-컨테이너 격리
- SELinux 및 firewalld 상시 활성화
- fail2ban 등의 접근제한 조치