Network/Linux & WindowsServer

CentOS7 - Linux, Windows (DHCP, FTP, DNS, WEB, NFS, MAIL) / 1

잇(IT) 2022. 4. 8. 11:06
728x90

- 이번 포스팅은 이전 Linux (DHCP, FTP, DNS, WEB, MAIL) 설정과 유사하고 추가로 NFS와 MAIL 기능을 추가 해 볼 것이다. NFS는 MAIL 기능을 사용해 볼 때는 thundermail이라는 메일 프로그램을 사용하여 확인 해 볼 것이다.


- 이번에 설정한 조건은 위와 같다.


- CentOS7-1 설정

 

- CentOS7-1의 네트워크 설정을 조건에 맞게 변경해준다.

 

- DNS, HTTP, NFS을 사용하기 위해 각 패키지를 설치해준다.

 

- 아파치 파일에 접근 할 때 반환하는 파일을 설정하는 부분이다. index.html이 디렉토리 경로 상에 존재하면 클라이언트에서 요청시 해당 파일을 보낸다.

 

- blogintra 도메인을 사용하기 위해 루트 디렉토리인 /var/www/ 아래 각 디렉토리를 생성해주고 웹페이지도 생성해준다.

 

- 352 : /etc/httpd.conf.d 디렉토리를 참조한다는 뜻이며 conf.d 디렉토리 아래 .conf로 끝나는 모든 파일을 포함 시킨다는 의미이다.

 

- /etc/httpd.conf.d 아래 virtual.conf라는 파일을 생성하여 가상 호스트 설정을 위한 내용을 작성해준다. intra라는 도메인을 아파치 인증을 통해 접근시키기 위해 14~16과 같이 AllowOverride AuthConfig 설정을 해준다.

 

- /var/www/intra/ .htaccess 파일을 열어 디렉토리에 대한 설정 옵션을 설정한다.

 

- /var/www/intra/.htaccess에서 설정한 /web/.auth 경로에 아파치 인증 사용자를 생성하고 시스템 재실행을 해준다.

 

- /etc/named.conf

13 : DNS에 해당하는 서버에 모든 IP 접근을 허용하기 위해 any로 설정한다.

 

- /etc/named.rfc1912.zones

NS 정의 파일, 개별 도메인에 대한 설정을 하는 파일로 master&slave master에 해당하는 서버이기 때문에 typemaster로 해주고 slave에 해당하는 IP 주소들을 allow-update에 작성해준다.

 

- /var/named/ 디렉토리 아래 정방향, 역방향 zone 파일을 작성해준다. NS로 사용할 도메인들을 설정해준다. 또 도메인으로 사용할 이름들을 추가하여 그에 해당하는 IP들을 매칭 시켜준다. 역방향도 마찬가지로 해당 IP를 입력했을 때 제공할 도메인 명을 매칭 시켜준다.

 

- 다른 서버에서 user, group인 아닌 other 사용자로 접근하여 파일을 사용해야 하기 때문에 파일의 권한을 변경해준다.

 

- HTTP, DNS를 사용하기 위해 해당 포트 방화벽 접근을 허용 시켜준다.

 

- /etc/exports

NFS를 사용하기 위해 패키지를 nfs-utils 파일을 설치하였고 해당 네트워크 파일 시스템의 설정은 /etc/exports 파일에 작성해준다.

* NFS 주요 옵션

1. rw : 읽기/쓰기

2. root_squash : Client에서 접속 시 익명 사용자로 처리

3. all_squash : Client에서 접속 시 모든 Client를 익명 사용자로 처리

4. no_root_squash : Client에서 접속 시 관리자로 처리

5. sync : ServerClient 동기화, File System 변경 시 동기화

 

- NFS 시스템 변경 사항을 저장하기 위해 시스템 재실행을 해주고, exportfs -s 명령어를 사용하여 설정들이 제대로 적용됐는지 확인한다.

 

- other 사용자가 사용할 수 있도록 디렉토리 권한을 변경한다.

 

- NFS를 사용하기 위해 nfs, mountd, rpc-bind 방화벽을 허용해준다.

 


- CentOS7-2 설정

 

- CentOS7-2의 네트워크 설정을 조건에 맞게 변경해준다.

 

- HTTPDNS를 사용하기 위해 해당 패키지를 설치해준다.

 

- /etc/httpd/conf/httpd.conf

