아파치를 구성해보자

먼저, 아파치에 대한 내용은 APM이라는 항목에 잘 찾아보면 포스팅 해놨다. 읽어보고 오길 바란다.

이번 실습은 httpd.confdocumentroot를 이용해서 홈페이지를 띄우는 방법과 userdir을 사용해서 사용자 계정의 접근 권한을 실습할 것이다.

마지막으로는 alias도 사용해서 총 3가지의 홈페이지를 띄울 것이다.

 

1. 먼저 아파치 서비스를 실행시키자.

rpm -qa httpd를 입력한 후 설치되어 있으면 실행시켜보자.



잘 실행된 것을 볼 수 있다.

 

2. 아파치 설정파일인 /etc/httpd/conf/httpd.conf파일은 기본적으로 DocumentRoot/var/www/html로 되어 있다. 그리고 네임 서버가 지정되어 있지 않다면 다음과

같이 www.abc.com으로 지정해주자.



그렇기 때문에 홈페이지를 띄우고 싶다면 /var/www/html 디렉토리 아래에 index.html을 만들어 줘야한다



 

3. 참고로 DNS설정도 해주길 바란다.

abc.zone파일



abc.rev파일 



 

4. 그 후에 데몬을 재실행 시켜주자. 



5. www.abc.com을 입력하면 아까 /var/www/html에 넣었던 index.html이 잘 나올것이다.


 

6. 혹시나 안되는 경우는 방화벽이 막혀있을 확률이 높다

system-config-firewall에 들어가서 막힌 방화벽을 풀어주도록 하자.

 

7. 자 이번에는 기본적인 아파치 설치후 홈페이지 띄우기를 해봤다.

진짜 실습인 DocumentRoot를 이용한 홈페이지 열어 보겠다.

 

DocumentRootabc계정의 홈 디렉토리로 변경하였다.



abc디렉토리 안에 index.html을 만들었다. 



그 후, 경로를 입력해 실행해 보니 Forbidden이 떳다... 왜그럴까? 문제는 권한문제!

abc디렉토리의 권한이 실행이 -로 되어있기 때문이다. 



권한을 풀어준다. 



잘 실행되는 것을 볼 수 있다. 



 

8. 이번에는 www.abc.com/~계정명을 입력했을때 들어갈 수 있도록

, 각자의 계정마다 웹페이지를 만들어 관리할 수 있는 환경을 구축해보자.

먼저, 계정을 하나 만들어준다.



/etc/httpd/conf/httpd.conf에 들어가서 UserDir부분을 다음과 같이 수정해준다. 


데몬을 재실행한다 



 

디렉토리로 이동하여 html파일을 만들어준다.

이제부터 www.abc.com/~계정명을 입력하면 계정의 홈디렉토리인 /home/계정명/html에 있는 파일들이 열린다.



잘 열리는 것을 볼 수 있다. 





LIST

'OS > Linux' 카테고리의 다른 글

GNU 프로젝트  (0) 2016.03.07
리눅스의 역사  (0) 2016.03.02
리눅스 - autofs  (0) 2016.03.01
리눅스 - NFS (Network File System)  (0) 2016.02.29
리눅스 - VNC  (0) 2016.02.29

<autofs>

autofs는 자동 마운트 데몬의 작동을 제어하는 프로그램이다.

이것은 파일 시스템을 마운트 하고, 일정시간동안 사용을 하지 않으면 언마운트 하는 데몬이다.

주로 NFScd/dvd rom장치, 플로피 등 자주 사용되지 않는 특정 장치를 마운트 할 때 사용하는 데몬이다.

 

1. 패키지 설치

  


 

2. server에서는 /etc/exports에 마운트 할 NFS 설정만 해주면 된다.

 

3. /etc/sysconfig/autofs를 열고 다음을 수정한다.



BROWSE_MODEyes로 바꿔준다. autofs를 사용한다면 무조건 바꿔줘야함.

 

4. /etc/auto.master를 설정해준다.

/etc/auto.master파일은 자동으로 마운트 될 디렉토리와 대상 설정 파일이 들어있다.



/good은 내 PC에서 자동으로 마운트 될 디렉토리를 만들어 준 것이다. /etc/auto.misc는 누구와 마운트를 할 것인가를 정의해주는 파일이다

