웹사이트 검색

RHCE 시리즈: 정적 네트워크 라우팅 설정 및 테스트 방법 - 1부


RHCE(Red Hat Certified Engineer)는 Red Hat 회사에서 제공하는 자격증으로 엔터프라이즈 커뮤니티에 오픈소스 운영 체제 및 소프트웨어를 제공하고 교육, 지원 및 기업을 위한 컨설팅 서비스.

RHCE(Red Hat Certified Engineer)는 추가적인 기술, 지식 및 능력을 보유한 수행 기반 시험(코드명 EX300)입니다. RHEL(Red Hat Enterprise Linux) 시스템을 담당하는 수석 시스템 관리자에게 필요합니다.

중요: RHCE 자격증을 취득하려면 RHCSA(Red Hat Certified System Administrator) 자격증이 필요합니다.

다음은 이 RHCE 시리즈에서 다루게 될 시험의 Red Hat Enterprise Linux 7 버전을 기반으로 한 시험 목표입니다.

해당 국가의 수수료를 확인하고 시험에 등록하려면 RHCE 자격증 페이지를 확인하세요.

RHCE 시리즈의 이번 1부와 다음 시리즈에서는 정적 라우팅, 패킷 필터링 및 네트워크 주소 변환의 원리가 적용되는 기본적이면서도 일반적인 사례를 제시합니다. 플레이에.

우리는 그것들을 깊이 다루지는 않을 것이며, 오히려 첫 번째 단계를 수행하고 거기서부터 구축하는 데 도움이 될 방식으로 이러한 내용을 정리할 것입니다.

Red Hat Enterprise Linux 7의 정적 라우팅

현대 네트워킹의 경이로움 중 하나는 상대적으로 적은 수, 단일 공간 또는 동일한 건물, 도시, 국가 또는 대륙에 있는 여러 컴퓨터에 국한된 컴퓨터 그룹을 연결할 수 있는 장치의 방대한 가용성입니다.

그러나 어떤 상황에서도 이를 효과적으로 수행하려면 네트워크 패킷을 라우팅해야 합니다. 즉, 소스에서 대상까지 따르는 경로를 어떻게든 제어해야 합니다.

정적 라우팅은 기본 게이트웨이로 알려진 네트워크 장치에서 제공하는 기본 경로 이외의 네트워크 패킷에 대한 경로를 지정하는 프로세스입니다. 정적 라우팅을 통해 달리 지정하지 않는 한 네트워크 패킷은 기본 게이트웨이로 전달됩니다. 정적 라우팅을 사용하면 패킷 대상과 같은 미리 정의된 기준에 따라 다른 경로가 정의됩니다.

이 튜토리얼에 대해 다음 시나리오를 정의하겠습니다. 192.168.0.0/24의 인터넷과 컴퓨터에 액세스하기 위해 라우터 #1 [192.168.0.1]에 연결되는 Red Hat Enterprise Linux 7 상자가 있습니다.

