Outposts 서버에서 실행되는 EC2 인스턴스의 LNI를 구성하려면 어떻게 해야 합니까?
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 운영 체제(OS)에서 로컬 네트워크 인터페이스(LNI)를 구성하려고 합니다. EC2 인스턴스가 AWS Outposts 서버에서 실행되고 있습니다.
간략한 설명
Outposts 서버 인스턴스의 OS에서 네트워킹을 구성하는 경우 다음 작업을 수행하십시오.
- LNI에 IP 주소를 할당합니다.
- LNI와 로컬 네트워크의 게이트웨이를 사용하도록 라우팅을 구성합니다.
- LNI에서 소싱한 트래픽에 로컬 네트워크의 게이트웨이를 사용하도록 정책 기반 라우팅을 구성합니다.
인스턴스의 OS에서 네트워크 인터페이스를 구성하려면 다음 단계를 수행하십시오.
- LNI에 연결된 네트워크 디바이스를 식별하여 활성화합니다.
- (선택 사항) LNI에 고정 IP 주소를 할당합니다.
- 인터페이스 경로 및 규칙을 구성합니다.
- 변경 사항을 영구적으로 적용합니다.
해결 방법
다음 해결 방법은 다음과 같은 OS 배포에 적용됩니다.
- Linux: Amazon Linux 2, Amazon Linux 2023, Red Hat Enterprise Linux(RHEL) 8, RHEL9, SUSE 12, SUSE 15, Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04
- Windows: Windows Servers 2008 R2 이상
사전 요구 사항
참고: 다음 단계에서 예제 값을 원하는 값으로 바꾸십시오.
- eth1을 LNI의 디바이스 이름으로
- 192.168.59.11/24를 LNI에 할당하려는 IP 주소로
- 192.168.59.255를 로컬 네트워크의 브로드캐스트 주소로
- 192.168.59.254를 로컬 네트워크 게이트웨이로
- 8.8.8.8/32를 외부 IP 주소 또는 서브넷으로
- 8.8.8.8을 외부 IP 주소로
- 255.255.255.255를 마스크로
- ens6을 LNI의 디바이스 이름으로
- 0a:64:7a:00:4f:92를 LNI의 MAC 주소로
- 192.168.59.11/24를 CIDR 표기법으로 LNI에 할당된 고정 IP 주소로
- 192.168.59.0/24를 로컬 네트워크의 CIDR로
- 24를 로컬 네트워크의 접두어로
- Wired connection 1을 연결 이름으로
LNI에 연결된 네트워크 디바이스 식별 및 활성화
다음 단계를 완료하십시오.
- Amazon EC2 콘솔을 엽니다.
- 탐색 창의 **Instances(인스턴스)**에서 **Instances(인스턴스)**를 선택합니다.
- Outposts 서버에서 실행 중인 인스턴스를 선택합니다.
- Networking(네트워킹) 섹션의 **Network Interfaces(네트워크 인터페이스)**에서 LNI의 인터페이스 ID를 선택합니다.
- IP addresses(IP 주소) 아래에 나온 LNI의 MAC 주소를 기록해 둡니다.
인스턴스의 OS에 로그인한 후 다음 단계를 수행하십시오.
Linux
-
(RHEL8 및 RHEL9) Amazon EC2 콘솔에 표시되는 IP 주소로 LNI가 자동으로 구성되지 않도록 nm-cloud-setup.service 및 nm-cloud-setup.timer를 끕니다.
$ sudo systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer -
다음 명령을 실행하여 네트워크 디바이스의 MAC 주소를 표시합니다.
# sudo ip link show | egrep -o "(^[0-9]:.*:)|([0-9a-f]{2}:)+[0-9a-f]{2}" -
LNI에 연결된 디바이스와 동일한 MAC 주소를 가진 네트워크 디바이스 이름을 기록해 둡니다. 인터페이스가 다운된 경우 다음 명령을 실행하여 활성화합니다.
sudo ip link set dev eth1 up
Windows
-
관리자로 다음 명령을 실행하여 네트워크 디바이스의 MAC 주소를 표시합니다.
getmac /v -
LNI에 연결된 디바이스와 동일한 MAC 주소를 가진 네트워크 디바이스를 찾습니다.
-
LNI에 연결된 어댑터의 어댑터 설정을 검토합니다. 어댑터가 켜져 있는지 확인하려면 **Network and Sharing Center(네트워크 및 공유 센터)**를 선택한 다음, **Change adapter settings(어댑터 설정 변경)**를 선택합니다.
(선택 사항) LNI에 고정 IP 주소 할당
참고: 로컬 네트워크에서 DHCP를 사용하는 경우 LNI 인터페이스 경로 및 규칙 구성으로 진행합니다. RHEL8 및 RHEL9 을 사용하는 경우 변경 사항을 영구적으로 적용으로 진행합니다.
다음 단계를 완료하십시오.
Linux
LNI로 식별한 네트워크 인터페이스에 IP 주소를 할당합니다.
# sudo ip addr add 192.168.59.11/24 brd 192.168.59.255 dev eth1
Windows
Amazon EC2 Windows 인스턴스에 고정 IP 주소를 할당하려면 어떻게 해야 하나요?를 참조하십시오.
참고: 기본 게이트웨이는 기본 네트워크 어댑터에 할당됩니다. 탄력적 기본 네트워크 인터페이스의 기본 게이트웨이를 유지하려면 LNI에 기본 게이트웨이를 지정하지 않도록 하십시오. 대신, 로컬 네트워크 게이트웨이를 지정하는 대상의 고정 경로를 정의하십시오.
LNI 인터페이스 경로 및 규칙 구성
참고: RHEL8 및 RHEL9 을 사용하는 경우 변경 사항을 영구적으로 적용으로 진행합니다.
다음 단계를 완료하십시오.
Linux
-
인스턴스의 OS를 엽니다.
-
LNI에서 사용할 ID가 300인 라우팅 테이블 LNI에 대한 레코드를 /etc/iproute2/rt_tables에 생성합니다.
# echo "300 LNI" | sudo tee -a /etc/iproute2/rt_tables -
LNI가 있는 로컬 네트워크의 CIDR에서 소싱된 트래픽이 있는지 LNI 테이블을 확인하는 규칙을 생성합니다.
# sudo ip rule add from 192.168.59.0/24 table LNI참고: 고정 IP 주소를 사용하는 경우 전체 로컬 네트워크가 아닌 단일 IP 주소를 기준으로 규칙을 정의하십시오. LNI에 여러 IP 주소를 할당하고 서로 다른 규칙을 사용하려면 단일 IP 주소를 기준으로 규칙을 정의하십시오.
-
LNI 테이블에서 기본 경로를 생성합니다.
# sudo ip route add default via 192.168.59.254 dev eth1 table LNI -
외부 IP 주소 또는 서브넷으로의 아웃바운드 트래픽 경로를 생성합니다. 로컬 네트워크의 게이트웨이를 사용하여 LNI를 통과하도록 아웃바운드 트래픽을 구성합니다.
# sudo ip route add 8.8.8.8/32 via 192.168.59.254 dev eth1
Windows
-
인스턴스의 OS를 엽니다.
-
관리자로 명령 프롬프트 창을 엽니다.
-
외부 IP 주소 또는 서브넷으로의 아웃바운드 트래픽이 로컬 게이트웨이의 네트워크를 사용하도록 하는 경로를 생성합니다.
route ADD 8.8.8.8 MASK 255.255.255.255 192.168.59.254 -
해당 단계를 반복하여 LNI에 연결할 수 있는 각 외부 IP 주소 또는 서브넷에 대한 경로를 추가합니다. 로컬 네트워크의 게이트웨이를 사용하여 로컬 네트워크 구성 및 방화벽 규칙을 기반으로 이러한 경로를 구성하십시오.
변경 사항을 영구적으로 적용
참고: 다음 예제 구성은 LNI에 대한 고정 IP 주소 할당을 포함하여 이전 섹션의 단계를 기반으로 합니다. 네트워크 구성 및 사용 사례에 따라 값을 바꾸십시오.
OS 배포에 따라 다음 단계를 수행하십시오.
Amazon Linux 2023
-
인스턴스의 OS를 엽니다.
-
LNI 구성 요구 사항에 따라 **/etc/systemd/network/**에서 새 파일을 생성합니다.
sudo vi /etc/systemd/network/20-ens6.network [Match] MACAddress=0a:64:7a:00:4f:92 [Link] Description=LNI Outposts Server Name=ens6 [Network] Address=192.168.59.11/24 [RoutingPolicyRule] From=192.168.59.0/24 Table=300 [Route] Destination=8.8.8.8/32 Gateway=192.168.59.254 [Route] Destination=0.0.0.0/0 Gateway=192.168.59.254 Table=300 -
systemd-networkd 서비스를 다시 시작하여 구성을 적용한 다음, 연결을 테스트합니다.
sudo systemctl restart systemd-networkd -
시스템을 재부팅하여 구성이 성공적으로 적용되었는지 확인합니다.
Amazon Linux 2
-
인스턴스의 OS를 엽니다.
-
amazon-ec2-net-utils 패키지가 LNI의 네트워크 디바이스에 제공하는 자동화를 끕니다.
sudo sed -i -e 's/^EC2SYNC=yes/EC2SYNC=no/' /etc/sysconfig/network-scripts/ifcfg-eth1 -
ifcfg-<LNI_name> 파일을 확인하고 구성을 적용합니다.
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes TYPE=Ethernet USERCTL=yes HWADDR=0a:0b:6b:85:88:7c IPADDR="192.168.59.11" PREFIX=24 EC2SYNC=no -
/etc/sysconfig/network-scripts/route-<LNI_name> 구성 파일에서 LNI 구성 요구 사항에 따라 경로를 추가합니다.
sudo vi /etc/sysconfig/network-scripts/route-eth1 0.0.0.0/0 via 192.168.59.254 dev eth1 table LNI 8.8.8.8/32 via 192.168.59.254 dev eth1참고: 파일이 존재하지 않는 경우 이전 명령을 실행하면 구성 파일이 생성됩니다.
-
CIDR에서 소싱한 트래픽에 대해 LNI 테이블을 사용하는 네트워크 디바이스의 /etc/sysconfig/network/ifroute-<LNI_name> 구성 파일에 규칙을 생성합니다.
# sudo vi /etc/sysconfig/network-scripts/rule-eth1 from 192.168.59.0/24 lookup LNI참고: 고정 IP 주소를 사용하는 경우 전체 로컬 네트워크 대신 단일 IP 주소를 기준으로 규칙을 정의하십시오. 또는 LNI에 여러 IP 주소를 할당하고 서로 다른 규칙을 사용하려면 단일 IP 주소를 기준으로 규칙을 정의하십시오.
-
시스템을 재부팅하여 구성이 성공적으로 적용되었는지 확인합니다.
RHEL 8 및 RHEL 9
참고: 네트워크 디바이스 이름 지정 모범 사례는 Red Hat 웹 사이트에서 RHEL 8에 대한 일관된 네트워크 인터페이스 이름 지정 구현과 RHEL 9에 대한 일관된 네트워크 인터페이스 이름 지정 구현을 참조하십시오.
-
인스턴스의 OS를 엽니다.
-
nm-cloud-setup.service 및 nm-cloud-setup.timer를 끕니다.
$ sudo systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer -
LNI에서 사용할 ID가 300인 라우팅 테이블 LNI에 대한 레코드를 /etc/iproute2/rt_tables에 생성합니다.
# echo "300 LNI" | sudo tee -a /etc/iproute2/rt_tables -
LNI 디바이스와 관련된 연결 이름을 찾으려면 다음 명령을 실행합니다.
$ sudo nmcli connection show -
연결 이름을 LNI로 변경하려면 다음 명령을 실행합니다.
$ sudo nmcli connection modify "Wired connection 1" connection.id "LNI" -
부팅 시 자동으로 연결되도록 연결을 구성하고 기본 게이트웨이를 끄려면 다음 명령을 실행합니다.
$ sudo nmcli connection modify "LNI" connection.autoconnect true ipv4.never-default yes -
고정 IP 주소를 사용하는 경우 nmcli를 사용하여 LNI 인터페이스에 대해 영구적으로 설정합니다.
$ sudo nmcli connection modify "LNI" ipv4.method manual ipv4.addresses 192.168.59.11/24 -
LNI 연결을 활성화합니다.
$ sudo nmcli conn up LNI -
nmcli를 사용하여 영구 경로를 생성합니다.
$ sudo nmcli connection modify "LNI" ipv4.routes "0.0.0.0/0 192.168.59.254 table=300" $ sudo nmcli connection modify "LNI" +ipv4.routes "8.8.8.8/32 192.168.59.254" -
구성 파일에 영구 규칙을 생성합니다. CIDR에서 소싱된 트래픽에 LNI 테이블을 사용하도록 네트워크 디바이스를 구성합니다.
-
시스템을 재부팅하여 구성이 성공적으로 적용되었는지 확인합니다.
SUSE12 및 15
-
인스턴스의 OS를 엽니다.
-
udev 규칙을 검토합니다. LNI 디바이스 이름이 MAC 주소에 연결된 상태를 유지하려면 LNI의 MAC 주소를 기반으로 규칙을 적용해야 합니다.
sudo cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /usr/lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # hotplug net device SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="0a:0b:6b:85:88:7c", KERNEL=="eth*", NAME="eth1" -
사용 사례에 따라 LNI를 구성합니다.
# sudo vi /etc/sysconfig/network/ifcfg-eth1 STARTMODE="auto" DEVICE="eth1" BOOTPROTO="static" IPADDR="192.168.59.11/24" CLOUD_NETCONFIG_MANAGE='no' -
구성 파일에서 LNI 구성 요구 사항에 따라 **/etc/sysconfig/network/ifroute-<LNI_name>**에 경로를 추가합니다.
# sudo vi /etc/sysconfig/network/ifroute-eth1 0.0.0.0/0 192.168.59.254 - eth1 table LNI 8.8.8.8/32 192.168.59.254 - eth1 -
/etc/sysconfig/network/ifrule-<LNI_name> 구성 파일에 규칙을 생성합니다. CIDR에서 소싱된 트래픽에 LNI 테이블을 사용하도록 네트워크 디바이스를 구성합니다.
# sudo vi /etc/sysconfig/network/ifrule-eth1 from 192.168.59.0/24 lookup LNI참고: 고정 IP 주소를 사용하는 경우 전체 로컬 네트워크 대신 단일 IP 주소를 기준으로 규칙을 정의하십시오. 또는 LNI에 여러 IP 주소를 할당하고 서로 다른 규칙을 사용하려면 단일 IP 주소를 기준으로 규칙을 정의하십시오.
-
시스템을 재부팅하여 구성이 성공적으로 적용되었는지 확인합니다.
Ubuntu 18.04, Ubuntu 20.04 및 Ubuntu 22.04
-
인스턴스의 OS를 엽니다.
-
LNI 구성 요구 사항에 따라 **/etc/netplan/**에서 새 파일을 생성합니다.
sudo vi /etc/netplan/51-ens6.yaml network: version: 2 renderer: networkd ethernets: ens6: dhcp4: false dhcp4-overrides: use-dns: false route-metric: 100 dhcp6: false match: macaddress: 0a:0b:6b:85:88:7c set-name: ens6 addresses: [192.168.59.11/24] routes: - to: 0.0.0.0/0 via: 192.168.59.254 table: 300 - to: 8.8.8.8/32 via: 192.168.59.254 routing-policy: - from: 192.168.59.0/24 table: 300 -
/etc/netplan/ 내의 네트워크 구성 파일에 대한 액세스를 제한하려면 파일 권한을 수정합니다.
$ sudo chmod 600 /etc/netplan/*.yaml -
netplan을 사용하여 구성을 적용한 다음, 연결을 테스트합니다.
sudo netplan apply -
시스템을 재부팅하여 구성이 성공적으로 적용되었는지 확인합니다.
Windows(모두)
-
인스턴스의 OS를 엽니다.
-
관리자로 명령 프롬프트 창을 엽니다.
-
외부 IP 또는 서브넷으로의 아웃바운드 트래픽이 로컬 네트워크의 게이트웨이를 사용하도록 하는 영구 경로를 생성합니다.
route -p ADD 8.8.8.8 MASK 255.255.255.255 192.168.59.254 -
해당 단계를 반복하여 LNI에 연결할 수 있는 각 외부 IP 주소 또는 서브넷에 대한 영구 경로를 추가합니다. 로컬 네트워크의 게이트웨이를 사용하여 로컬 네트워크 구성 및 방화벽 규칙을 기반으로 이러한 경로를 구성하십시오.
관련 콘텐츠
질문됨 2년 전