/etc/auto.misc파일을 보도록 하자.



맽 줄을 보자

n1/etc/auto.master에 써 놓은 마운트 될 디렉토리의 하위 디렉토리를 설정한 것이다.

, /good이라는 디렉토리는 원래 존재하고, 마운트를 시키는 순간 n1이라는 디렉토리가 /good/n1이렇게 생기면서 /good/n1디렉토리와 nfs1과 마운트 되는 것이다. 가운데는 autofs 타입을 정의해 놓은 것이고, 마지막에는 대상을 말한다.

[옵션]

bg : nfs마운트가 처음 실패할 경우 백그라운드 상태에서 계속 시도하게 한다.

soft, hard : soft는 읽기전용으로 접속, hard는 읽기 쓰기 전용으로 접속

intr : 정지 프로세스를 죽이기 위한 인터럽트를 허용

nfs : 원격으로 대상을 마운트 할때 사용

 

5. 저렇게 설정을 끝낸 후, 데몬은 재실행해준다.

/etc/rc.d/init.d/autofs restart

 

6. 데몬이 재실행 되는 순간 자동으로 마운트가 된다.





 

LIST

'OS > Linux' 카테고리의 다른 글

리눅스의 역사  (0) 2016.03.02
리눅스 - 아파치(Apache) 구성하기  (0) 2016.03.02
리눅스 - NFS (Network File System)  (0) 2016.02.29
리눅스 - VNC  (0) 2016.02.29
리눅스 - ssh, sftp의 원격접속과 서버간의 파일전송 scp  (0) 2016.02.28

<NFS>

네트워크 통신이 가능한 곳이면 리눅스 등의 운영체제에서 NFS를 사용하여 파일 시스템을 공유할 수 있다. 주로 공유할 때 NFS를 사용하게 된다. 쉽게말해 멀리 떨어져 있는 특정 서버의 디렉토리를 내 PC와의 마운트를 통해 파일을 공유받는 것이다.

 

1. NFS를 설치한다.

nfs-utils-lib, nfs-utils, nfs4-acl-tools를 설치하자.



 

2. /etc/exports파일을 열고 다음과 같이 넣어준다.



[공유할 디렉토리(서버측 디렉토리)]  [접근을 허가할 호스트/네트워크]  [옵션]

[옵션]

ro(기본값) : 읽기 전용으로만 연결 허용

rw : 읽기 쓰기 가능하게 연결 허용

root_squash(기본값) : 클라이언트 측에 관리자가 접속을 요청했을 때 익명계정으로 연결을 허용

no_root_squash : 클라이언트 측에 관리자가 접속 요청을 했을 때 서버 측에서의 관리자 계정으로 매핑시켜 연결을 허용

no_all_squash(기본값) : 클라이언트 측에 사용자가 접속 요청을 했을 때 서버 측에 동일한 사용자가 있으면 동일한 계정으로 연결을 허용

all_squash : 클라이언트 측에서 사용자로 접근 요청했을 때 익명 계정으로 연결을 허용(관리자 제외)

sync : 동기화

 

위를 해석하면 다음 설정하고 있는 서버의 디렉토리 /nfs1을 공유하겠다. 접근을 허용할 호스트는 192.168.1.20이고, 읽기 전용으로만 허용된다. 접속할 때 root계정으로 연결하여도 매핑시켜 연결을 허용하겠다 라는 의미이다.

다음은 해석해 보시길..!

 

3. 해당 디렉토리 생성 후(nfs1, nfs2, nfs3), NFS 데몬을 실행하자




exportfs -raNFS의 설정 정보가 변경되었을 경우 NFS데몬의 재시작 할 필요 없이 exportfs -ra명령어로 변경된 내용을 적용할 수 있다.

 

4. rpcinfo -pnfsport번호를 확인

111번인 것을 확인할 수 있다.



 

5. system-config-firewall을 열어 방화벽을 풀어주자. nfs4를 열어주고, 111번 포트도 열어주자

 

6. 자 이제, 서버에서 아무 파일을 만들고 client PC에서 연결한 후 Remote마운트가 잘 되는지 알아보자.

[Server]





[Client] 



 

