특정 개발환경(가상환경)을 통하여 라우터로 연결이된 소규모의 네트워크를 구성한 뒤 각각의 서버를 구축한 이후 여러가지 구현을 해본다.
1개의 라우터를 배치한 이후 3개의 서브넷을 구성한다. 라우터는 웹 서버를 담당하는 서브넷, 네임서버를 담당하는 서브넷, 메일서버를 담당하는 서브넷이 존재한다. 또한 이들의 게이트웨이는 각각 '10.0.0.1', '20.0.0.1', '30.0.0.1'이다.
visual box 사이트에서 다운로드한다.
모든 설치를 완료하면, 이후 visual box에 vyos와 ubuntu의 이미지 파일을 넣어 라우터와 서브넷을 구성할 것이다.
ubuntu에서 윈도우 64bit버전 이미지 파일을 다운로드한다.
vyos 다운로드 사이트에서 윈도우 64bit버전 이미지 파일을 다운로드 한다.
위 과정이 모두 끝나면 ubuntu, vyos 총 2개의 iso파일이 폴더에 담아진다.
1. vyos ios파일을 명시한다.
2. 기존 메모리는 512MB로 설정하며 cpu는 2개로 설정한다.
3. 디스크 사이즈는 4~5GB사이로 설정한다.
4. 이후 메모리, 디스크 크기를 완료하면 마무리가 된다.
이후, http, Name, MailServer를 생성한다.
HttpServer를 기준으로 접속하여 터미널창에 각각 ping 네임서버, 메일서버의 주소를 입력하면 test가 정상적으로 작동하는 것을 알 수 있다. 네임서버와 메일서버 터미널에서 접속하여 한번 더 확인하지 않은 이유는 서로가 연결 되어 있을경우에만 test가 정상적으로 수행되기 때문에 하나의 서브넷에서 테스트를 하여도 무관하기 때문이다.
1. 명령어 'sudo apt-get install bind9'을 입력해서 bind9을 우분투에 설치한다.
2. /etc/hosts에 들어가서 hosts를 수정해준다. NameServer는 20.0.0.2의 ip주소이다.
3. 내 이름 마지막을 따서 chan(찬).com으로 네임을 설정할 계획이다.
4. /etc/bind/named.conf.local에 접속하여 zone파일을 수정해준다.
5. /etc/bind/db/chan.com으로 vi 편집기를 실행시킨다.
6. Zone file에서 DNS Record를 작성해준다.
아파치가 설치되어 있는 HttpServer에서 NameServer를 사용하여 chan.com을 주소란에 입력하여 접속이 되는 것을 확인할 수 있다. 또한 ping test도 정상적으로 작동하는 것을 확인할 수 있다.
HttpServer에서 명령어 'sudo apt-get install apache2'를 통해 아파치를 설치한다.
- wireshark를 통해서 필터에 Ip.addr = 10.0.0.1을 입력하니 걸러지는 것을 확인할 수 있다. 또한 좌측의 http/1.1을 통해 HTTP 프로토콜을 사용한다는 것을 볼 수 있다.
- NameServer와 연결이 잘 되어있다는 것을 다시한번 확인할 수 있으며, browser를 통해 정상적으로 test가 된다는 것을 알 수 있다.
명령어 sudo apt-get install mailutils, sudo apt-get install postfix를 통해 메일서버를 설치한다.
'mailserver -v'로 메일서버가 잘 설치되었는지 확인을 한 이후 네이버로 메일을 보냈다. 명령어 'echo "텍스트" | mail -s "텍스트" 메일주소'를 통하여 메일을 전송하면 입력한 메일주소 스펨란으로 내가 작성한 테스트가 전달이 된 것을 확인할 수 있다. 메일서버 test는 완료했지만 문득 왜 스펨메일로 처리되는지 궁금했다.
postfix를 통하여 메일서버를 구축할 때 고정IP를 사용하는지가 중요하기 때문이다. 즉, 화이트 도메인으로 등록이 되어있지 않은 도메인이나 IP는 모두 스팸메일로 처리가 되기 때문이다. 스팸메일을 처리하는 방법은 크게 3가지가 있다고 한다.
- 스팸메일로 오는 것을 해결하려면 해당 이메일 사이트에서 스팸메일 차단을 클릭
- 내 DNS에 SPF를 적용하여 스팸처리 막기
- 화이트 도메인으로 등록
Http, Name, MailServer를 우분투를 통하여 생성하고 터미널창을 열어서 ifconfig를 확인하려고 했지만 apt-get 오류가 발생하였다. 처음에는 apt-get이 설치가 되어있지 않다고 생각해서 apt-get update 명령어로 install하려고 했지만 이상하게 또 설치가 되지 않고 ign메시지가 떴다. 우분투 서버를 다시 만들고 했지만 오류는 여전했고 인터넷 을 검색해도 해당 오류에 대한 구체적인 자료는 찾기 힘들었다. 다시 네트워크의 구조를 살펴보던 도중 모든 서버를 '내부네트워크'로 구성을 하였고 직접 할당한 ip를 사용하고있 었기 때문에 벌어진 일이었다. 즉, 기존 운영체제에서 가상머신을 사용하여 그 위에서 리 눅스 명령어 install하기 위해서는 내부내트워크가 아닌 평소에 쓰는 운영체제에서 사용 을 해야한다는 것이다. 즉, 외부로 나가서 받아온 뒤에 적용을 해야한다는 것을 알게되었 고 '내부네트워크'를 'NAT'로 바꾼이후 'apt-get update'등의 명령어를 입력하니 외부 우분투 사이트에서 설치를 완료하여 다시 가상머신 내부에 적용이 된 것을 확인할 수 있 었다. 이후 다시 '내부네트워크'로 수정한 뒤 설치된 명령어를 입력하니 잘 사용이 되었고 이를 응용해서 메일서버에서 외부 메일에 메시지를 보낼때도 NAT으로 잠시 바꾼뒤 외부 와 연결을 시도하여 스팸메일함에 잘 도착하도록 해결하였다.
직접 네트워크를 구성하여 ping test를 해보면서 어려웠던 부분도 많았지만, 이론적으로 배웠던 부분이 실제 구현을 통해 정리가 되는 느낌을 받을 수 있었다.