직접 영역 DNS centos에 대한 설명 7. dig를 사용하여 직접 영역 테스트. DHCP를 통해 네트워크 설정을 가져오는 방법

이 자료에서는 서버에 대한 거의 모든 초기 작업이 시작되는 현재 주제를 다룰 것입니다. CentOS에서 기본 네트워크 매개변수 구성 - IP 주소, dhcp, ipv6, DNS, 호스트 이름, 정적 경로, 네트워크 카드 및 기타 네트워크 매개변수. 우리는 주제를 단순한 것에서 복잡한 것까지 단계별로 진행하여 모든 뉘앙스를 순서대로 분석하고 가장 인기 있는 질문에 답할 것입니다.

CentOS 7 서버의 네트워크 설정

CentOS 서버의 네트워크 설정을 처음 접하는 것은 설치를 수행할 때입니다. 초기 설정 화면에는 네트워크 인터페이스 설정과 관련된 별도의 항목이 있습니다.

입력하면 연결된 네트워크 카드 목록이 표시됩니다. 해당 슬라이더(그림의 1번 지점)를 사용하여 각각을 켤 수 있습니다. 인터페이스가 활성화되면 자동으로 dhcp를 통해 설정을 받습니다. 바로 거기서 dhcp 작업의 결과를 볼 수 있습니다. 이 설정이 마음에 들지 않으면 다음을 클릭하여 편집할 수 있습니다. 구성(그림의 3번 지점). 여기서도 설정할 수 있습니다 호스트 이름(그림의 2번 지점):


Ehernet 추가 설정 창을 열면 네트워크 인터페이스 이름을 변경하고, IP ​​설정을 지정하고(그림의 항목 1), 수동 설정(그림의 2번 지점) 할당 IP 주소(그림의 3번 지점), 설치 DNS 서버(그림의 4번 지점) 네트워크 설정을 저장합니다(그림의 5번 지점).


나머지 설정을 완료하면 설치가 시작됩니다. 설치 후에는 지정한 네트워크 설정이 적용된 서버를 갖게 됩니다.

이제 또 다른 상황을 고려해 봅시다. 서버와 네트워크 구성을 만들지 않았지만 이제 이를 확인하거나 변경해야 합니다. 서버 콘솔은 귀하가 원하는 대로 사용할 수 있으며 우리는 그 작업을 수행할 것입니다. 배포 키트에서 설치한 경우 최소한의, 다음 명령을 사용하여 네트워크 설정을 보려고 하면 ifconfig콘솔에는 다음이 표시됩니다.

Bash: ifconfig: 명령을 찾을 수 없습니다

또는 러시아어 버전:

Bash: ifconfig 명령을 찾을 수 없습니다

ifconfig 및 기타 네트워크 유틸리티를 사용하려면 패키지를 설치해야 합니다. 네트 도구. 해보자:

# yum -y install net-tools.x86_64

이제 네트워크 설정을 볼 수 있습니다.

MTU 1500 INET 192.168.159.129 ether 00:0c:29:7d:59:3f txqueuelen 1000(이더넷) RX 패킷 319바이트 36709(35.8KiB) RX 오류 0 삭제 0 오버런 0 프레임 0 TX 패킷 256바이트 148817(145.3KiB) TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0 lo: 플래그=73 mtu 65536 inet 127.0.0.1 넷마스크 255.0.0.0 inet6::1 prefixlen 128 범위 ID 0x10 루프 txqueuelen 0(로컬 루프백) RX 패킷 6바이트 624(624.0 B) RX 오류 0 삭제 0 오버런 0 프레임 0 TX 패킷 6바이트 624(624.0 B) TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0

추가 패키지를 설치하지 않으려면 더 간단한 명령을 사용하면 됩니다. 아이피매개변수 포함:

# IP 주소 1: lo: mtu 65536 qdisc noqueue 상태 UNKNOWN 링크/루프백 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 범위 호스트 lo valid_lft 영원히 우선_lft 영원히 inet6::1/ 128 범위 호스트 valid_lft 영원히 favorite_lft 영원히 2: eno16777728: mtu 1500 qdisc pfifo_fast 상태 UP qlen 1000 링크/이더 00:0c:29:7d:59:3f brd ff:ff:ff:ff:ff:ff inet 192.168.159.129 /24 brd 192.168.159.255 범위 전역 동적 eno16777728 valid_lft 1709sec Preferred_lft 1709sec inet6 fe80::20c:29ff:fe7d:593f/64 범위 링크 valid_lft 영원히 favorite_lft 영원히

네트워크 구성을 확인했으니 이제 편집해 보겠습니다. IP 주소를 변경해야 한다고 가정해 보겠습니다. 이렇게 하려면 /etc/sysconfig/network-scripts 디렉터리로 이동하여 편집할 파일을 엽니다. ifcfg-eth0. 이 파일의 내용은 대략 다음과 같습니다.

이 파일의 설정을 사용하여 dhcp를 통해 IP 주소를 얻습니다. 고정 IP를 수동으로 등록하려면 파일을 다음 내용으로 가져옵니다.

매개변수를 변경했습니다.

변경 사항을 적용하려면 네트워크 설정을 다시 읽어야 합니다.

네트워크 다시 시작(systemctl을 통해): [OK]

새 네트워크 구성이 적용되었는지 확인하십시오.

# ifconfig: eno16777728: 플래그=4163 MTU 1500 INET 192.168.159.129 넷마스크 255.255.255.0 브로드캐스트 192.168.159.255 inet6 fe80::20c:29ff:fe7d:593f prefixlen 64 범위 ID 0x20 ether 00:0c:29:7d:59:3f txqueuelen 1000(이더넷) RX 패킷 672바이트 71841(70.1KiB) RX 오류 0 삭제 0 오버런 0 프레임 0 TX 패킷 572바이트 290861(284.0 KiB) TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0

모든 것이 정상입니다. 새로운 네트워크 인터페이스 설정이 설치되었습니다.

DHCP를 통해 네트워크 설정을 가져오는 방법

이제 반대 상황을 고려해 봅시다. 네트워크 카드에 일부 설정이 수동으로 지정되어 있다고 가정해 보겠습니다. 하지만 컴퓨터가 DHCP를 통해 클라이언트로 네트워크 설정을 수신하기를 원합니다. 이렇게 하려면 이전에 했던 것과 반대되는 작업을 수행해야 합니다. 즉, /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 열고 DNS, IPADDR, PREFIX, GATEWAY 매개변수가 있는 행을 삭제하고 BOOTPROTO 매개변수에 값을 지정합니다. "DHCP". 파일을 저장하고 네트워크를 다시 시작합니다.

# /etc/init.d/network 재시작

그런 다음 클라이언트가 dhcp를 통해 설정을 받았는지 확인합니다.

CentOS 7에서 DNS를 구성하는 방법

CentOS의 현재 DNS 서버 설정은 다음 두 위치에서 볼 수 있습니다.

  1. 이전에 여러 번 편집한 네트워크 카드 ifcfg-eth0의 설정이 있는 파일에서.
  2. /etc/resolv.conf 파일에서

왜 지금은 두 곳에 있는지 모르겠지만 이전에는 일부 배포판의 DNS 서버 설정이 정확히 어느 것이 resolv.conf에만 표시되었는지 기억이 나지 않지만 어느 시점에서 이것이 변경되었습니다. 그리고 모든 네트워크 설정이 주소, 게이트웨이, 마스크 등과 함께 하나의 파일에 저장되기 시작했습니다. 이제 resolv.conf 파일을 편집하고 거기에 일부 서버 DNS를 추가하면 재부팅 후 ifcfg-eth0 파일의 값으로 대체됩니다.

따라서 DNS 서버 매개변수를 설정하려면 ifcfg-eth0 네트워크 설정 파일을 편집하여 필요한 만큼 서버를 추가해야 합니다. 예를 들면 다음과 같습니다.

DNS1="192.168.159.2" DNS2="8.8.8.8" DNS3="8.8.4.4"