7. 클라이언트 pc에서 내용을 수정하려 했지만 오류가 떳다.



이유는 서버측에서 아까 위에서 /etc/exports 파일을 수정하였을 때, /nfs1디렉토리의 파일들은 접근을 허용할 호스트는 192.168.1.20이고, 읽기 전용으로만 허용된다. 라고 해놨기 때문이다.

 

이번에는 어떻게 될까??

[server]


[client] 



결과는 허가 거부다. 위에서 설정을 보면 /nfs2192.168.1.0 대역의 모든 사용자에게 rw의 권한을 주지만 사용자에 대한 특별한 지시어가 없다. 그럴땐 옵션에서 기본값이라고 되어있는 root_squash가 된다. root_squash은 관리자로 접속했을 때, 익명으로 접속하게 하는 것으로 보안을 위한 것이다. 그러므로 파일 자체를 rw권한으로 했어도 root권한이 아니기 때문에 파일에 대한 허가 거부가 된것이다.

 

두번째 예를 정상적으로 하려면 어떻게 할까?

[server]

서버측 설정을 이렇게 바꿔준다. , 루트 접속 허용을 해준다.



 [client] 



 

LIST

'OS > Linux' 카테고리의 다른 글

리눅스 - 아파치(Apache) 구성하기  (0) 2016.03.02
리눅스 - autofs  (0) 2016.03.01
리눅스 - VNC  (0) 2016.02.29
리눅스 - ssh, sftp의 원격접속과 서버간의 파일전송 scp  (0) 2016.02.28
리눅스 - IP 설정하기  (0) 2016.02.27

<VNC(Virtual Network Computing)?>

VNC란 간단하게 말해 원격 지원 프로그램이다. 리눅스 사용자가 윈도우 사용자의 원격을 하고 싶을때 VNC를 이용하면 되고, 그 역으로도 마찬가지이다.

이제부터 VNC를 설치하고 사용하는 법에 대해서 알아보자.

 


<실습>

1. vnc를 설치해보자.

server에는 server용으로 client에는 client용으로 설치해줘야 한다.

먼저, server이다.



다음, client이다. 



 

2. vncserver를 입력하면 실행하게 되고, password를 입력하게 된다.

password를 입력하면 /root/.vnc디렉토리가 만들어진다.



/root/.vnc로 이동해보자. 



디스플레이 1,2,3이 잘 만들어진것을 확인할 수 있다.

passwd파일에는 각 계정의 비밀번호들이 들어있다.

 

3. 자 이번에는 /etc/sysconfig/vncservers파일을 열어보자.

거기에 VNCSERVERS="1:root" 이것은 display번호 1으로 한 root계정을 사용하겠다 라는 의미이다.



 

만약에 abc라는 계정으로 만들고 들어가고 싶다면?



/etc/sysconfig/vncserver를 들어간다. 그리고 밑에 있는것 처럼 수정한다.


 

4. , 이제 vnc 데몬을 실행시키자



 

5. 아직 끝난게 아니다. vncserver를 접속하려면 방화벽에 포트번호를 풀어줘야한다.


포트번호는 netstat으로 알아본다. 






3개의 포트를 열어준다 




 

6. 접속해본다.







 

LIST

ssh, sftp의 원격접속과 서버간의 파일전송 scp를 설명하기 위해 하나의 커다란 실습을 진행할 것이다

이 실습이 끝나게 되면 위의 3가지를 모두 이해 할 수 있을것이다.

 

<실습>

먼저 서버 ssh, ftp를 활용하기 위한 서버를 만들고 클라이언트 pc를 만들어 총 두 대의 컴퓨터로 실습을 할 것이다. (물론 vmware로 간편하게 실습한다)

그래서 서버와 클라이언트간에 ssh접속으로의 다운로드 업드로, scp를 이용한 다운로드 업로드, sftp를 사용한 다운로드 업로드를 실습해보자.

 

[Server 세팅]

1. 500MB짜리 하드디스크(/dev/sdb2)를 장착한 후, /sshdir에다가 마운트 시킨다.

부팅시 자동 마운트를 위해 /etc/fstab도 이용하자.

2. 계정을 총 3개를 만들것이다.