루트 디렉토리에 해당하는 /var/www/ 디렉토리 하위에 WEB에 사용할 디렉토리들을 사용하고 index.html 파일로 접근하여 웹페이지를 열 것이기 때문에 각 디렉토리에 index.html 파일을 생성하여 웹 페이지를 생성해준다.

 

- /etc/httpd/conf/httpd.conf

파일 마지막 부분에 /etc/httpd.conf.d 디렉토리 아래 .conf 파일을 모두 포함시킨다는 설정이 있다.

 

- /etc/httpd/conf.d

디렉토리 아래 virtual.conf 파일을 생성하여 가상 호스트 설정을 작성해준다. 80번 포트를 통해 사용하는 blog.baikis.xyz, intra.baikis.xyz 도메인을 설정해주고 blogOrder allow,deny를 통해 해당 도메인에 접근 시킬 IP를 구분하고 intra의 경우 AllowOverride AuthConfig를 통해 인증을 통한 접근 설정을 설정해준다.

 

- /var/www/intra/

디렉토리 아래 .htaccess를 통해 디렉토리에 대한 설정을 해주고 AuthUserFile 경로로 /web/.auth를 지정했기 때문에 /web/.auth 파일에 아파치 인증을 통한 사용자를 생성해준다.

 

- /etc/named.conf

해당 서버에 접근 가능한 IP 주소를 전부 가능하도록 변경한다.

 

- /etc/named.rfc1912.zones

CentOS7-2master&slave에서 slave에 해당하기 떄문에 typeslave로 지정하고 주DNS에서 zone 파일을 받아오기 떄문에 masters에 주DNSIP 주소를 입력한다.

 

- 변경된 사항을 저장하기 위해 시스템을 재실행하게되면 master 서버에서 받아온 zone 파일이 생성된 것을 볼 수 있다.

 

- HTTP, DNS를 사용하기 위해 해당 포트 방화벽을 접근 허용 시켜준다.


- CentOS7-3 설정

- CentOS7-3의 네트워크 설정을 조건에 맞게 설정해준다.

 

- HTTP, DNS, FTP를 사용하기 위해 해당 패키지들을 설치해준다.

 

- 사용자 2개를 생성한 다음 해당 사용자의 홈 디렉토리에 파일을 생성해준다.

 

- /etc/vsftpd/vsftpd.conf

설정 파일에서 경로 설정 및 FTP 관련 설정을 해준다.

 

- FTP 설정 파일들을 사용하기 위해 디렉토리를 만들어 주고 banner 파일을 저장할 디렉토리를 생성해주고 banner 파일을 생성한다.

 

- chroot를 사용할 사용자명을 저장할 파일 경로를 지정하고 chroot를 사용자를 저장해준다.

 

- xferlog가 저장될 파일을 생성한다.

 

- 12 : 익명 사용자의 사용을 허용한다.

43 : passive mode를 사용할 것이기 때문에 20번 포트 접근 허용 부분을 주석처리 해준다.

102, 104 : chroot 사용 여부 및 사용자가 저장될 파일 경로를 지정한다.

60, 63 : 세션 타임아웃 시간 및 데이터 연결 타임아웃 시간을 지정한다.