설정을 적용하고 파일을 저장하고 네트워크를 다시 시작하려면 모든 것이 평소와 같습니다. 서버를 재부팅하면 dns 설정이 resolv.conf 파일에 기록됩니다.

# cat /etc/resolv.conf # NetworkManager 네임서버에 의해 생성됨 192.168.159.2 네임서버 8.8.8.8 네임서버 8.8.4.4

CentOS 7에서 ipv6을 비활성화하는 방법

현재 프로토콜을 적극적으로 사용 중입니다. IPv6아니요, 일반 작업에는 필요하지 않습니다. 무료 IP 주소가 거의 남아 있지 않다는 사실을 수년 동안 두려워했지만 실제로는 여전히 모든 사람에게 충분합니다. 따라서 실용적인 이유로 ipv6은 현재 서버에 필요하지 않으며 비활성화할 수 있습니다.

혹시라도 ipv6을 비활성화하기 전에 어떤 프로그램이 작업에 이를 사용하는지 확인해야 합니다. 이는 먼저 구성에서 ipv6을 비활성화하여 작업 오류를 방지하기 위해 필요합니다. ipv6 인터페이스에 어떤 프로그램이 걸려 있는지 확인하려면 netstat 명령을 사용하십시오.

# netstat -tulnp 활성 인터넷 연결(서버만) Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID/프로그램 이름 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2317/master tcp 0 0 0.0.0.0 :22 0.0.0.0:* 듣기 1333/sshd tcp6 0 0::1:25:::* 듣기 2317/마스터 tcp6 0 0:::22:::* 듣기 1333/sshd udp 0 0 0.0.0.0:49252 0.0.0.0:* 694/avahi-daemon: r udp 0 0 0.0.0.0:123 0.0.0.0:* 715/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 694/avahi-daemon: r udp 0 0 127.0.0.1:323 0.0.0.0:* 715/chronyd udp6 0 0:::123:::* 715/chronyd udp6 0 0::1:323:::* 715/chronyd

:::가 있는 모든 줄은 ipv6 프로토콜입니다. 내 경우에는 sshd, postfix 및 chronyd입니다. ipv6을 비활성화하고 ipv4만 남겨두겠습니다.

SSHD부터 시작해 보겠습니다. 설정 파일 /etc/ssh/sshd_config를 열고 다음 줄을 찾습니다.

#AddressFamily 모든 #ListenAddress 0.0.0.0

주석을 제거하고 변경해 보겠습니다. 다음과 같아야 합니다.

AddressFamily inet ListenAddress 0.0.0.0

이제 postfix 설정 파일 /etc/postfix/main.cf를 엽니다. 우리는 거기에서 다음 줄을 찾고 있습니다.

#inet_protocols = 모두

로 변경:

Inet_protocols = ipv4

chronyd에서 ipv6을 비활성화합니다. 이렇게 하려면 /etc/sysconfig/ 파일을 만듭니다. 크로니드그리고 다음 줄을 추가하세요:

옵션=-4

이제 CentOS에서 ipv6을 비활성화합니다. /etc/ 파일을 엽니다. sysctl.conf거기에 다음 줄을 추가하세요.

Net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1

/etc/sysconfig/ 파일 편집 회로망, 거기에 다음을 추가합니다:

NETWORKING_IPV6=아니요 IPV6INIT=아니요

재부팅하고 결과를 확인합니다.

# 재부팅 # ifconfig eno16777728: 플래그=4163 mtu 1500 inet 192.168.159.129 넷마스크 255.255.255.0 브로드캐스트 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000(이더넷) RX 패킷 2301바이트 243024(237.3KiB) 오류 0 삭제된 0개의 오버런 0개의 프레임 0 TX 패킷 2138바이트 1327955(1.2MiB) TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0 lo: flags=73 mtu 65536 inet 127.0.0.1 넷마스크 255.0.0.0 루프 txqueuelen 0(로컬 루프백) RX 패킷 0바이트 0(0.0B) RX 오류 0 삭제 0 오버런 0 프레임 0 TX 패킷 0바이트 0(0.0 B) TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0

inet6 및 ipv6 형식 주소에 대한 언급은 어디에도 없습니다. 모든 것이 괜찮습니다. CentOS에서 ipv6을 비활성화했습니다. 이제 열려 있는 포트 목록을 확인해 보겠습니다.

# netstat -tulnp 활성 인터넷 연결(서버만) Proto Recv-Q Send-Q 로컬 주소 외부 주소 상태 PID/프로그램 이름 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2291/master tcp 0 0 0.0.0.0 :22 0.0.0.0:* LISTEN 1322/sshd udp 0 0 0.0.0.0:123 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/avahi-daemon: r udp 0 0 127.0.0.1:323 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:57259 0.0.0.0:* 697/avahi-daemon: r

모든 포트는 ipv4입니다. 모든 것이 순조롭게 진행되고 작업이 완료되었습니다.

CentOS 7에서 호스트 이름을 변경하는 방법

기본적으로 CentOS는 설치 중에 호스트 이름을 입력합니다. 로컬호스트.로컬도메인. 아직 변경하지 않았다면 나중에 변경할 수 있습니다. 먼저 어떤 호스트 이름을 설정했는지 확인해 보겠습니다. 이는 콘솔의 명령을 사용하여 수행됩니다. 호스트 이름, 또는 사용 이름을 밝히다:

# 호스트 이름 localhost.localdomain # uname -n localhost.localdomain

CentOS에서 호스트 이름을 변경하려면 파일을 편집해야 합니다. /etc/호스트 이름. 내용을 확인해 보겠습니다.

# 고양이 /etc/호스트 이름 localhost.localdomain

이 파일을 편집하여 호스트 이름을 변경해 보겠습니다.

# mcedit /etc/hostname centos.localhost

파일을 저장하고 다음을 확인하십시오.

# 호스트 이름 centos.localhost

필요한 서버 이름을 즉시 설정하는 기성 명령이 있습니다.

# 호스트 이름ctl 세트-호스트 이름 centos.localhost

모든 것이 정상입니다. 호스트 이름을 centos.localhost로 변경했습니다.

CentOS 7에서 기본 게이트웨이 설정

어떤 이유로 네트워크 매개변수를 설정할 때 기본 게이트웨이를 설정하지 않은 경우 수동으로 설정할 수 있습니다. 먼저 현재 시스템에 어떤 기본 게이트웨이가 설치되어 있는지 확인해 보겠습니다.

# netstat -nr 커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 MSS 창 irtt Iface 0.0.0.0 149.154.71.254 0.0.0.0 UG 0 0 0 eth0 10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 149.154.70.0 0.0.0.0 255.255.254.0 0 0 0 eth0 192.168.1.0 10.8.0.2 255.255. UG 0 0 0 tun0

Destination 0.0.0.0이 있는 줄은 게이트웨이 주소를 지정합니다. 해당 게이트웨이가 없거나 게이트웨이 필드에 잘못된 게이트웨이가 설정된 경우 이를 변경할 수 있습니다. 기본 게이트웨이를 설정합니다:

경로 추가 기본 gw 192.168.0.1

CentOS 7의 네트워크 관리자

CentOS에는 기본적으로 모든 네트워크 연결을 관리하는 서비스가 있습니다. 네트워크매니저. 네트워크 설정을 지속적으로 모니터링하고 구성 관리 데몬을 사용하여 활성 네트워크 장치를 적절하게 변경합니다. 표준 ifcfg 구성 파일을 지원합니다.

네트워크 유틸리티 및 애플리케이션 목록:

사용자는 CentOS에서 NetworkManager와 직접 상호 작용하지 않으며 이를 위해 그래픽 및 명령줄 유틸리티를 사용합니다. 그러한 유틸리티 중 하나는 시스템 구성 네트워크 tui.

CentOS 7의 시스템 구성 네트워크 tui

CentOS에서 네트워크 설정을 관리하려면 그래픽 유틸리티를 사용할 수 있습니다. nmtui. 시스템에서 존재 여부를 확인하는 것은 매우 쉽습니다. 콘솔에서 실행해 보세요.