/sshserver/scpabc계정만 UID권한을 조정하여 다운로드, 업로드와 같이 접근을사용가능하게 할 것이다.

/sshserver/sftp ftpuser계정만 GID권한을 조정하여 다운로드, 업로드와 같이 접근을 사용가능하게 할 것이다.

/sshserver/ssh 다른 계정은 건드리지 말고, user계정으로 접속해서 해결해보자.

3. sshsu와 같은 보안설정을 해보자. user계정만 su를 사용할 수 있게 하자. (마음대로 사용할 수 없게)

 

 

[Client 세팅]

1. /sshclient/scp/abc_sub의 빈 파일을 만들것

2. /sshclient/sftp/ftpuser_sub의 빈 파일을 만들것

3. /sshclient/ssh/sshuser_sub의 빈 파일을 만들것

 

이렇게 세팅한 후에 클라이언트 pc에서 3가지 방법으로 다운로드 업로드 해보도록 하자.

 

1. 하드디스크 추가와 파일시스템 설정 그리고 마운트를 시켜주자.

하드디스크 추가 후, 파티션 나누기




파일시스템 설정해주기 



마운트 포인트를 만들고 마운트 해주기 



부팅시 자동으로 마운트하기 위해 fstab파일 설정 




 

2. /sshserver에 디렉토리 만들고 각 파일을 만들어보자.

scp, sftp, ssh3개의 디렉토리 생성 후,

scp/abc, sftp/ftpuser, ssh/user라는 빈 파일을 만들어주자.(클라이언트 pc에서 다운로드 해줄 파일들이다)



 

3. vi/etc/ssh/sshd_config에서 PermitRootLoginno로 변경하여 서버에 root권한으로 접근 못하게 막아놓자.



 

4. 이제부터 계정에게 권한을 조절하여 위의 조건을 맞춰보자.

먼저, user계정만 su를 사용하게 해보자.



여기서 chown .wheel /bin/su/bin/su파일의 사용자와 그룹을 wheel로 바꾸겠다는 것이다.

usermod -G wheel useruser라는 사용자를 wheel의 그룹으로 넣겠다는 것이다.

chmod 4750 /bin/su/bin/su파일의 권한을 rwsr-x---로 변경하는 것인데, 이 의미는 파일 소유자 wheelrwx가 모두 가능하며, wheel그룹에 속한 사용자들은 읽고 실행이 가능하게 한 것이다.

, wheel 그룹안에는 user라는 사용자가 있기 때문에 읽고 쓰기가 가능해진다는 의미이다.

한마디로 usersu명령어를 사용할 수 있지만, ftpuserabc사용자는 su를 사용할 수 없다.

 

5. abc계정만 scp디렉토리의 권한을 UID로 변경해 사용할 수 있게 하고, ftpusersftp디렉토리의 권한을 GID 변경해 접근 제어를 해보자.

abc계정 제어





ftpuser계정 제어




 

6. 이제부터 Client PC를 실습해보자.

먼저 server와 똑같이 3개의 디렉토리 3명의 사용자, 3개의 파일을 만들어주자.



 

7. 모든 설정이 끝났다.

이제부터 클라이언트 PC에서 업로드와 다운로드를 해보자.

각각 오류가 뜨는데 이유도 같이 알아보자.

abc계정을 이용한 서버로 부터의 다운로드, 업로드



클라이언트 PC에서 scp디렉토리로 이동 후, scp명령어로 서버로부터 다운로드를 받으려고 했다.

지금 접속되어 있는 계정은 root이다. 192.168.1.10/sshserver/scp에 있는 abc파일을 현재 디렉토리로 옮기려고 했지만 디나이 걸렸다. 왜그럴까? 아까 우리가 설정했던... PermitRootLogin no 때문이다. 루트로 접속을 거부했기 때문이다.



, 이번에는 user라는 계정으로 바꿔서 접근을 시도하였지만 역시 접근하지 못했다. 이유가 무엇일까? 아까 위에서 scp의 파일 권한을 abc계정만 접근할 수 있게 UID를 만져서 바꿔놓았다.

마지막으로 abc계정으로 접근을 시도하여 다운로드 받아보자.



잘 받아온 것을 볼 수 있다.

 

자 이번에는 업로드를 시켜보자.