두 번째 라우터(라우터 #2)에는 두 개의 네트워크 인터페이스 카드가 있습니다. enp0s3라우터 #1에도 연결되어 인터넷에 액세스하고 통신합니다. 동일한 네트워크에 있는 RHEL 7 상자 및 기타 시스템과 함께 사용하고, 다른 하나(enp0s8)는 내부 서비스가 있는 10.0.0.0/24 네트워크에 대한 액세스 권한을 부여하는 데 사용됩니다. , 웹 및/또는 데이터베이스 서버 등.

이 시나리오는 아래 다이어그램에 설명되어 있습니다.

이 문서에서는 RHEL 7 상자에서 라우팅 테이블을 설정하여 라우터 #1과 내부 네트워크를 통해 인터넷에 액세스할 수 있도록 하는 데만 중점을 둘 것입니다. 라우터 #2를 통해.

RHEL 7에서는 ip 명령을 사용하여 명령줄을 통해 장치와 라우팅을 구성하고 표시합니다. 이러한 변경 사항은 실행 중인 시스템에 즉시 적용될 수 있지만 재부팅 후에도 지속되지 않으므로 /etc 내의 ifcfg-enp0sXroute-enp0sX 파일을 사용합니다. /sysconfig/network-scripts 구성을 영구적으로 저장합니다.

시작하려면 현재 라우팅 테이블을 인쇄해 보겠습니다.

ip route show

위의 출력에서 다음 사실을 확인할 수 있습니다.

  1. 기본 게이트웨이의 IP 주소는 192.168.0.1이며 enp0s3 NIC를 통해 액세스할 수 있습니다.
  2. 시스템이 부팅되면 169.254.0.0/16에 대한 zeroconf 경로가 활성화됩니다(만약의 경우). 간단히 말해서, 기계가 DHCP를 통해 IP 주소를 얻도록 설정되었지만 어떤 이유로 인해 그렇게 하지 못한 경우 자동으로 이 네트워크의 주소가 할당됩니다. 요점은 이 경로를 사용하면 enp0s3을 통해서도 DHCP 서버에서 IP 주소를 얻지 못한 다른 컴퓨터와 통신할 수 있다는 것입니다.
  3. 마지막으로 IP 주소가 192.168.0.18enp0s3을 통해 192.168.0.0/24 네트워크 내부의 다른 상자와 통신할 수 있습니다. >.

이러한 설정에서 수행해야 하는 일반적인 작업은 다음과 같습니다. 달리 지정하지 않는 한 다음 작업은 라우터 #2에서 수행되어야 합니다.

모든 NIC가 올바르게 설치되었는지 확인하십시오.

ip link show

그 중 하나가 다운된 경우 이를 불러옵니다.

ip link set dev enp0s8 up

10.0.0.0/24 네트워크의 IP 주소를 할당합니다.

ip addr add 10.0.0.17 dev enp0s8

이런! IP 주소에 실수가 있었습니다. 이전에 할당한 것을 제거한 다음 올바른 것을 추가해야 합니다(10.0.0.18).

ip addr del 10.0.0.17 dev enp0s8
ip addr add 10.0.0.18 dev enp0s8

이제 이미 연결 가능한 게이트웨이를 통해서만 대상 네트워크에 경로를 추가할 수 있습니다. 이러한 이유로 RHEL 7 상자가 통신할 수 있도록 192.168.0.0/24 범위 내의 IP 주소를 enp0s3에 할당해야 합니다.

ip addr add 192.168.0.19 dev enp0s3

마지막으로 패킷 전달을 활성화해야 합니다.

echo "1" > /proc/sys/net/ipv4/ip_forward

방화벽을 중지/비활성화합니다(당분간 – 다음 기사에서 패킷 필터링을 다룰 때까지).

systemctl stop firewalld
systemctl disable firewalld

RHEL 7 상자(192.168.0.18)로 돌아가서 10.0.0.0/24부터 192.168.0.19까지의 경로를 구성해 보겠습니다. (라우터 #2enp0s3):

ip route add 10.0.0.0/24 via 192.168.0.19

그 후 라우팅 테이블은 다음과 같습니다.

ip route show

마찬가지로 10.0.0.0/24에서 연결하려는 머신에 해당 경로를 추가하세요.

ip route add 192.168.0.0/24 via 10.0.0.18

ping을 사용하여 기본 연결을 테스트할 수 있습니다.

RHEL 7 상자에서 다음을 실행합니다.

ping -c 4 10.0.0.20

여기서 10.0.0.2010.0.0.0/24 네트워크에 있는 웹 서버의 IP 주소입니다.

웹 서버(10.0.0.20)에서 다음을 실행합니다.

ping -c 192.168.0.18

여기서 192.168.0.18은 기억하시겠지만 RHEL 7 시스템의 IP 주소입니다.

또는 tcpdump(yum install tcpdump로 설치해야 할 수도 있음)를 사용하여 RHEL 7 상자와 10.0.0.20의 웹 서버 간 TCP를 통한 양방향 통신을 확인할 수 있습니다. .

이를 위해 다음을 사용하여 첫 번째 머신에서 로깅을 시작하겠습니다.

tcpdump -qnnvvv -i enp0s3 host 10.0.0.20

그리고 동일한 시스템의 다른 터미널에서 웹 서버의 포트 80으로 텔넷을 해보자(Apache가 해당 포트에서 수신 대기 중이라고 가정하고, 그렇지 않은 경우 다음 명령에서 올바른 포트):

telnet 10.0.0.20 80

tcpdump 로그는 다음과 같아야 합니다.

RHEL 7 상자(192.168.0.18)와 웹 서버(192.168.0.18) 사이의 양방향 통신을 보면 알 수 있듯이 연결이 적절하게 초기화되었습니다. Strong>10.0.0.20).

시스템을 다시 시작하면 이러한 변경 사항이 사라집니다. 이를 영구적으로 만들려면 위 명령을 수행한 동일한 시스템에서 다음 파일을 편집(또는 아직 존재하지 않는 경우 생성)해야 합니다.

테스트 사례에 꼭 필요한 것은 아니지만 /etc/sysconfig/network에는 시스템 전체 네트워크 매개변수가 포함되어 있다는 점을 알아야 합니다. 일반적인 /etc/sysconfig/network는 다음과 같습니다.

Enable networking on this system?
NETWORKING=yes
Hostname. Should match the value in /etc/hostname
HOSTNAME=yourhostnamehere
Default gateway
GATEWAY=XXX.XXX.XXX.XXX
Device used to connect to default gateway. Replace X with the appropriate number.
GATEWAYDEV=enp0sX

(라우터 #2에서 했던 것처럼) 각 NIC에 대한 특정 변수와 값을 설정하려면 /etc/sysconfig/network-scripts/ifcfg-enp0s3을 편집해야 합니다. /etc/sysconfig/network-scripts/ifcfg-enp0s8.

우리 사건에 따르면,

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.19
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NAME=enp0s3
ONBOOT=yes

그리고

TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.0.0.18
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
NAME=enp0s8
ONBOOT=yes

각각 enp0s3enp0s8에 대해.

클라이언트 시스템(192.168.0.18)의 라우팅과 관련하여 /etc/sysconfig/network-scripts/route-enp0s3을 편집해야 합니다.

10.0.0.0/24 via 192.168.0.19 dev enp0s3

이제 시스템을 재부팅하면 테이블에 해당 경로가 표시됩니다.

요약

이 문서에서는 Red Hat Enterprise Linux 7의 정적 라우팅에 대한 필수 사항을 다루었습니다. 시나리오는 다양할 수 있지만 여기에 제시된 사례에서는 이 작업을 수행하는 데 필요한 원칙과 절차를 보여줍니다. 마무리하기 전에 여기에서 다루는 주제에 대한 자세한 내용을 보려면 Linux 문서 프로젝트 사이트의 Linux 보안 및 최적화 섹션의 4장을 살펴보시기 바랍니다.

Linux 보안 및 최적화: 해킹 솔루션(v.3.0)에 대한 무료 eBook – 이 800+ eBook에는 포괄적인 Linux 보안 팁 모음과 이를 안전하고 쉽게 사용하는 방법이 포함되어 있습니다. Linux 기반 애플리케이션 및 서비스를 구성합니다.

지금 다운로드

다음 기사에서는 RHCE 자격증에 필요한 네트워킹 기본 기술을 요약하기 위해 패킷 필터링 및 네트워크 주소 변환에 대해 설명하겠습니다.

언제나 그렇듯, 여러분의 의견을 기다리겠습니다. 아래 양식을 사용하여 질문, 의견, 제안 사항을 자유롭게 남겨주세요.