설치되어 있지 않은 경우 수정하기가 매우 쉽습니다. CentOS 시스템 구성 네트워크 tui에 설치합니다.

# 냠 설치 NetworkManager-tui

사용하여 투이명령줄과 구성 파일 편집을 통해 이전에 수행한 모든 네트워크 설정을 지정할 수 있습니다. 그걸하자. 프로그램을 호출합니다:

첫 번째 항목을 선택하세요. 연결 편집을 클릭한 다음 네트워크 인터페이스를 선택하고 "편집"을 클릭하십시오.

여기에서 네트워크 카드 이름, mac 주소를 변경하고, 네트워크 설정 유형(수동 또는 dhcp)을 지정하고, IP ​​주소, 게이트웨이 주소, DNS 서버를 수동으로 지정하고, 경로 및 기타 설정을 추가할 수 있습니다.


편집이 완료되면 확인을 클릭하여 설정을 저장합니다.
유틸리티 첫 화면에서 항목을 선택하면 시스템 호스트 이름 설정을 사용하면 호스트 이름을 빠르게 지정할 수 있습니다. 결과는 이전에 콘솔에서 했던 것과 동일합니다.

CentOS 7에서 고정 경로를 추가하는 방법

CentOS에서 라우팅을 제어하려면 정적 경로를 추가해야 할 수도 있습니다. 콘솔 명령을 사용하면 매우 쉽습니다. 먼저, 다음을 사용하여 기존 경로를 확인해 보겠습니다. netstat:

# netstat -nr 커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 MSS 창 irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.159.0 0.0.0.0 255.255.255.0 U 0 0 eno167777 28

이 경우 주소 0.0.0.0/0.0.0.0에 대한 경로가 하나 있습니다. 게이트웨이는 기본 게이트웨이이기도 한 192.168.159.2입니다. 즉, 본질적으로 고정 경로가 없습니다. 그 중 하나를 추가해 보겠습니다.

서브넷 192.168.8.0 마스크 255.255.255.0이 있고 이 서브넷에 대한 트래픽은 게이트웨이 192.168.159.5에 의해 라우팅된다고 가정해 보겠습니다. 경로를 추가합니다.

# 경로 add -net 192.168.8.0/24 gw 192.168.159.5

추가된 경로가 표시되었는지 확인합니다. 라우팅 테이블:

# netstat -nr 커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 MSS 창 irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.8.0 192.168.159.5 255.255.255.0 U G 0 0 0 eno16777728 192.168.159.0 0.0.0.0 255.255.255.0 유 0 0 0 eno16777728

모든 것이 정상입니다. 경로가 추가되었습니다. 그러나 재부팅 후에는 이 정적 경로가 삭제됩니다. 이러한 상황을 방지하고 추가된 경로를 저장하려면 해당 경로를 특수 파일에 기록해야 합니다. /etc/sysconfig/network-scripts 폴더에서 다음과 같은 파일을 만듭니다. 경로-eth0다음 내용:

# mcedit /etc/sysconfig/network-scripts/route-eth0 192.168.8.0/24 via 192.168.159.5

재부팅하고 경로가 올바른지 확인하십시오.

# 재부팅 # netstat -nr 커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 MSS 창 irtt Iface 0.0.0.0 192.168.159.2 0.0.0.0 UG 0 0 0 eno16777728 192.168.8.0 192.168.159.5 255.255.25 5.0 UG 0 0 eno16777728 192.168.159.0 0.0 .0.0 255.255.255.0 유 0 0 0 eno16777728

모든 것이 정상입니다. 정적 경로가 추가되었습니다.

하나의 인터페이스에 2개의 IP 주소를 구성하는 방법

구성해야 하는 경우 IP 2개 CentOS의 한 인터페이스에 주소를 지정하면 이 작업이 매우 간단합니다. ifconfig 명령을 사용해 보겠습니다. 먼저 네트워크 인터페이스 목록을 확인해 보겠습니다.

# ifconfig eno16777728: 플래그=4163 mtu 1500 inet 192.168.159.129 넷마스크 255.255.255.0 브로드캐스트 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000(이더넷) RX 패킷 254바이트 30173(29.4KiB) RX 오류 0 삭제 0 오버런 0 프레임 0 TX 패킷 204바이트 27658(27.0KiB) TX 오류 0 삭제 0 오버런 0 반송파 0 충돌 0 lo: flags=73

eno16777728 인터페이스에 다른 IP 주소 192.168.159.120을 추가해 보겠습니다.

# ifconfig eno16777728:1 192.168.159.120 위로

무슨 일이 일어났는지 확인해 봅시다:

# ifconfig eno16777728: 플래그=4163 mtu 1500 inet 192.168.159.129 넷마스크 255.255.255.0 브로드캐스트 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000(이더넷) RX 패킷 254바이트 30173(29.4KiB) RX 오류 0 삭제 0 오버런 0 프레임 0 TX 패킷 204바이트 27658(27.0KiB) TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0 eno16777728:1: flags=4163 mtu 1500 inet 192.168.159.120 넷마스크 255.255.255.0 브로드캐스트 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000(이더넷) lo: flags=73 mtu 65536 inet 127.0.0.1 넷마스크 255.0.0.0 루프 txqueuelen 0(로컬 루프백) RX 패킷 11바이트 940(940.0B) RX 오류 0 삭제 0 오버런 0 프레임 0 TX 패킷 11바이트 940(940.0 B) TX 오류 0 삭제 0 오버런 0 캐리어 0 충돌 0

모든 것이 괜찮습니다. 동일한 인터페이스에 두 번째 IP 주소를 추가했습니다. 하지만 재부팅 후에는 추가 주소가 저장되지 않습니다. 이를 저장하려면 /etc/sysconfig/network-scripts 폴더에 인터페이스 설정 파일을 생성해야 합니다.

# mcedit /etc/sysconfig/network-scripts/ ifcfg-eno16777728:1 DEVICE=eno16777728:1 BOOTPROTO=정적 IPADDR=192.168.159.120 NETMASK=255.255.255.0 ONBOOT=예

파일을 저장하고 재부팅한 후 무슨 일이 일어났는지 확인하세요. 두 번째 IP 주소가 있어야 합니다.

CentOS 7에서 네트워크를 다시 시작하는 방법

이 문제는 이전에 이미 다루었지만 만약을 대비해 별도로 반복하겠습니다. 네트워크 구성을 일부 변경했다고 가정해 보겠습니다. 서버를 재부팅하지 않고 어떻게 이러한 설정을 적용할 수 있나요? 매우 간단합니다. CentOS에서 네트워크를 다시 시작하려면 다음 명령을 사용하십시오.

# /etc/init.d/network 재시작

NetworkManager 서비스는 모든 네트워크 설정을 다시 읽고 변경 사항을 적용합니다.

CentOS 7에서 IP 주소를 찾는 방법

CentOS에서 현재 IP 주소를 빠르게 찾으려면 다음 명령을 사용해야 합니다.

# ifconfig | grep inet inet 192.168.159.129 넷마스크 255.255.255.0 브로드캐스트 192.168.159.255 inet 127.0.0.1 넷마스크 255.0.0.0

또는 로컬 IP 주소를 결정하는 두 번째 옵션:

# IP 주소 | grep inet inet 127.0.0.1/8 범위 호스트 lo inet 192.168.159.129 /24 brd 192.168.159.255 범위 글로벌 eno16777728

두 명령을 모두 사용하면 IP 주소를 빠르게 찾을 수 있습니다.

CentOS에 네트워크 카드가 표시되지 않으면 어떻게 해야 합니까?

서버를 설치하고 부팅했는데 시스템에 네트워크 카드가 하나도 없다는 것을 발견했습니다. 이 경우 어떻게 해야 합니까? 우선, dmesg 명령의 출력을 보고 거기에서 카드의 메모리를 찾으십시오. 아마도 시스템에 있지만 활성화되지 않았을 수도 있습니다. 다음을 사용하여 활성화할 수 있습니다. nmtui, 위에서 말한 것입니다.