클라이언트 pc에 있는 /sshclient/scp/abc-sub파일을 서버로 업로드해보자.



권한으로인해 업로드 하지 못했다. 일부러 ftpuser로 보내봤는데 왜 보낼 수 없을까?



서버측으로 옮기려는 scp폴더의 권한을 보면 abc로 되어있고, abc를 제외한 모든 사용자들은 접근하지 못하게 했다그래서 보낼 수 없었다.

그 말은 즉슨, abc사용자는 업로드 시킬 수 있다는 것이다.


 

ftpuser사용자를 이용해 sftp디렉토리의 파일을 다운로드 업로드 시켜보자.

ftpuser로 서버측에 있는 /sshserver/sftp로 잘 접속이 된다. 물론 다른 계정로 접속이 될 것이다. 하지만 그 이후에, 명령어의 제약이나 접근 제한이 있을것이다. 왜냐? /sshserver/sftp의 소유권은 root이고, 그룹은 ftpuser니까..!

ftpuser로 접속해 get으로 다운로드 하였다.



이번에는 클라이언트 PC에 있는 ftpuser-sub파일을 /sshserver/sftpput을 이용해 업로드 시켜주었다.

user사용자로 ssh접속을 해서 다운로드, 업로드를 해보자.



접속은 잘 되었지만, server에 있는 ssh파일을 보내려고 했지만 보낼 수 없었다.

왜 그런걸까? 지금 보내려고 하는 곳의 권한을 잘 보면 다음과 같다.



ssh의 소유자와 그룹 모두 root이다그렇기 때문에 user는 접근 거부 된것이다.

 

다음과 같이 server측에 있는 root만 접근 거부되었을 뿐, client측의 root계정은 권한이 풀려있기 때문에 root권한으로 다운로드 할 수 있다.



업로드는 클라이언트 PC에서 ssh를 이용하여 server에 접속한 상태이다. 그 상태에서 su -를 이용해 serverroot권한을 얻은 후, 클라이언트 pc에게 보내는 것이다. 업로드 할때는 접속한 sevas계정으로는 할 수 있는 것이 아무것도 없기 때문이다


 

LIST

'OS > Linux' 카테고리의 다른 글

리눅스 - NFS (Network File System)  (0) 2016.02.29
리눅스 - VNC  (0) 2016.02.29
리눅스 - IP 설정하기  (0) 2016.02.27
리눅스 - /etc/ssh/sshd_config 파일  (0) 2016.02.27
리눅스 - configure, make, make install 개념  (0) 2016.02.26

windows에서는 IP를 바꾸기 위해 내 네트워크 환경 오른쪽 마우스 속성 TCP/IP 더블클릭  IP란에다가 써넣으면 된다.

리눅스에서는 방법이 몇 가지 있지만 대표적으로 2가지 방법을 알아보겠다.

 

1. ifconfig 명령어 이용하기

ifconfig명령어는 네트워크 관련 명령어로 지금 현재 자신의 ip를 확인할 뿐만 아니라 변경도 가능하다.



 

이번에는 ifconfig [장치명] [바꾸고 싶은 ip]으로 ip를 변경시켜보자.



다음과 같이 변경된 것을 알 수 있다.

 

 

2. /etc/sysconfig/network-scripts/ifcfg-eth0파일을 변경시켜주는 것이다.



 

3. 마지막으로 ip를 변경해주면 꼭 데몬을 재실행 시켜줘야 한다.




 

LIST

/etc/ssh/sshd_config 파일은 ssh 데몬에 대한 설정파일이다

각 행에 대한 내용은 이렇다

Port 22 -> 포트설정부분

 

Protocol 2 -> SSH 서비스 시 이용할 버전 선택

 

ListenAddress 0.0.0.0 -> 시스템에 여러 ip가 존재할 때 특정 ip대역으로 지정할 수 있다. ipv4이다.

 

ListenAddress :: -> ipv6

 

KeyRegenerationInterval 1h -> 자동으로 생성된 키의 유효 기간을 지정할 수 있는데 지금 1시간으로 지정되어 있다.

 

ServerKeyBits 1024 -> 서버의 암호키 생성시 이용하는 bit수를 지정할 수 있다. 최소값 512bit

 