127 : tcp_wrappers(/etc/hosts.allow(deny) 사용을 허용한다.

129 : chroot 사용을 허용한다.

130~132 : passvie mode 사용을 위한 포트 번호 및 사용을 허용한다.

 

- /etc/hosts.allow

tcp_wrappers를 허용하고 사용하기 위해 allow 파일에 허용 IP를 작성한다.

 

- /etc/hosts.deny

tcp_wrappers를 허용하고 사용하기 위해 deny 파일에 제한 IP를 작성한다.

 

- 변경된 설정을 저장하고 실행하기 위해 시스템 재시작을 해준다.

 

 

- /etc/httpd/conf/httpd.conf

루트 디렉토리에 해당하는 /var/www/ 디렉토리 하위에 WEB에 사용할 디렉토리들을 사용하고 index.html 파일로 접근하여 웹페이지를 열 것이기 때문에 각 디렉토리에 index.html 파일을 생성하여 웹 페이지를 생성해준다.

 

- /etc/httpd/conf/httpd.conf

파일 마지막 부분에 /etc/httpd.conf.d 디렉토리 아래 .conf 파일을 모두 포함시킨다는 설정이 있다.

 

- /etc/httpd/conf.d

디렉토리 아래 virtual.conf 파일을 생성하여 가상 호스트 설정을 작성해준다. 80번 포트를 통해 사용하는 blog.baikis.xyz, intra.baikis.xyz 도메인을 설정해주고 blogOrder allow,deny를 통해 해당 도메인에 접근 시킬 IP를 구분하고 intra의 경우 AllowOverride AuthConfig를 통해 인증을 통한 접근 설정을 설정해준다.

 

- /var/www/intra/

디렉토리 아래 .htaccess를 통해 디렉토리에 대한 설정을 해주고 AuthUserFile 경로로 /web/.auth를 지정했기 때문에 /web/.auth 파일에 아파치 인증을 통한 사용자를 생성해준다.

 

- /etc/named.conf

해당 서버에 접근 가능한 IP 주소를 전부 가능하도록 변경한다.

 

/etc/named.rfc1912.zones

CentOS7-2master&slave에서 slave에 해당하기 떄문에 typeslave로 지정하고 주DNS에서 zone 파일을 받아오기 떄문에 masters에 주DNSIP 주소를 입력한다. DNS 시스템을 재실행하게 되면 master zone 파일을 받아 온 것을 확인 할 수 있다.

 

- DNS, HTTP, FTP를 사용하기 위해 해당 포트 방화벽을 열어준다.


- CentOS7-4 설정

 

- CentOS7-4의 네트워크를 조건에 맞게 설정해준다.

 

- HTTP, DHCP, DNS, NFS를 사용하기 위해 해당 패키지들을 설치해준다.

 

- /etc/dhcp/dhcpd.conf

dhcp 설정 파일에서 dhcp에 대한 설정(부여할 IP 범위, DNS, 도메인 네임, 게이트웨이, 브로드캐스트, 임대시간)을 작성해주고 그 아래 dhcp 예약에 관련된 내용들도 작성해준다.

 

- dhcp의 변경된 사항들을 저장하기 위해 패키지 재실행을 해준다.

 

- /etc/httpd/conf/httpd.conf

31 : 서버 루트 디렉토리 /etc/httpd

119 : DocumentRoot 디렉토리 /var/www/html

124~128 : /var/www/ 디렉토리에 접근에 대한 설정

 

- /etc/httpd/conf/httpd.conf

루트 디렉토리에 해당하는 /var/www/ 디렉토리 하위에 WEB에 사용할 디렉토리들을 사용하고 index.html 파일로 접근하여 웹페이지를 열 것이기 때문에 각 디렉토리에 index.html 파일을 생성하여 웹 페이지를 생성해준다.

 

- /etc/httpd/conf/httpd.conf

파일 마지막 부분에 /etc/httpd.conf.d 디렉토리 아래 .conf 파일을 모두 포함시킨다는 설정이 있다.

 

- /etc/httpd/conf.d

디렉토리 아래 virtual.conf 파일을 생성하여 가상 호스트 설정을 작성해준다. 80번 포트를 통해 사용하는 blog.baikis.xyz, intra.baikis.xyz 도메인을 설정해주고 blogOrder allow,deny를 통해 해당 도메인에 접근 시킬 IP를 구분하고 intra의 경우 AllowOverride AuthConfig를 통해 인증을 통한 접근 설정을 설정해준다.

 

- 변경된 설정을 저장하고 재실행 시켜준다.

 

- /etc/named.conf

해당 서버에 접근 가능한 IP 주소를 전부 가능하도록 변경한다.

 

/etc/named.rfc1912.zones

CentOS7-2master&slave에서 slave에 해당하기 떄문에 typeslave로 지정하고 주DNS에서 zone 파일을 받아오기 떄문에 masters에 주DNSIP 주소를 입력한다. DNS 시스템을 재실행하게 되면 master zone 파일을 받아 온 것을 확인 할 수 있다.

 

- NFS 클라이언트 서버의 nfs 디렉토리를 NFS 주 서버의 nfs 디렉토리에 연결하기 위해 클라이언트 서버에서 nfs로 사용할 디렉토리를 주 서버에서 사용하는 nfs 디렉토리에 마운트 시킨다.

 

- nfs 클라이언트 서버에서 파일을 생성하게 되면 nfs 주 서버의 디렉토리에 똑같이 클라이언트 서버에서 생성된 파일이 존재하는 것을 볼 수 있다.

 

- HTTP, DNS NFS를 사용하기 위해 해당 방화벽을 허용 시켜준다.

728x90