메뉴 항목이 있습니다 연결 활성화, 해당 항목으로 들어가서 네트워크 카드를 활성화해야 합니다. 그런 다음 구성할 수 있습니다.

네트워크 카드가 시스템에 없으면 인터넷에서 모델별로 이 네트워크 카드에 대한 정보를 검색해야 합니다. 아마도 저장소에 이에 대한 드라이버가 있을 것입니다. 이것은 매우 일반적인 상황입니다. 대부분의 경우 드라이버를 찾을 수 있으며 올바르게 설치해야 합니다.

네트워크 선이 이 카드에 연결되어 있지 않으면 ifconfig 명령을 출력할 때 카드가 표시되지 않을 가능성이 여전히 있습니다. 모든 인터페이스를 보려면 -a 스위치를 사용해야 합니다.

# ifconfig -a

시스템에서 네트워크 카드를 찾는 또 다른 방법이 있습니다. 패키지 설치 pciutils:

# yum -y pciutils 설치

그리고 명령의 출력을 살펴보세요.

#lspci | grep 이더넷

시스템에 네트워크 카드가 표시되면 다음과 같아야 합니다.

02:00.0 이더넷 컨트롤러: Intel Corporation 82545EM 기가비트 이더넷 컨트롤러(구리) (rev 01)

출력이 비어 있으면 네트워크 카드가 정의되지 않은 것입니다.

CentOS에서 네트워크를 사용할 수 없으면 어떻게 해야 합니까?

예를 들어 8.8.8.8과 같은 일부 주소를 ping하려고 하는데 네트워크를 사용할 수 없다는 응답을 받았다고 가정해 보겠습니다.

#핑 8.8.8.8

그리고 이에 대한 응답으로 다음을 얻습니다.

연결: 네트워크를 사용할 수 없습니다.

기본 게이트웨이가 설치되어 있지 않은 경우 이러한 상황이 발생할 수 있습니다. 다음 명령을 사용하여 추가할 수 있습니다.

# 경로 추가 기본 gw 192.168.0.1

게이트웨이에 문제가 없으면 네트워크 어댑터의 설정을 확인해야 합니다. 활성 어댑터가 없으면 네트워크가 작동하지 않는다는 메시지도 받게 됩니다. 시스템에 하나 이상의 네트워크 어댑터가 올바르게 구성되어 있어야 합니다. 이를 수행하는 방법은 위에 기록되어 있습니다.

네트워크 유틸리티 Traceroute를 사용하여 CentOS를 살펴보세요.

CentOS에서 네트워크 연결을 진단하려면 특수 유틸리티를 사용하는 것이 유용합니다. 그러나 최소 설치를 사용한 경우 시스템에 없을 가능성이 높습니다. 예를 들어, 인기 있는 유틸리티 추적 경로 실행하려고 하면 다음 메시지가 표시됩니다.

# Traceroute ya.ru bash: Traceroute: 명령을 찾을 수 없습니다

저장소와 별도로 설치해야 합니다.

# yum -y 설치 경로 추적

인기 프로그램도 마찬가지 파기 DNS 서버 및 레코드 작업:

# dig ya.ru bash: dig: 명령을 찾을 수 없음

이 네트워크 유틸리티가 작동하려면 패키지를 설치해야 합니다. 바인드 유틸리티:

# yum -y install 바인드 유틸리티

CentOS 7에서 802.1Q VLAN 구성

CentOS에서 태그가 지정된 인터페이스를 올리려면 먼저 커널 지원을 확인해야 합니다. 8021q:

#modprobe8021q

오류 메시지가 없으면 모든 것이 정상이며 모듈이 로드된 것입니다. 모듈을 찾을 수 없으면 커널 모듈을 다시 빌드하여 필요한 모듈에 대한 지원을 활성화해야 합니다. 혹시라도 모듈이 로드되었는지 확인해 보겠습니다.

# lsmod | grep 8021q 8021q 29022 0 garp 14384 1 8021q mrp 18542 1 8021q

모든 것이 괜찮습니다. 8021q 모듈이 로드되었습니다. 시작에 추가해 보겠습니다.

# 에코 8021q >> /etc/modules-load.d/8021q.conf

이제 /etc/sysconfig/network-scripts에 VLAN에 대한 구성 파일을 만듭니다.

# mcedit ifcfg-eth0.2000 VLAN=예 DEVICE=eth0.2000 BOOTPROTO=정적 ONBOOT=예 유형=블란 IPADDR=192.168.100.2 NETMASK=255.255.255.0

굵은 글씨로 강조된 내용에 주목해 주시기 바랍니다. 내가 본 인터넷의 모든 지침에서 이 매개변수는 다음과 같이 표시되었습니다. 유형=이더넷, 그러나 이 설정을 사용하면 VLAN과의 인터페이스가 상승하지 않고 오류가 나타납니다.

오류: "시스템 eth0.2000" 연결에 대한 장치를 찾을 수 없습니다.

문제를 해결한 후에야 모든 것이 정상적으로 작동했습니다. 인터페이스를 저장하고 활성화하십시오.

# ifup eth0.2000 연결이 성공적으로 활성화되었습니다(D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/7)

VLAN 확인 중:

# ip l ls 1: lo: mtu 65536 qdisc noqueue 상태 UNKNOWN 모드 DEFAULT 링크/루프백 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast 상태 UP 모드 DEFAULT qlen 1000 link/ether 00:15:5d:01:0f:06 brd ff:ff:ff:ff:ff:ff 3: eth0.2000@eth0: mtu 1500 qdisc noqueue 상태 UP 모드 DEFAULT 링크/이더 00:15:5d:01:0f:06 brd ff:ff:ff:ff:ff:ff

모든 것이 정상입니다. 태그된 인터페이스가 작동 중입니다. 비유하자면 이름과 주소를 변경하는 것을 잊지 않고 더 유사한 인터페이스를 여러 개 만들 수 있습니다.

이것으로 CentOS의 네트워크 설정 주제에 관한 방대한 자료를 마칩니다. 댓글, 지적, 정정을 받으면 매우 기쁘게 생각합니다. 아마도 그럴 것입니다. 그러한 자료를 만들면서 나는 우선 나 자신을 배우고 해당 분야에 대한 지식을 향상시킵니다. 매뉴얼을 작성할 때 라이브 시스템에서 모든 것을 확인하지만 여기에는 오류와 오타가 있을 수 있지만 여전히 부정확성과 오타가 있을 수 있습니다.

온라인 코스 "Linux 관리자"

가용성이 높고 안정적인 시스템을 구축하고 유지 관리하는 방법을 배우고 싶다면 다음 내용을 익히는 것이 좋습니다. 온라인 코스 "Linux 관리자"오투스에서. 이 과정은 초보자를 위한 것이 아닙니다. 등록하려면 네트워크에 대한 기본 지식과 가상 머신에 Linux를 설치해야 합니다. 교육은 5개월 동안 진행되며, 이후 성공적인 과정 수료자는 파트너와의 인터뷰를 받을 수 있습니다. 입학 시험을 통해 자신을 테스트하고 자세한 내용은 프로그램을 참조하세요.

간단한 말로. 사용된 소프트웨어 버전: CentOS 7, BINВ 9.

서버 준비

모든 업데이트를 설치합니다.

시간 동기화 유틸리티를 설치합니다.

# 냠 설치 ntpdate

시간대 설정:

# \cp /usr/share/zoneinfo/유럽/모스크바 /etc/localtime

* 이 예시에서는 모스크바 시간을 선택했습니다.

그리고 외부 서버와 시간을 동기화합니다.

# ntpdate ru.pool.ntp.org

방화벽에서 포트를 엽니다.

# 방화벽-cmd --permanent --add-port=53/udp

그리고 방화벽 설정을 다시 읽으십시오.

# 방화벽-cmd --reload

BIND 설치 및 실행