LogLevel INFO ->로그기록 수준을 의미하는 항목이다.

warning이 실무에서 가장 많이 사용하는데, 단순 경고 메시지 수준이다.

info는 정보를 보여줘야 하는 수준이다.

 

LoginGraceTime 2m -> 사용자가 로그인 시 시간을 지정하는 항목, 2분이 지나면 접속을 해제한다.

 

PermitRootLogin yes -> 관리자의 로그인을 허용할 것인가에 대한 항목

기본값으로 관리자의 접근을 허용하였지만 권장하지는 않는다.



 

 

StrictModes yes -> 사용자의 홈 디렉토리인 /home/username의 권한값 등을 체크하도록 설정되어 있는 지시자인데, 감시모드이다.(누가 접속했는지 로그 정보를 남김)

어디에? /var/log/secure or message -> secure는 접속관련 로그, message는 시스템 에러 메시지

/etc/logrotate.d/syslog -> 로그기록방식 설정

 

MaxAuthTries 6 -> ssh 클라이언트 프로그램으로 로그인을 시도할 경우 인증 실패 횟수를 의미. 기본값은 6(6회이상 실패시 로그인 못함)

 

PasswordAuthentication no -> 로그인할 때 password를 사용하게끔 하는 부분

 

PermitEmptyassword no -> 패스워드 없이 접속 허용 여부를 설정

 

SubSystem sftp /usr/libexec/openssh/sftp-server -> sshd 데몬을 통하여 다른 프로그램, sftp-server를 실행할 수 있도록 설정하는 항목



LIST

1. configure

configure는 소스파일에 대한 환경설정을 해주는 명령어다.(configure뒤에 옵션을 넣음) 서버환경에 맞쳐 makefile을 생성해주는 과정이다.

소스를 사용할 컴퓨터와 사용자의 환경에 맞게 내 컴퓨터는 어떤 기종이고 컴파일에 필요한 시스템 파일들은 어디에 위치해 있으며, 어떤곳에 설치를 하겠다고 지정을 하는 것이다.

)

# ./configure --prefix = /usr/local/mysql 하게 되면 어떤 파일을 /usr/local/mysql 이라는 곳에 설치 하겠다는 뜻.

 

 

2. make

make는 소스를 컴파일 하는 것이다. 컴파일이란 것은 소스파일을 사용자가 실행 가능한 파일로 만들어 주는 과정을 말한다. make 과정이 끝나고 나면 설치파일(Setup 파일 같은 것)이 생성된 상태라고 볼 수 있다.

여기서 중요한 것은 make에게 어떤 프로그램을 컴파일하고 링크해야 하는지 그 방법을 설명한 것이 makefile이다.

mafefile이란 것은 소스파일의 의존성이라던가 필요한 명령등 신경써야할 부분이 많게된다. 매번 각 소스파일을 따로 컴파일 하는 것도 매우 힘든일이다. 프로그램의 빌드과정을 표준 문법으로 기술한 파일을 makefile이라고 부른다.

 

 

3. make install

make installmake를 통해 만들어진 설치파일(setup)을 설치를 하는 과정이다. 한마디로 build된 프로그램을 실행 할 수 있게 파일들을 알맞은 위치에다가 복사를 한다.

 

make dep 이란 것은 의존성 검사라고 하는 것인데 커널 컴파일을 하기 전에 이것들의 소스들에 문제가 있는지 검사하는 것이다. ( 설치에 필요한 것들이 제대로 있나 확인하는 것)

LIST

sendmail.cf가 원래 sendmail의 설정파일이다. sendmail.mc는 설정을 좀 더 용이하게 하기 위한 설정 보조파일로서 sendmail.mc에서 설정을 해주고 다음의 명령으로 sendmail.cf를 생성할 수 있다.

sendmail.mc의 첫부분 주석(dnl)을 보면 자세하게 설명이 되어있다.

m4 sendmail.mc >sendmail.cf        // m4유틸 사용

>sendmail.mc에서  > DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA') >sendmail.cf에서 > O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA

 


따라서 위의 두 내용은 같은 내용이다.