다음 명령을 사용하여 DNS 서버를 설치합니다.

# 냠 설치 바인드

자동 시작 허용:

# systemctl 활성화 이름이 지정됨

이름 서비스를 시작해 보겠습니다.

# systemctl 시작 이름이 지정됨

그리고 우리는 그것이 올바르게 작동하는지 확인합니다:

# systemctl 상태 이름이 지정됨

기본 DNS 서버 설정

편집을 위해 바인드 구성 파일을 엽니다.

# vi /etc/named.conf

다음을 편집합니다.

수신 대기 포트 53( 127.0.0.1; localhost; 192.168.166.155; );
...
쿼리 허용(모든;);

* 어디 192.168.166.155 — 요청을 수신할 NS 서버의 IP 주소 쿼리 허용모든 사람이 요청을 실행할 수 있지만 보안상의 이유로 특정 네트워크에 대한 액세스를 제한할 수 있습니다. 어느쓰다 192.168.166.0/24 .

설정을 적용하려면 다음 명령을 실행하십시오.

# systemctl 재시작이라는 이름이 붙었습니다.

네트워크에 있는 다른 컴퓨터(예: Windows)에서 서버 기능을 확인하려면 다음 명령을 실행하십시오.

> nslookup 사이트 192.168.166.155

* 이 명령을 사용하여 사이트의 IP 주소를 찾으려고 합니다. 웹사이트서버를 통해 192.168.166.155 .

다음과 같아야 합니다.

글로벌 옵션 설명

다음 설정은 DNS 및 구성된 모든 영역에 전역적으로 적용됩니다. 이는 names.conf 구성 파일인 options() 지시문에 설정됩니다.

옵션 설명
예배 규칙서 바인드 서버의 작업 디렉터리를 지정합니다. 지정하지 않으면 /var/named
전달자 당사 서버가 요청을 처리할 수 없는 경우 요청이 전송될 서버를 나열합니다(해당 영역이 없음).
앞으로 요청 처리 방법을 재정의합니다. ONLY 또는 FIRST의 두 가지 값을 허용합니다. 첫 번째는 서버가 로컬 영역 일치를 시도하지 않음을 나타냅니다. 둘째, 서버는 먼저 요청을 리디렉션하고 성공적으로 처리되지 않으면 내부 데이터베이스에서 일치하는 항목을 찾습니다.
듣기 바인딩은 어떤 인터페이스에서 수신되나요?
양도 허용 영역 전송이 허용되는 서버 목록 표시(보조 NS로 복제)
쿼리 허용 서버에 대한 액세스가 허용되는 노드 목록입니다. 지정하지 않으면 모두 허용됩니다.
허용-알림 나열된 서버가 영역 설정 변경에 대한 알림을 보낼 수 있도록 허용합니다.
재귀 허용 재귀 쿼리가 허용되는 호스트 목록을 지정합니다. 나머지는 반복 쿼리가 허용됩니다. 지정하지 않으면 모든 사람에 대해 재귀적으로 수행됩니다.

글로벌 설정의 예

옵션(
디렉토리 "/var/named";
전달자(192.168.0.10; 77.88.8.8; 8.8.8.8; );
수신 대기(127.0.0.1; localhost; 192.168.166.155; );
전송 허용(192.168.1.15; 192.168.0.0/24; );
허용 쿼리( 192.168.1.0/24; 192.168.0.2; 192.168.0.3; );
허용 알림( 192.168.0.15; );
재귀 허용(any; );
}

바인딩 영역

자신의 도메인 데이터베이스에서 일치하는 항목을 검색하려면 영역을 만들고 구성해야 합니다. 다음과 같은 영역 유형이 있습니다.

  1. 기본은 마스터라고도 하며 로컬이라고도 합니다. 현재 서버에서 업데이트 및 편집되는 데이터베이스입니다. 기본 바인드 영역을 구성하는 방법에 대해 자세히 알아보세요.
  2. 보조 또는 슬레이브. 데이터베이스는 다른 서버의 기본 영역에서 설정을 복사합니다. 보조 바인딩 영역을 설정하는 방법에 대해 자세히 알아보세요.
  3. 스텁 또는 스텁. 모든 요청이 적절한 NS 서버로 전송되는 NS 레코드만 저장합니다.
  4. 캐싱 또는 힌트. 네트워크에 어떤 기록도 저장하지 않으며, 반복되는 요청에 대한 응답 속도를 높이기 위해 이미 처리된 요청의 결과만 저장합니다.

로그 파일을 사용하여 문제 해결

기본적으로 Bind 서버는 로그를 파일에 저장합니다.
/var/named/data/named.run.

계속해서 보려면 다음 명령을 입력하십시오.

꼬리 /var/named/data/named.run

로그 세부 정보 수준은 구성 파일에서 구성할 수 있습니다.

로깅(
채널 default_debug(
파일 "데이터/named.run";
심각도 동적;
};
};

* 어디 파일— 로그 파일 경로; 심각성- 새로운 사건에 대한 민감도 수준. 심각도에는 다음 옵션을 사용할 수 있습니다.

  • 비판적인- 심각한 오류.
  • 오류— 오류 이상(중요).
  • 경고- 경고 이상. 경고는 서비스에 문제가 있음을 나타내지는 않지만 오류로 이어질 수 있는 이벤트이므로 무시해서는 안 됩니다.
  • 알아채다- 알림 이상.
  • 정보- 정보.
  • 디버그- 디버깅(자세한 로그).
  • 동적- 동일한 디버그.
|

이 가이드에서는 BIND DNS 서버 설치 및 구성을 다룹니다.

지침을 따르려면 네임서버를 실행할 클라우드 서버를 두 개 이상 구성하는 것이 좋습니다. 네임서버가 여러 개 있으면 오류 발생 시 백업 리소스를 사용할 수 있습니다. 두 개의 서로 다른 접속 지점(POP) 사용을 고려할 수도 있습니다. 기본(마스터) 및 보조 네임서버(슬레이브)를 사용하는 것으로 가정합니다.

많은 수의 도메인을 관리할 때 마스터와 슬레이브 모두에 ​​도메인을 수동으로 추가해야 하기 때문에 이것이 가장 효율적인 솔루션이 아닐 수 있다는 점은 주목할 가치가 있습니다. 즉, 자체 네임서버를 실행하는 것은 호스팅 인프라와 DNS 레코드를 직접 제어할 수 있는 좋은 방법입니다.

언제나 그렇듯이 시스템이 최신 상태인지 확인하는 것부터 시작하는 것이 중요합니다. yum을 사용하여 업데이트를 확인하세요.

바인드 설치

BIND 및 bin-utils 패키지를 설치하려면 yum을 사용하십시오.

그런 다음 BIND 구성 파일을 열고 일부 조정을 수행하십시오.

nano -w /etc/named.conf

파일에서 다음과 같은 옵션 섹션을 찾으세요(2.2.2.2 대신 - 두 번째 서버의 IP 주소).

옵션(


디렉토리 "/var/named";



쿼리 허용(모든;);
전송 허용( localhost; 2.2.2.2; );
재귀 아니오;
dnssec-활성화 예;
dnssec-검증 예;
dnssec-lookaside 자동;
/* ISC DLV 키 경로 */


};

사용 가능한 인터페이스를 수신하려면 수신 대기 지시문을 주석 처리해야 합니다. DDoS 공격이 반사되는 것을 방지하려면 재귀 지시어를 off로 설정해야 합니다. 허용 전송 지시어는 보조 서버의 IP 주소를 화이트리스트에 추가합니다. 또한 사용자가 영역에 액세스할 수 있도록 하려면 허용 쿼리 지시문의 값을 any로 변경해야 합니다.

그런 다음 첫 번째 도메인에 대한 새 영역을 추가해야 합니다. 이렇게 하려면 명명된.conf 파일 끝에 다음 코드를 배치하세요.

영역 "mydomain.com" IN (
유형 마스터;
파일 "mydomain.com.zone";
업데이트 허용(없음;);
};