sendmail.mc를 거치지 않고 곧바로 sendmail.cf를 위에서 두번째와 같이 설정하거나 sendmail.mc를 위의 첫번째와 같이 설정하고 m4 명령으로 sendmail.cf를 생성하거나 결과적으로 같은 효과를 가지게 된다

위 설정의 뜻은 sendmail 데몬이 smtp port(25)를 통해 0.0.0.0의 주소 (모든 ip주소)listen 하게 한다는 뜻이다

redhat의 경우 디폴트로 위의 Addr 값이 127.0.0.1로 되어 있기 때문에 외부로부터 메일을 수신할 수 없고 오직 local에서 보내진 메일만 수신할 수 있다.

 


출처 : http://blog.naver.com/wooya510

LIST

</etc/named.conf>

이 파일은 named 데몬의 설정파일이다. DNS 서버를 구축하고자 할 때 가장많이 접근해야 하는 파일이며, 가장 중요한 파일중의 하나이다.

이 파일에는 개별도메인 설정을 위한 zone파일의 위치, named.ca파일, named.local파일 등에 대한 정보가 있다.



 

1. directory "/var/named"

이 부분은 DNS서버에 있는 zone파일들의 위치를 나타낸다. , 네임서버 DB파일들이 존재하는 위치를 지정해주는 부분이다. /var/named 디렉토리에 가보면 zone파일들이 있을 것이다. zone파일에 대해선 나중에 설명하겠다.

 

 

2. allow-query {any;}

네임 서버는 하나의 네임서버만 있는 것이 아니고 하나의 DNS 서버에는 여러개의 네임서버를 가져올수 있다. 이 항목을 허용하겠냐는 것이다. , 추가 되는 네임서버를 허용하겠느냐 라는 것!

 

3. recursion no;

재시도를 말한다. 예를 들어 1차 네임서버에 대해 요청을 했을때 2차 그다음 3차로 계속 간 후 마지막을 4차로 하자... 그렇게 되면 4차 네임서버 까지 요청을 했을 때 다시 1차 네임서버로 질의를 할 것인지를 yes no하는 항목이다.

 

 

4. zone "." IN {

   type hint;

   file "named.ca";

};

이 부분은 DNS의 루트도메인에 대한 설정을 named.ca 파일에 하고 있다라는 설정이다.

hint는 루트도메인 지정, master1차 네임서버, slave2차 네임서버이다.

 

5. include "/etc/rndc.key";

이 부분은 namedrndc가 사용할 인증키값을 저장하고 있는 파일의 이름으로 /etc/rndc.key파일을 지정한 것이다. (원격접속)

 

6. zone "naver.com" IN {

   type master;

   file "naver.com.db";

};

이 부분은 개별도메인에 대한 설정이다. naver.com이라는 도메인에 대해서 설정한다 라는 의미이며 naver.com.db파일을 zone파일로 하여 네임 서비스를 하겠다 라는 설정이다. file에 명시되어 있는 파일은 /var/named/chroot/var/named/디렉토리내에 존재하게 된다. typemaster이기 때문에 지금 설정하고 있는 서버가 naver.com의 도메인에 대한 1차 네임서버라는 의미이다. (naver.com은 사설네트워크에서 조작하고 있기 때문에 실제 우리가 사용하는 naver.com과는 완전 다르다.)

 

</etc/named.rfc1912.zones>

이 파일은 Caching-nameserver package파일이다. DNS서버에 IP와 도메인을 비교해주는 파일인 zone파일과 rev파일이 있는 경로와 정보가 있는 파일이다.





 

자 먼저, 가운데에 0.0.0.0.0.0.0.0.0으로 되어 있는 부분은 정방향과 역방향 매칭을 구분하는 것이다.

위가 정방향(zone파일), 아래가 역방향(rev파일)이라고 생각하면 된다.

zone "localhost" IN {        type master;        file "named.localhost";        allow-update { none; };};이 부분과

zone "1.0.0.127.in-addr.arpa" IN {        type master;        file "named.loopback";        allow-update { none; };};이 부분을 맨 밑에 복사한다.



이렇게 수정해서 넣어준다. 기존은 지우지 말고 이렇게 써넣어주거나 복사하여 수정해주면 된다.

그 후에... abc.zone파일과 abc.rev파일을 수정해주면 된다.



LIST

+ Recent posts