명명된.conf에 변경 사항을 저장합니다. 그런 다음 영역 설명 파일(영역 파일) 생성을 시작할 수 있습니다.

BIND 영역 설정

먼저 이전 구성 파일(mydomain.com.zone)에 입력한 이름을 지정하여 영역 파일을 열어야 합니다.

nano -w /var/named/mydomain.com.zone

파일에 다음 코드를 추가합니다. 조건부 IP 주소를 서버 주소로 바꿉니다(1.1.1.1 – 첫 번째 서버의 IP 주소, 2.2.2.2 – 두 번째 서버의 IP 주소, 3.3.3.3 – 도메인을 가리키려는 IP(예: , 웹 서버)). 필요한 경우 코드를 다른 방식으로 변경합니다.

$TTL 86400
@ IN SOA ns1.mydomain.com. root.mydomain.com. (
2013042201 ;연속
3600 ;새로고침
1800 ;재시도
604800 ;만료
86400 ;최소 TTL
; 두 개의 네임서버를 지정하세요.
IN NS ns1.mydomain.com.
IN NS ns2.mydomain.com.
; 네임서버 호스트 이름을 IP로 확인하고 두 개의 드롭릿 IP 주소로 바꿉니다.
ns1 IN A 1.1.1.1
ns2 IN A 2.2.2.2
; 호스트 이름 정의 -> 해결하려는 IP 쌍
@ 3.3.3.3
www IN A 3.3

이름이 지정된 발사. Named가 처음 시작되면 rndc.key 파일이 생성되므로 시작하는 데 몇 분이 걸릴 수 있습니다.

재시작이라는 서비스

Named 데몬을 성공적으로 시작한 후에는 해당 데몬이 서비스로 활성화되어 있는지 확인해야 합니다.

chkconfig의 이름은 다음과 같습니다.

이제 기본 이름 서버가 완전히 준비되었습니다. BIND가 예상대로 작동하는지 확인하려면 1.1.1.1 대신 서버 IP를 지정하여 다음 명령을 실행하십시오.

발굴 @1.1.1.1 mydomain.com

결과에 답변 및 권한 섹션이 포함되어 있으면 구성이 올바르게 완료된 것입니다.

슬레이브 서버 설정

이제 마스터 서버가 작동할 준비가 되었습니다. 이제 두 번째 클라우드 서버에 보조 이름 서버를 구성해야 합니다.

시스템이 최신 상태인지 확인하세요.

두 번째 클라우드 서버에 BIND 및 해당 유틸리티를 설치합니다.

냠 설치 바인드 바인드-유틸 -y

명명된.conf를 열고 첫 번째 서버에서와 동일하게 조정하여 전송 허용 지시어를 생략합니다. 레코드는 기본 이름 서버에서만 전송되므로 이 지시어는 필요하지 않습니다.

nano -w /etc/named.conf
옵션(
#수신 포트 53( 127.0.0.1; );
Listen-on-v6 포트 53( ::1; );
디렉토리 "/var/named";
덤프 파일 "/var/named/data/cache_dump.db";
통계 파일 "/var/named/data/named_stats.txt";
memstatistics-파일 "/var/named/data/named_mem_stats.txt";
쿼리 허용(모든;);
재귀 아니오;
dnssec-활성화 예;
dnssec-검증 예;
dnssec-lookaside 자동;
/* ISC DLV 키 경로 */
바인드키 파일 "/etc/named.iscdlv.key";
관리되는 키 디렉터리 "/var/named/dynamic";
};

이전 서버에 구성된 영역을 추가하고 유형 지시문의 값을 슬레이브로 바꿉니다. 1.1.1.1 대신 첫 번째 서버의 IP를 지정하십시오.

영역 "mydomain.com" IN (
유형 노예;
마스터(1.1.1.1; );
파일 "mydomain.com.zone";
};

슬레이브 영역을 구성한 후 명명된 데몬을 시작합니다. 다시 말하지만 데몬이 서버에서 처음 실행될 때 rndc.key 파일을 생성하기 때문에 이 작업에는 몇 분이 걸릴 수 있습니다.

start라는 서비스

첫 번째 클라우드 서버와 마찬가지로 명명된 데몬이 실행 중인지 확인합니다.

chkconfig의 이름은 다음과 같습니다.

이제 보조 네임서버를 사용할 준비가 되었습니다. 예상대로 작동하는지 확인하려면 다음 명령을 사용하여 2.2.2.2를 두 번째 클라우드 서버의 IP 주소로 바꿉니다.

발굴 @2.2.2.2 mydomain.com

기본 서버 영역 파일을 변경한 후 BIND를 다시 시작해야 합니다. 또한 기본 서버와 보조 서버가 동기적으로 작동하도록 하려면 직렬 지시어를 늘려야 한다는 점을 기억하십시오.

영역 파일을 다시 시작하려면 먼저 마스터에서 다음 명령을 사용한 다음 슬레이브에서 다음 명령을 사용합니다.

chroot 환경에서 BIND

CentOS에서는 매우 쉽습니다. 활성 BIND 경로는 chroot에 해당하는 경로로 대체됩니다(예: var/named는 /var/named/chroot/var/named가 됨). CentOS 6에서는 패키지가 chroot가 아닌 디렉터리에 대한 심볼릭 링크를 자동으로 생성하므로 파일을 이동할 필요가 없습니다.

이 기능을 활성화하려면 다음을 사용하십시오.

냠 설치 바인딩-chroot -y
재시작이라는 서비스

태그: ,

이 기사에서는 CentOS 6.4 최소에 마스터 및 슬레이브 BIND(Berkeley Internet Name Domain) DNS 서버를 배포하는 방법을 살펴보겠습니다. 이 문서의 모든 단계를 완료하려면 먼저 네트워크를 구성하고 system-config-firewall-tui 및 Midnight Commander를 설치해야 합니다. CentOS의 전체 초기 설정을 읽을 수 있습니다.

두 컴퓨터 모두에서:

Midnight Commander를 설치하세요:

시스템 구성-방화벽-tui를 설치하십시오:

냠 설치 시스템 구성-방화벽-tui –y

명령줄에 입력

iptables -A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT

바인드를 설치하십시오:

냠 설치 바인드-chroot 바인드-유틸리티 –y

방화벽 구성 유틸리티를 시작하고 다음을 구성해 보겠습니다.

시스템 구성-방화벽-tui

별표 DNS로 표시

딸깍 하는 소리 "앞으로". 인터페이스 eth0을 표시하고 클릭하십시오. "앞으로"

딸깍 하는 소리 "앞으로". eth0 매스커레이드에 대한 인터페이스를 표시하고 다음을 클릭합니다. "앞으로"

딸깍 하는 소리 "앞으로".

딸깍 하는 소리 "앞으로".

딸깍 하는 소리 "앞으로".

딸깍 하는 소리 "앞으로".

딸깍 하는 소리 "닫다".

딸깍 하는 소리 "좋아요".

딸깍 하는 소리 "예". 준비가 된.

SELINUX를 비활성화합니다.

/etc/selinux/config에서 다음과 같이 수정하겠습니다. SELINUX=비활성화됨

이제 키를 생성해 보겠습니다.

dnssec-keygen -a HMAC-MD5 -b 128 -n 사용자 rndckey

이 명령은 현재 디렉터리에 두 개의 파일을 생성합니다. 세 번째 줄의 *.private 파일에는 다음 형식의 키가 있습니다. wGmtcnMtn9od+ndTc20tGg==

그 후 파일을 열어주세요 /etc/resolv.conf맨 처음에는 다음과 같이 쓸 것입니다.

네임서버 192.168.0.191

네임서버 192.168.0.192

마스터 DNS 서버(IP: 192.168.0.191 호스트 이름: ns1.localserver12.ru):

/etc/named/master 디렉토리를 생성합니다

mkdir /etc/named/master

우리는 빈두를 농장으로 옮길 것입니다

chown -R 명명됨: 명명된 /etc/named/master

열리는 /etc/named.conf. 여기에서 아래에 표시된 옵션이 있는지 확인합니다. 없으면 추가하고, 다르면 수정하세요.

수신 대기 포트 53( 127.0.0.1; 192.168.0.191; );

전송 허용(192.168.0.192; );

통지 예;

영역 "localserver12.ru" IN (

유형 마스터;

파일 "/etc/named/master/localserver12.ru";

/* ISC DLV 키 경로 */)

dnssec-활성화 예;

dnssec-검증 예;

dnssec-lookaside 자동;

파일을 만들어보자 localserver12.ru/etc/named/master 디렉토리에

/etc/named/master/localserver12.ru를 터치하세요.

빈두 농장에 넘겨주자:

chown -R 명명됨: 명명된 /etc/named/master/localserver12.ru

다음을 작성해 보겠습니다(대략 그림과 같습니다).

바인드를 시작해보자

시스템 부팅 중에 시작되도록 BIND를 시작에 넣습니다.

마스터 DNS 서버가 준비되었습니다.

슬레이브 DNS 서버(IP: 192.168.0.192 호스트 이름: ns2.localserver12.ru):

/etc/named/slave 디렉터리를 만듭니다.

빈두 농장에 넘겨주자

chown -R 명명됨: 명명된 /etc/named/slave

/etc/named.conf를 엽니다. 여기에서 아래에 표시된 옵션이 있는지 확인합니다. 없으면 추가하고, 다르면 수정하세요.

수신 대기 포트 53( 127.0.0.1; 192.168.0.192; );

재귀 허용( 192.168.0.0/24; );

재귀 예;

전송 허용(없음; );

아니오를 통지;

영역 "localserver12.ru"(

유형 노예;

파일 "/etc/named/slave/localserver12.ru";

마스터(192.168.0.191;);

또한 그러한 줄이 있는지 확인합니다. 그렇지 않은 경우 해당 줄 앞에 추가합니다. /* ISC DLV 키 경로 */)

Dnssec 활성화 예;

Dnssec 유효성 검사 예;

Dnssec-lookaside 자동;

바인드를 시작해보자

시스템 부팅 중에 시작되도록 시작에 넣습니다.

슬레이브 DNS 서버가 준비되었습니다. 또한 다시 시작한 후 파일은 자동으로 /etc/named/slave 디렉터리로 이동됩니다. localserver12.ru

이제 확인해 봅시다:

슬레이브에서 명령을 입력하십시오

발굴 @ns1.localserver12.ru localserver12.ru axfr

그리고 마스터에서는 이렇게

발굴 @ns2.localserver12.ru localserver12.ru axfr

두 경우 모두 localserver12.ru 파일에서 데이터 및 DNS 레코드가 표시됩니다.

모두. DNS 서버가 준비되었습니다.


이 기사가 도움이 되었다면 작성자에게 감사 인사를 전하세요.
WMR 지갑(WebMoney)으로 이체: R301575071888
Yandex.Wallet으로 이체: 410011003938168
또는 PayPal에서:

우리는 팀의 새로운 코스를 여러분의 관심에 제시합니다 코드비- "처음부터 웹 애플리케이션의 침투 테스트." 일반 이론, 작업 환경 준비, 수동적 퍼징 및 핑거프린팅, 능동적 퍼징, 취약점, 착취 후, 도구, 사회 공학 등.


도메인에는 최소 2개의 DNS 서버가 있습니다. 하나는 기본 이름 서버(ns1)이고 다른 하나는 보조 이름 서버(ns2)입니다. 보조 서버는 일반적으로 기본 DNS 서버에 문제가 있을 때 사용됩니다. 한 서버를 사용할 수 없으면 두 번째 서버가 활성화됩니다. 로드 밸런싱, 방화벽 및 클러스터를 사용하여 더 복잡한 구성도 가능합니다.

특정 도메인의 모든 DNS 레코드가 기본 이름 서버에 추가됩니다. 보조 서버는 기본 서버에 지정된 매개변수를 기반으로 기본 서버에서 받은 모든 정보를 단순히 동기화합니다.

이 지침에서는 다음을 설명합니다. CentOS에서 실행되는 기본 DNS 서버를 만드는 방법. 이 가이드에 제시된 DNS 서버는 공용 DNS입니다. 즉, 서버는 모든 IP 주소의 요청에 응답합니다. 서버에 대한 접근을 제한하는 방법은 이 매뉴얼에 설명되어 있습니다.

시작하기 전에 Chroot Jail 환경 유무에 관계없이 DNS를 설치할 수 있다는 점을 언급하고 싶습니다. chroot 감옥 환경은 서버에 대한 전체 시스템 액세스와 달리 DNS 서버를 시스템의 특정 디렉터리로 제한합니다. 이렇게 하면 DNS 서버 취약점이 전체 시스템을 손상시키지 않습니다. DNS 서버를 특정 디렉터리(chrooting이라는 프로세스)로 제한하는 것도 테스트 환경에서 유용합니다.

표적

가상의(존재하지 않는) 도메인인 example.tst 도메인에 대한 테스트 조건에서 DNS 서버를 설정하겠습니다. 이렇게 하면 실제 도메인을 무작위로 방해하지 않습니다.

이 도메인에는 다음과 같은 세 개의 서버가 있습니다.

섬기는 사람 IP 주소 호스팅 서비스 FQDN
서버 A 172.16.1.1 우편 메일.예제.tst
서버 B 172.16.1.2 웹, FTP www.example.tst
ftp.example.tst
서버 C 172.16.1.3 기본 DNS 서버 ns1.example.tst

표에 표시된 대로 기본 DNS 서버를 구성하고 필수 도메인 및 DNS 레코드를 추가하겠습니다.

호스트 이름 설정

모든 호스트는 FQDN 측면에서 올바르게 식별되어야 합니다. 이는 다음 방법을 사용하여 수행할 수 있습니다.

그래픽 인터페이스를 좋아하는 사람들은 NetworkManaget 도구를 사용할 수 있습니다. 이렇게 하려면 다음 명령을 입력하십시오. nmtui. 다음 의사 그래픽 인터페이스가 열립니다:

“호스트 이름 변경”을 선택하고 ns1.example.tst를 입력하세요.

준비가 되면 확인을 클릭하세요.

또 다른 방법은 단 하나의 명령을 사용하는 것입니다.

Hostnamectl set-hostname ns1.example.tst

설치가 완료되면 다음 명령으로 호스트 이름을 확인할 수 있습니다.

# 호스트 이름 ns1.example.tst

Hostnamectl 상태

다음 단계로 넘어가기 전에 모든 서버의 호스트 이름이 올바르게 설정되어 있는지 확인하세요.

패키지 설치

DNS에는 yum 명령으로 쉽게 설정할 수 있는 바인딩을 사용하겠습니다.

chroot 없이 DNS 설치:

# 냠 설치 바인드

chroot를 사용하여 DNS 설정:

# 냠 설치 바인드 바인드-chroot

구성 파일 준비

앞서 언급했듯이 바인드는 chroot를 사용하거나 사용하지 않고 구성할 수 있습니다. 경로는 chroot 설치 여부에 따라 약간 다릅니다.

구성 파일 경로 영역 파일 경로
chroot 없음 /등/ /var/이름이 지정된/
chroot와 함께 /var/named/chroot/etc/ /var/named/chroot/var/named/

기본적으로 제공되는 names.conf 구성 파일을 사용할 수 있습니다. 그러나 사용 편의성을 위해 다른 예제 구성 파일을 사용하겠습니다.

/etc/named.conf 파일의 백업 복사본 만들기

Cp /etc/named.conf /etc/named.conf.bak

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /etc/named.conf

# cp /usr/share/doc/bind-9.9.4/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

이제 구성 파일의 백업 복사본이 있고 원본 파일 자체가 변경되었으므로 계속 진행합니다.

# vim /etc/named.conf

# vim /var/named/chroot/etc/named.conf

다음 줄이 추가/변경되었습니다.

옵션( ## 영역 파일 경로 ## 디렉터리 "/var/named"; ## 로컬이 아닌 도메인에 대한 Google의 공개 DNS 서버로 요청 전달 ## 전달자( 8.8.8.8; ); ); ## example.tst에 대한 직접 영역 선언 ## zone "example.tst" IN ( master 입력; "example-fz" 파일; ## 직접 영역에 대한 파일은 /var/named에 있습니다 ##allow-update ( 없음; ) ; ; ## 네트워크 172.16.1.0에 대한 역방향 영역 선언 ## zone "1.16.172.in-addr.arpa" IN ( master 유형; file "rz-172-16-1"; ## 역방향 영역에 대한 파일은 다음과 같습니다. /var /named ##에 위치 업데이트 허용( 없음; );

영역 파일 준비

기본 영역 파일은 /var/named 또는 /var/named/chroot/var/named(chroot의 경우)에 자동으로 생성됩니다.

기본 영역 파일이 없다고 가정하면 /usr에서 샘플 파일을 복사할 수 있습니다.

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/

# cp /usr/share/doc/bind-9.9.4/sample/var/named/named.* /var/named/chroot/var/named

엄청난. 이제 기본 영역 파일이 준비되었습니다. example.tst 및 네트워크 172.16.1.0에 대한 자체 영역 파일을 만듭니다. 영역 파일을 생성하는 동안 다음 사항을 기억해야 합니다.

  • '@' 기호는 영역 파일에서 NULL을 의미합니다.
  • 예를 들어 각 FQDN(정규화된 도메인 이름) 항목은 마침표 '.'로 끝납니다. mail.example.tst. 요점이 없으면 문제가 발생합니다.

1. 다이렉트존

직접 영역에는 이름에서 IP 주소로의 변환 맵이 포함되어 있습니다. 공용 도메인의 경우 호스팅 서비스에서 호스팅되는 DNS 도메인은 직접 영역 파일에 포함됩니다.

# vim /var/named/example-fz

# vim /var/named/chroot/var/named/example-fz $TTL 1D @ IN SOA ns1.example.tst. mial.example.tst. (0; 직렬 1D; 1H 새로 고침; 1W 재시도; 3H 만료) ; 최소 IN NS ns1.example.tst. IN A 172.16.1.3 메일 IN A 172.16.1.1 IN MX 10 mail.example.tst. www IN A 172.16.1.2 ns1 IN A 172.16.1.3 ftp IN CNAME www.example.tst.

설명: 영역 파일 내에서 SOA는 인증 시작을 나타냅니다. 이는 권한 있는 이름 서버의 정규화된 도메인 이름입니다. 전체 도메인 이름 뒤에는 연락처 이메일 주소가 있습니다. '@'을 사용할 수 없기 때문에 [이메일 보호됨], 이메일 주소를 mial.example.tst로 다시 작성합니다.

  • NS: 서버 이름
  • : 레코드 또는 주소 레코드는 IP 주소입니다.
  • MX: 메일 교환기 항목입니다. 여기서는 우선순위가 10인 하나의 MX만 사용합니다. MX가 여러 개인 경우 서로 다른 디지털 우선순위를 사용할 수 있습니다. 가장 낮은 숫자가 승리합니다. 예를 들어 MX 0이 MX 1보다 우수합니다.
  • CNAME: 표준 형식의 이름입니다. 서버가 많은 서비스를 호스팅하는 경우 많은 이름이 단일 서버로 확인될 가능성이 높습니다. CNAME은 서버에 다른 이름이 있을 수 있다는 신호를 보내고 A 레코드에 포함된 이름을 참조합니다.

2. 리버스 존

역방향 영역에는 IP 주소에서 이름으로의 변환 맵이 포함되어 있습니다. 여기서는 네트워크 172.16.1.0에 대한 역방향 영역을 만듭니다. 실제 도메인에서는 공용 IP 블록 소유자의 DNS 서버가 역방향 영역 파일에 포함되어 있습니다.

# vim /var/named/rz-172-16-1

# vim /var/named/chroot/var/named/rz-172-16-1 $TTL 1D @ IN SOA ns1.example.tst. armed.example.tst. (0; 직렬 1D; 1H 새로 고침; 1W 재시도; 3H 만료) ; 최소 IN NS ns1.example.tst. 1 IN PTR mail.example.tst. 2 IN PTR www.example.tst. 3 IN PTR ns1.example.tst.

설명: 리버스 존에서 사용되는 대부분의 파라미터는 하나를 제외하면 포워드 존과 동일합니다.

  • PTR: PTR 또는 포인터 레코드, 정규화된 도메인 이름을 가리킵니다.

완성

이제 영역 파일이 준비되었으므로 영역 파일의 해상도를 구성하겠습니다.

# /var/named/*라는 chgrp

# /var/named/chroot/var/named/*라는 chgrp

이제 DNS 서버의 IP 주소를 설정하겠습니다.

# vim /etc/resolv.conf 네임서버 172.16.1.3

마지막으로 DNS 서비스를 시작하고 자동 시작에 추가되었는지 확인할 수 있습니다.

# 이름이 restart인 서비스 # 이름이 on인 chkconfig

DNS 테스트

dig 또는 nslookup을 사용하여 DNS를 테스트할 수 있습니다. 먼저 필요한 패키지를 설치하겠습니다.

# yum install 바인드 유틸리티

1. 발굴을 이용한 직접 구역 테스트

# example.tst 파기 ;; ->>헤더<<- opcode: QUERY, status: NOERROR, id: 31184 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 172.16.1.3 ;; AUTHORITY SECTION: example.com. 86400 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 86400 IN A 172.16.1.3

2. dig를 사용하여 PTR을 확인합니다.

테스트를 위해 dig를 사용할 때는 항상 "NOERROR" 상태를 찾아야 합니다. 다른 조건은 뭔가 잘못되었음을 의미합니다.

# 발굴 -x 172.16.1.1 ;; ->>헤더<<- opcode: QUERY, status: NOERROR, id: 27415 ;; QUESTION SECTION: ;1.1.17.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.1.16.172.in-addr.arpa. 86400 IN PTR mail.example.tst. ;; AUTHORITY SECTION: 1.16.172.in-addr.arpa. 86400 IN NS ns1.example.tst. ;; ADDITIONAL SECTION: ns1.example.tst. 86400 IN A 172.16.1.3

3. dig를 사용하여 MX 확인

# example.tst mx ;; ->>헤더<<- opcode: QUERY, status: NOERROR, id: 35405 ;; QUESTION SECTION: ;example.tst. IN MX ;; ANSWER SECTION: example.tst. 14366 IN MX 10 mail.example.tst.

문제 해결 팁

  1. SELinux가 비활성화되어 있습니다.
  2. 방화벽이 UDP 포트 53을 차단하고 있지 않은지 확인하세요.
  3. /var/log/messages에는 문제가 있는 경우를 대비해 유용한 정보가 포함되어야 합니다.
  4. 영역 파일의 소유자가 '이름이 지정된' 사용자인지 확인하세요.
  5. DNS 서버 IP 주소가 /etc/resolv.conf에 먼저 나열되어 있는지 확인하십시오.
  6. 실습 환경에서 example.tst를 사용하는 경우 example.tst는 존재하지 않는 도메인이므로 인터넷에서 서버 연결을 끊어야 합니다.

요약하자면, 이 튜토리얼은 데모 목적으로 랩 설정에서 example.tst 도메인을 호스팅하는 데 중점을 둡니다. 이는 모든 IP 주소의 요청에 응답하는 DNS 서버와 같은 공용 DNS 서버를 만드는 방법에 대한 가이드가 아니라는 점을 기억하세요. 프로덕션 DNS 서버를 설정하는 경우 공용 DNS에 적용되는 정책을 확인하세요. 또 다른 강의에서는 보조 DNS 생성, DNS 서버에 대한 액세스 제한 및 DNSSEC 구현을 다룹니다.

보증인은 거래 중 참가자 간의 신뢰할 수 있는 중개자입니다.




질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: