5.5. 확인된 문제
다음 부분에서는 Red Hat Enterprise Linux 8의 알려진 문제에 대해 설명합니다.
5.5.1. 웹 콘솔
session_ historying shell을 사용하여 RHEL 웹 콘솔에 로그인할 수 없습니다.
현재 tlog 기록 지원 사용자에 대해 RHEL 웹 콘솔 로그인이 실패합니다. RHEL 웹 콘솔에는 로그인 성공할 수 있도록 /etc/shells
디렉토리에 사용자 쉘이 있어야 합니다. 그러나 tlog-rec-session
이 /etc/shells
에 추가되면 기록된 사용자는 쉘을 tlog-rec-session
에서 /etc/shells
에서 다른 쉘로 변경하여 레코딩을 비활성화할 수 있습니다. Red Hat은 이러한 이유로 tlog-rec-session
을 /etc/shell
에 추가하지 않는 것이 좋습니다.
(BZ#1631905)
5.5.2. 설치 프로그램 및 이미지 생성
auth
및 authconfig
Kickstart 명령에는 AppStream 리포지토리가 필요
authselect-compat
패키지는 설치하는 동안 auth
및 authconfig
Kickstart 명령이 필요합니다. 이 패키지가 없으면 auth
또는 authconfig
가 사용되는 경우 설치에 실패합니다. 설계에 따라 authselect-compat
패키지는 AppStream 리포지토리에서만 사용할 수 있습니다.
이 문제를 해결하려면 설치 프로그램에 BaseOS 및 AppStream 리포지토리를 사용할 수 있는지 확인하거나 설치 중에 authselect
Kickstart 명령을 사용합니다.
(BZ#1640697)
xorg-x11-drv-fbdev
,xorg-x11-drv-vesa
및 xorg-x11-drv-vmware
비디오 드라이버는 기본적으로 설치되지 않습니다.
특정 AMD 가속 처리 장치가 있는 특정 NVIDIA 그래픽 카드 및 워크스테이션이 있는 워크스테이션은 RHEL 8.0 Server 설치 후 그래픽 로그인 창을 표시하지 않습니다.
이 문제를 해결하려면 워크스테이션 시스템에서 RHEL 8.0 Workstation
을 설치합니다. 워크스테이션에 RHEL 8.0 Server
설치가 필요한 경우 yum -y groupinstall
명령을 실행하여 설치 후 base-x 패키지 그룹을 수동으로 설치합니다.
base-x
또한 Hyper-V와 같은 그래픽 지원을 위한 EFI에 의존하는 가상 머신도 영향을 받습니다. Hyper-V에서 GUI 기본 환경을 사용하여
서버를 선택한 경우 재부팅 시 표시되는 검정 화면으로 인해 로그인할 수 없게 될 수 있습니다. Hyper-v에서 이 문제를 해결하려면 다음 단계를 사용하여 다중 사용자 모드를 활성화합니다.
- 가상 머신을 재부팅합니다.
- 부팅 프로세스 중에 키보드의 위쪽 및 아래쪽 화살표 키를 사용하여 필요한 커널을 선택합니다.
-
키보드에서
e
키를 눌러 커널 명령줄을 편집합니다. -
systemd.unit=multi-user.target
을 GRUB의 커널 명령줄에 추가합니다. -
Ctrl-X
를 눌러 가상 머신을 시작합니다. -
로그인한 후
yum -y groupinstall base-x
명령을 실행합니다. - 가상 머신을 재부팅하여 그래픽 모드에 액세스합니다.
(BZ#1687489)
reboot --kexec
명령을 사용하면 설치에 실패합니다.
reboot --kexec
명령이 포함된 Kickstart 파일을 사용할 때 RHEL 8 설치에 실패합니다. 문제가 발생하지 않도록 하려면 Kickstart 파일에서 --kexec를 재부팅하지 않고
명령을 사용하십시오.
reboot
Binary DVD.iso
파일의 내용을 파티션에 복사해도 .treeinfo
및 .discinfo
파일이 복사되지 않음
로컬 설치 중에 RHEL 8 Binary DVD.iso 이미지 파일을 파티션에 복사하는 동안 cp <path>/\
*
<mounted partition>/dir 명령의 *는.treeinfo
및 .discinfo
파일을 복사하지 못합니다. 이러한 파일은 성공적으로 설치하려면 필요합니다. 결과적으로 BaseOS 및 AppStream 리포지토리가 로드되지 않으며 anaconda.log
파일에 있는 디버그 관련 로그 메시지가 문제의 유일한 레코드입니다.
이 문제를 해결하려면 누락된 .treeinfo
및 .discinfo
파일을 파티션에 복사하십시오.
(BZ#1692746)
Anaconda 설치에는 최소한의 리소스 설정 요구 사항이 적은 제한이 포함되어 있습니다.
Anaconda는 최소한의 리소스 설정을 사용하여 시스템에 설치를 시작하고 설치를 성공적으로 수행하는 데 필요한 리소스에 대한 이전 메시지 경고를 제공하지 않습니다. 결과적으로 설치에 실패할 수 있으며 출력 오류로 인해 가능한 디버그 및 복구에 대한 명확한 메시지가 표시되지 않습니다. 이 문제를 해결하려면 시스템에 설치에 필요한 최소한의 리소스 설정이 있는지, PPC64(LE)의 2GB 메모리 및 x86_64의 1GB가 있는지 확인하십시오. 따라서 성공적으로 설치를 수행할 수 있어야 합니다.
(BZ#1696609)
reboot --kexec
및 inst.kexec
명령은 예측 가능한 시스템 상태를 제공하지 않습니다.
reboot --kexec
Kickstart 명령 또는 inst.kexec
커널 부팅 매개변수를 사용하여 RHEL 설치를 수행해도 전체 재부팅과 동일한 예측 가능한 시스템 상태가 제공되지 않습니다. 결과적으로 재부팅하지 않고 설치된 시스템으로 전환하면 예기치 않은 결과가 발생할 수 있습니다.
kexec
기능은 더 이상 사용되지 않으며 향후 Red Hat Enterprise Linux 릴리스에서 제거될 예정입니다.
(BZ#1697896)
5.5.3. 커널
부팅 시 i40iw 모듈이 자동으로 로드되지 않음
많은 i40e NIC에서 iWarp를 지원하지 않고 i40iw 모듈이 일시 중지/재개를 완전히 지원하지 않기 때문에 이 모듈이 기본적으로 자동 로드되지 않으므로 일시 중지/재개 동작이 제대로 작동하지 않게 됩니다. 이 문제를 해결하려면 수동으로 /lib/udev/rules.d/90-rdma-hw-modules.rules
파일을 편집하여 i40iw의 자동 로드를 활성화해야 합니다.
또한 동일한 시스템에 i40e 장치와 함께 설치된 다른 RDMA 장치가 있는 경우 비 i40e RDMA 장치는 rdma 서비스를 트리거하여 i40iw 모듈을 포함하여 활성화된 모든 RDMA 스택 모듈을 로드합니다.
(BZ#1623712)
많은 장치가 연결되어 있을 때 시스템이 응답하지 않는 경우가 있음
Red Hat Enterprise Linux 8이 다량의 장치를 구성하면, 시스템 콘솔에서 많은 수의 콘솔 메시지가 발생합니다. 예를 들어, 다수의 LUN(Logical Unit Number)이 있고 각 LUN에 대한 다중 경로가 있는 경우에 이러한 상황이 발생합니다. 커널이 수행하고 있는 다른 작업 외에도 콘솔 메시지가 많아 커널이 중지된 것처럼 보이기 때문에 커널 watchdog가 커널 패닉을 일으킬 수 있습니다.
부팅 사이클 초기에 스캔이 이루어지기 때문에 장치가 많이 연결되어 있으면 시스템이 응답하지 않게 됩니다. 일반적으로 부팅 시 이런 문제가 발생합니다.
부팅 후 장치 스캔 이벤트 중에 kdump
가 시스템에 활성화되면 hard lockup으로 인해 vmcore
이미지가 캡처됩니다.
이 문제를 해결하려면 watchdog 잠금 타이머를 늘려야 합니다. 이렇게 하려면 커널 명령줄에 watchdog_thresh=N
옵션을 추가합니다. N
을 초 단위로 바꿉니다.
-
장치가 1,000개 미만인 경우
30
을 사용하십시오. -
장치가 1,000개 이상인 경우
60
을 사용하십시오.
스토리지의 경우 장치 개수는 모든 LUN에 대한 경로 개수입니다.즉 일반적으로 이는 /dev/sd*
장치 개수입니다.
해결방법을 적용하면 여러 개의 장치를 구성할 때 시스템이 더 이상 응답하지 않는 문제가 발생하지 않습니다.
(BZ#1598448)
KSM이 NUMA 메모리 정책을 무시하는 경우가 있음
merge_across_nodes=1
매개변수로 커널 공유 메모리(KSM) 기능을 활성화하면 KSM은 mbind() 함수에 의해 설정된 메모리 정책을 무시하고 일부 메모리 영역의 페이지를 정책과 일치하지 않는 NUMA(Non-Uniform Memory Access) 노드에 병합할 수 있습니다.
이 문제를 해결하려면 QEMU에서 NUMA 메모리 바인딩을 사용하는 경우 KSM을 비활성화하거나 merge_across_nodes
매개변수를 0
으로 설정합니다. 결과적으로 KVM VM에 대해 구성된 NUMA 메모리 정책이 예상대로 작동되게 됩니다.
(BZ#1153521)
qede
드라이버는 NIC를 중지하고 사용할 수 없게 만듭니다.
버그로 인해 41000 및 45000 QLogic 시리즈 NIC의 qede
드라이버로 인해 펌웨어 업그레이드 및 디버그 데이터 수집 작업이 실패하고 호스트의 재부팅 (PCI reset)이 재부팅될 때까지 NIC를 사용할 수 없거나 ung 상태가 다시 작동할 수 있습니다.
이 문제는 다음 모든 시나리오에서 탐지되었습니다.
- inbox 드라이버를 사용하여 NIC의 펌웨어를 업그레이드할 때
-
ethtool -d ethx
명령을 실행하는 디버그 데이터를 수집할 때 -
ethtool -d ethx가 포함되어 있으므로
sosreport
명령을 실행합니다. - inbox 드라이버가 IO 시간 초과, mail Box 명령 시간 제한, 하드웨어 Attention과 같은 자동 디버그 데이터 컬렉션을 시작할 때.
이 문제를 해결하기 위해 Red Hat의 향후 에라타가 Red Hat 버그 권고 (RHBA)를 통해 릴리스될 예정입니다. 이 문제를 해결하려면 RHBA가 릴리스될 때까지 해당 문제에 대해 지원되는 수정 사항을 요청하려면 https://access.redhat.com/support 에서 케이스를 생성합니다.
(BZ#1697310)
Rax 트리 기호가 kernel-abi-whitelists
에 추가되었습니다.
Red Hat Enterprise Linux 8에서 kernel-abi-whitelists
패키지에 다음과 같은 방사 트리 기호가 추가되었습니다.
-
__radix_tree_insert
-
__radix_tree_next_slot
-
radix_tree_delete
-
radix_tree_gang_lookup
-
radix_tree_gang_lookup_tag
-
radix_tree_next_chunk
-
radix_tree_preload
-
radix_tree_tag_set
위의 기호는 존재하지 않으며 RHEL8 허용 목록에서 제거됩니다.
(BZ#1695142)
Podman
이 RHEL 8에서 컨테이너를 체크포인트하지 못했습니다.
Red Hat Enterprise Linux 8에서는 체크포인트 및 CRIU(사용자 공간 복원) 패키지의 버전이 오래되었습니다. 결과적으로 CRIU는 컨테이너 검사점 및 복원 기능을 지원하지 않으며 podman
유틸리티는 컨테이너를 검사하지 못합니다. podman container checkpoint
명령을 실행하면 다음 오류 메시지가 표시됩니다. '컨테이너 확인에는 CRIU 31100 이상이 필요합니다.
(BZ#1689746)
dracut.conf
에서 add_dracutmodules+=early
및 표준 kdump가 실패합니다.kdump
옵션을 사용하면 early-kdump
현재 early-kdump
에 설치되어 있는 커널 버전 간에 불일치가 발생하고 커널 버전 initramfs
가 에 대해 생성됩니다. 그 결과 early-kdump
를 사용하여 부팅하면 early-kdump
가 실패합니다. 또한 early-kdump
가 표준 kdump
initramfs 이미지에 포함되어 있음을 탐지하면 종료를 강제 적용합니다. 따라서 early-
가 기본 kdump
dracut
모듈로 추가된 경우 kdump
initramfs를 다시 빌드하려고 할 때 표준 kdump 서비스도 실패합니다. 그 결과 early-kdump
및 표준 kdump
가 모두 실패합니다. 이 문제를 해결하려면 add_dracutmodules+=earlykdump
또는 dracut.conf
파일에 동등한 구성을 추가하지 마십시오. 결과적으로 early-kdump
는 기본적으로 dracut
에 포함되지 않으므로 문제가 발생하지 않습니다. 그러나 early-kdump
이미지가 필요한 경우 수동으로 생성해야 합니다.
(BZ#1662911)
디버그 커널은 RHEL 8의 크래시 캡처 환경에서 부팅되지 않음
디버그 커널의 메모리 요구 특성으로 인해 디버그 커널이 사용 중이며 커널 패닉이 트리거되면 문제가 발생합니다. 결과적으로 debug 커널은 캡처 커널로 부팅할 수 없으며, 스택 추적이 대신 생성됩니다. 이 문제를 해결하려면 그에 따라 크래시 커널 메모리를 늘리십시오. 결과적으로 디버그 커널이 크래시 캡처 환경에서 성공적으로 부팅됩니다.
(BZ#1659609)
fadump
를 사용할 때 네트워크 인터페이스 이름이 kdump-<interface-name
>으로 변경됩니다.
펌웨어 지원 덤프(fadump
)를 사용하여 vmcore를 캡처하고 SSH 또는 NFS 프로토콜을 사용하여 원격 머신에 저장할 때 <interface- name>이 일반적인 경우 네트워크 인터페이스 이름이 kdump-
< interface-name
>으로 변경됩니다(예: *eth# 또는 net#). 이 문제는 초기 RAM 디스크(initrd
)의 vmcore 캡처 스크립트가 kdump- 접두사를 네트워크 인터페이스 이름에 추가하기 때문에 발생합니다. 일반 부팅에도 동일한 initrd
가 사용되므로 프로덕션 커널에서도 인터페이스 이름이 변경됩니다.
(BZ#1745507)
5.5.4. 소프트웨어 관리
root가 아닌 사용자에서 yum list
를 실행하면 YUM 충돌 발생
libdnf
패키지가 업데이트된 후 root가 아닌 사용자에서 yum list
명령을 실행하면 YUM가 예기치 않게 종료될 수 있습니다. 이 버그가 발견되면 root에서 yum list
를 실행하여 문제를 해결할 수 있습니다. 그 결과 root가 아닌 사용자에서 yum list
를 실행해도 더 이상 YUM 충돌이 발생하지 않습니다.
(BZ#1642458)
YUM v4 는 기본적으로 사용할 수 없는 리포지토리를 건너뜁니다.
YUM v4 는 모든 리포지토리의 기본적으로 "skip_if_unavailable=True" 설정으로 설정됩니다. 결과적으로 필요한 리포지토리를 사용할 수 없는 경우 리포지토리의 패키지는 설치, 검색 또는 업데이트 작업에서 고려되지 않습니다. 결과적으로 일부 yum
명령 및 yum 기반 스크립트는 사용할 수 없는 리포지토리가 있는 경우에도 종료 코드 0으로 성공합니다.
현재는 libdnf
패키지를 업데이트하는 것보다 다른 해결방법은 없습니다.
5.5.5. 인프라 서비스
nslookup
및 호스트
유틸리티는 재귀를 사용할 수 없는 이름 서버의 응답을 무시합니다.
이름 서버에서 더 많은 이름 서버를 구성하고 재귀를 사용할 수 없는 경우 nslookup
및 호스트
유틸리티는 마지막으로 구성된 경우가 아니면 이름 서버의 응답을 무시합니다. 마지막으로 구성된 이름 서버의 경우 사용 가능한 재귀
플래그를 사용하지 않고도 응답이 허용됩니다. 그러나 마지막으로 구성된 이름 서버가 응답하지 않거나 연결할 수 없는 경우 이름 확인이 실패합니다.
이 문제를 해결하려면 다음을 수행하십시오.
-
구성된 이름 서버가 항상
사용 가능한 재귀
플래그 세트로 응답하는지 확인합니다. - 모든 내부 클라이언트에 대한 재귀를 허용합니다.
이 문제를 해결하려면 dig
유틸리티를 사용하여 재귀를 사용할 수 있는지 여부를 탐지할 수도 있습니다.
(BZ#1599459)
5.5.6. 쉘 및 명령행 툴
net-snmp
패키지의 Python
바인딩을 사용할 수 없음
Net-SNMP
툴 제품군은 RHEL 8의 기본 Python
구현인 Python 3
에 대한 바인딩을 제공하지 않습니다. 그 결과, python-net-snmp
, python2-net-snmp
또는 python3-net-snmp
패키지는 RHEL 8에서 사용할 수 없습니다.
(BZ#1584510)
디버그 모드에서 systemd
는 불필요한 로그 메시지 생성
디버그 모드에서 systemd
시스템 및 서비스 관리자는 다음으로 시작하는 불필요한 로그 메시지를 생성합니다.
"Failed to add rule for system call ..."
다음을 실행하여 메시지를 나열합니다.
journalctl -b _PID=1
이러한 디버그 메시지는 무해하며 무시해도 됩니다.
현재는 사용할 수 있는 해결방법이 없습니다.
KEYBD
트랩을 사용한 KSH는 멀티바이트 문자를 잘못 처리
KEYBD
트랩이 활성화된 경우 Korn Shell(KSH)은 멀티바이트 문자를 올바르게 처리할 수 없습니다. 그 결과, 사용자가 (예: 일본어 문자)를 입력하면 ksh
에 잘못된 문자열이 표시됩니다. 이 문제를 해결하려면 다음 줄을 주석으로 처리하여 /etc/kshrc
파일에서 KEYBD
트랩을 비활성화합니다.
trap keybd_trap KEYBD
자세한 내용은 관련 지식베이스 솔루션을 참조하십시오.
5.5.7. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
데이터베이스 서버를 병렬로 설치할 수 없음
충돌하는 RPM 패키지로 인해 RHEL 8.0에서 mariadb
및 mysql
모듈을 병렬로 설치할 수 없습니다.
설계상 동일한 모듈의 두 개 이상 버전(스트림)을 병렬로 설치할 수 없습니다. 예를 들어 postgresql
모듈에서 사용할 수 있는 스트림 중 하나를 10
(기본) 또는 9.6
중에서 선택해야 합니다. RHEL 6 및 RHEL 7용 Red Hat Software Collections에서는 구성 요소의 병렬 설치가 가능합니다. RHEL 8에서는 컨테이너에서 다른 버전의 데이터베이스 서버를 사용할 수 있습니다.
(BZ#1566048)
mod_cgid
로깅 문제
RHEL 8에서 기본으로 mod_cgid
Apache httpd 모듈을 스레드 MPM(Multi-processing module)에서 사용하는 경우 다음과 같은 로깅 문제가 발생합니다.
-
CGI 스크립트의
stderr
출력 시 표준 타임스탬프 정보가 포함되지 않음 -
CGI 스크립트의
stderr
출력이VirtualHost
에 대한 로그 파일로 올바르게 리디렉션되지 않음
(BZ#1633224)
IO::Socket::SSL
Perl 모듈이 TLS 1.3을 지원하지 않음
세션 재개 또는 포스트 핸드셰이크(Post-Handshake) 인증과 같은 TLS 1.3 프로토콜의 새로운 기능이 RHEL 8 OpenSSL
라이브러리에서 구현되었지만 Net::SSLeay
Perl 모듈에서는 구현되지 않았기 때문에 IO::Socket::SSL
Perl 모듈에서 사용할 수 없습니다. 결과적으로 클라이언트 인증서 인증에 실패하고 세션 재연결이 TLS 1.2 프로토콜보다 느려질 수 있습니다.
이 문제를 해결하려면 IO::Socket::SSL
개체를 생성할 때 SSL_version
옵션을 !TLSv1_3
값으로 설정하여 TLS 1.3의 사용을 비활성화합니다.
(BZ#1632600)
생성된 Scala 문서가 읽을 수 없음
scaladoc
명령을 사용하여 문서를 생성할 때 JavaScript 리소스가 누락되어 결과 HTML 페이지를 사용할 수 없습니다.
(BZ#1641744)
5.5.8. 데스크탑
Q
XL은 Wayland 기반 VM에서 작동하지 않습니다.
qxl
드라이버는 특정 하이퍼바이저에서 커널 모드 설정 기능을 제공할 수 없습니다. 그 결과, Wayland 프로토콜을 기반으로 하는 그래픽은 qxl
를 사용하는 가상 머신(VM)에서 사용할 수 없으며 Wayland 기반 로그인 화면이 시작되지 않습니다.
이 문제를 해결하려면 다음 중 하나를 사용하십시오.
- QuarkXpress Element Library (QXL) 그래픽을 기반으로 하는 VM에서 Wayland의 GNOME Shell 대신 Xorg 디스플레이 서버.
또는
-
VM의
qxl
드라이버 대신virtio
드라이버입니다.
(BZ#1641763)
systemctl isolate multi-user.target
을 실행할 때 콘솔 프롬프트가 표시되지 않습니다.
systemctl isolate multi-user.target
명령을 GNOME 데스크탑 세션의 GNOME Terminal에서 실행하면 콘솔 프롬프트가 아닌 커서만 표시됩니다. 이 문제를 해결하려면 Ctrl+Alt+F2
키를 누릅니다. 결과적으로 콘솔 프롬프트가 표시됩니다.
이 동작은 Wayland 및 X.Org 디스플레이 서버의 GNOME Shell에 모두 적용됩니다.
5.5.9. 그래픽 인프라
X.Org 에서 실행되는 데스크탑은 낮은 화면 해상도로 변경될 때 중지됨
X.Org 디스플레이 서버와 함께 GNOME 데스크탑을 사용할 때 화면 해상도를 낮은 값으로 변경하려고 하면 데스크탑이 응답하지 않습니다. 이 문제를 해결하려면 화면 해상도를 800 × 600픽셀보다 낮은 값으로 설정하지 마십시오.
(BZ#1655413)
Radeon
이 하드웨어를 올바르게 재설정하지 못했습니다.
현재 radeon
커널 드라이버는 kexec 컨텍스트의 하드웨어를 올바르게 재설정하지 않습니다. 대신 radeon
이 대체되어 kdump 서비스의 나머지 부분이 실패합니다.
이 문제를 해결하려면 /etc/ kdump.conf
파일에 다음 행을 추가하여 kdump에서 radeon
을 블랙리스트로 설정합니다.
dracut_args --omit-drivers "radeon" force_rebuild 1
머신을 다시 시작하고 kdump 를 다시 시작합니다. kdump 를 시작한 후 force_rebuild 1
행이 구성 파일에서 제거될 수 있습니다.
이 시나리오에서는 kdump 중에 그래픽을 사용할 수 없지만 kdump 가 성공적으로 작동합니다.
(BZ#1694705)
5.5.10. 하드웨어 지원
ARP 링크 모니터를 사용할 때 백업 슬레이브 MII 상태가 작동하지 않음
기본적으로 i40e 드라이버에서 관리하는 장치는 수신 필터 중 하나와 일치하는 소스 Media Access Control(MAC) 주소가 있는 패킷을 삭제하는 소스 정리를 수행합니다. 그 결과 채널 본딩에서 Address Resolution Protocol(ARP) 모니터링을 사용할 때 백업 슬레이브 Media Independent Interface (MII) 상태가 작동하지 않습니다. 이 문제를 해결하려면 다음 명령을 사용하여 소스 정리를 비활성화합니다.
# ethtool --set-priv-flags <ethX> disable-source-pruning on
결과적으로 백업 슬레이브 MiI 상태가 예상대로 작동합니다.
(BZ#1645433)
경우에 따라 HP NMI watchdog가 크래시 덤프를 생성하지 않음
HP NMI 워치독의 hpwdt
드라이버는 NMI가 대신 perfmon
드라이버에서 소비했기 때문에 HPE 워치독 타이머에 의해 생성된 NMI(Non-maskable interrupt)를 요청할 수 없는 경우가 있습니다.
결과적으로 경우에 따라 hpwdt
는 패닉을 호출하여 크래시 덤프를 생성할 수 없습니다.
(BZ#1602962)
5.5.11. IdM (Identity Management)
KCM 인증 정보 캐시가 단일 인증 정보 캐시의 많은 인증 정보에 적합하지 않음
Kerberos 자격 증명 관리자(KCM)는 최대 64KB의 ccache 크기를 처리할 수 있습니다. 인증 정보가 너무 많으면 kinit 와 같은 Kerberos 작업은 sssd-kcm 구성 요소와 기본 데이터베이스 간에 데이터를 전송하는 데 사용되는 버퍼의 하드 코딩된 제한으로 인해 실패합니다.
이 문제를 해결하려면 /etc/sssd/sssd.conf
파일의 kcm 섹션에 ccache_storage = memory
옵션을 추가합니다. 이렇게 하면 kcm 응답자가 인증 정보 캐시를 영구적으로 저장하지 않고 메모리에 저장하도록 지시합니다. 이렇게 하는 경우, 시스템을 다시 시작하거나 sssd-kcm으로 인증 정보 캐시를 지웁니다.
(BZ#1448094)
/etc/nsswitch.conf
를 변경하려면 수동 시스템 재부팅이 필요합니다.
authselect select profile_id
명령을 실행하는 경우와 같이 /etc/nsswitch.conf
파일에 대한 변경 사항을 적용하려면 모든 관련 프로세스에서 업데이트된 버전의 /etc/nsswitch.conf
파일을 사용하도록 시스템 재부팅이 필요합니다. 시스템 재부팅이 불가능한 경우 시스템을 SSSD( System Security Services Daemon
) 또는 winbind
에 해당하는 Active Directory에 결합하는 서비스를 다시 시작합니다.
시간 초과 값의 충돌로 인해 SSSD가 서버에 연결되지 않음
SSSD(System Security Services Daemon)에서 사용하는 장애 조치 작업과 관련된 기본 시간 초과 값 일부가 충돌합니다. 결과적으로 SSSD가 단일 서버와 통신하도록 예약된 시간 초과 값은 전체 시간 초과로 SSSD가 연결 작업 이전에 다른 서버를 시도하지 못하도록 합니다. 이 문제를 해결하려면 dns_resolver_timeout
매개변수 값보다 큰 ldap_opt_timeout
시간 초과 매개변수 값을 설정하고, dns_resolver_op_timeout
매개변수 값보다 큰 dns_resolver_timeout
매개변수 값을 설정합니다.
(BZ#1382750)
SSSD에서 ID 덮어쓰기에서 고유한 인증서만 조회할 수 있습니다.
여러 ID 덮어쓰기에 동일한 인증서가 포함된 경우 SSSD(System Security Services Daemon)에서 인증서와 일치하는 사용자에 대한 쿼리를 확인할 수 없습니다. 이러한 사용자를 검색하려고 하면 사용자가 반환되지 않습니다. 사용자 이름 또는 UID를 사용하여 사용자를 찾는 작업이 예상대로 작동합니다.
(BZ#1446101)
SSSD는 동일한 우선 순위로 여러 인증서 일치 규칙을 올바르게 처리하지 않습니다.
지정된 인증서가 동일한 우선 순위의 여러 인증서 일치 규칙과 일치하면 SSSD(System Security Services Daemon)는 규칙 중 하나만 사용합니다. 해결 방법으로 LDAP 필터가 |
(또는) 연산자와 연결된 개별 규칙 필터로 구성된 단일 인증서 일치 규칙을 사용하십시오. 일치하는 인증서의 예를 보려면 sss-certamp(5) 매뉴얼 페이지를 참조하십시오.
(BZ#1447945)
SSSD에서 로컬 사용자에 대해 잘못된 LDAP 그룹 멤버십 반환
SSSD(System Security Services Daemon)가 로컬 파일의 사용자에게 서비스를 제공하는 경우 파일 공급자에 다른 도메인의 그룹 멤버십이 포함되지 않습니다. 결과적으로 로컬 사용자가 LDAP 그룹의 멤버인 경우 id local_user
명령은 사용자의 LDAP 그룹 멤버십을 반환하지 않습니다. 이 문제를 해결하려면 시스템이 /etc/nsswitch.conf
파일의 사용자 그룹 멤버십을 찾고 있는 데이터베이스의 순서를 되돌리거나 ssss 파일을 파일로 교체하거나 ssss
.을 추가하여 암시적 파일
도메인을 비활성화하십시오.
enable_files_domain=False
/etc/sssd/sssd.conf
파일의 [sssd]
섹션에 추가합니다.
결과적으로 id local_user
는 로컬 사용자에 대해 올바른 LDAP 그룹 멤버십을 반환합니다.
sudo 규칙에서 그룹 이름을 참조하는 경우 sudo 규칙이 id_provider=ad
에서 작동하지 않을 수 있습니다.
SSSD(System Security Services Daemon)는 캐시를 사용하여 AD와 SSSD 간의 통신을 최적화하여 initgroups
작업 중에 Active Directory 그룹 이름을 확인하지 않습니다. 캐시 항목에는 이름 또는 ID로 그룹을 요청할 때까지 그룹 이름이 아니라 보안 식별자(SID)만 포함됩니다. 따라서 sudo 규칙이 sudo를 실행하기 전에 그룹이 완전히 해결되지 않는 한 AD 그룹과 일치하지 않습니다.
이 문제를 해결하려면 최적화를 비활성화해야 합니다. /etc/sssd/sssd.conf
파일을 열고 [domain/example.com]
섹션에 ldap_use_tokengroups = false
매개 변수를 추가해야 합니다.
RHEL 8에서는 systemd-user
의 기본 PAM 설정이 SSSD 동작에 영향을 미칠 수 있음
Red Hat Enterprise Linux 8에서는 PAM(Pluggable Authentication Module) 스택이 변경되었습니다. 예를 들어 systemd
사용자 세션은 이제 systemd-user
PAM 서비스를 사용하여 PAM 대화식을 시작합니다. 이제 이 서비스에는 pam_sss.so
인터페이스가 포함될 수 있는 system-auth
PAM 서비스가 반복적으로 포함됩니다. 즉, SSSD 액세스 제어를 항상 호출합니다.
RHEL 8 시스템에 대한 액세스 제어 규칙을 설계할 때 변경 사항에 유의하십시오. 예를 들어 systemd-user
서비스를 허용된 서비스 목록에 추가할 수 있습니다.
IPA HBAC 또는 ADtektons와 같은 일부 액세스 제어 메커니즘의 경우 systemd-user
서비스가 기본적으로 허용되는 서비스 목록에 추가되어 작업을 수행할 필요가 없습니다.
IdM 서버가 FIPS에서 작동하지 않음
Tomcat용 SSL 커넥터 구현이 불완전하기 때문에 인증서 서버가 설치된 IdM(Identity Management) 서버가 FIPS 모드가 활성화된 시스템에서 작동하지 않습니다.
sss
ID 매핑 플러그인을 사용할 때 Samba에서 액세스를 거부
AD(Active Directory) 도메인에 연결된 RHEL 호스트의 파일 서버로 Samba를 사용하려면 AD에서 사용자 및 그룹을 관리하는 데 SSSD를 사용하는 경우에도 Samba Winbind 서비스를 실행해야 합니다. realm join --client-software=sssd
명령을 사용하여 도메인에 가입하거나 이 명령에서 --client-software
매개변수를 지정하지 않으면 realm
은 /etc/sssd/sssd.conf
파일만 생성합니다. 이 구성을 사용하여 도메인 멤버에서 Samba를 실행하고 sss
ID 매핑 백엔드를 /etc/requests/year.conf
파일에 사용하여 구성을 추가하면 ID 매핑 백엔드의 변경으로 인해 오류가 발생할 수 있습니다. 결과적으로 Samba는 사용자 또는 그룹이 존재하고 SSSD에 의해 알려진 특정 경우의 파일에 대한 액세스를 거부합니다.
이전 RHEL 버전에서 업그레이드하려는 경우 /etc/sssd/sssd.conf
파일의 ldap_id_mapping
매개변수가 기본값인 True
로 설정되어 있으면 사용 가능한 해결방법이 없습니다. 이 경우 문제가 해결될 때까지 호스트를 RHEL 8로 업그레이드하지 마십시오.
다른 시나리오에서 가능한 해결 방법:
-
새로 설치하는 경우
영역 join --client-software=winbind
명령을 사용하여 도메인에 결합합니다. 그러면 모든 사용자 및 그룹 조회에 SSSD 대신 Winbind를 사용하도록 시스템을 구성합니다. 이 경우 Samba는--automatic-id-mapping
옵션을yes
(기본값)로 설정했는지 여부에 따라/etc/tekton/tekton.conf
에서remove
또는ad
ID 매핑 플러그인을 사용합니다.향후 또는 다른 시스템에서 SSSD를 사용하려는 경우
--automatic-id-mapping=no
를 사용하면 더 쉽게 마이그레이션할 수 있지만 모든 사용자 및 그룹에 대해 AD에 POSIX UID 및 GID를 저장해야 합니다. 이전 RHEL 버전에서 업그레이드하는 경우 및
/etc/sssd/sssd.conf
파일의ldap_id_mapping
매개 변수가False
로 설정되어 있고 시스템은 ID 매핑을 위해 AD에서uidNumber
및gidNumber
속성을 사용합니다.-
idmap config <domain> : backend = ssss
항목을 idmap config <domain> : backend = ad으로idmap config <domain> : backend = ad
로 변경 -
systemctl status winbind
명령을 사용하여 Winbind를 다시 시작합니다.
-
nuxwdog
서비스가 HSM 환경에서 작동하지 않기 때문에 비 HSM 환경에서 keyutils
패키지를 설치해야 함
nuxwdog
watchdog 서비스가 인증서 시스템에 통합되었습니다. 결과적으로 nuxwdog
은 더 이상 별도의 패키지로 제공되지 않습니다. watchdog 서비스를 사용하려면 pki-server
패키지를 설치합니다.
nuxwdog
서비스에는 다음과 같은 알려진 문제점이 있습니다.
-
HSM(하드웨어 스토리지 모듈)을 사용하는 경우
nuxwdog
서비스가 작동하지 않습니다. 이 문제의 해결방법은 없습니다. -
비 HSM 환경에서 Red Hat Enterprise Linux 8.0은
keyutils
를 패키지 종속성으로 자동 설치하지 않습니다. 패키지를 수동으로 설치하려면dnf install keyutils
명령을 사용하십시오.
AD 사용자의 ID 덮어쓰기 추가는 IdM CLI에서만 작동합니다.
현재는 IdM 웹 UI에서 관리 역할에 대한 액세스 권한을 부여하기 위해 IdM(Identity Management) 그룹에 AD(Active Directory) 사용자의 ID 덮어쓰기를 추가합니다. 문제를 해결하려면 IdM CLI(명령줄 인터페이스)를 대신 사용하십시오.
ipa 유틸리티를 사용하여 특정 작업을 수행한 후 IdM 서버에 ipa-idoverride-memberof-plugin
패키지를 설치한 경우
유틸리티 캐시를 정리하여 IdM 서버 메타데이터에 대한 보기를 새로 고치는 것이 좋습니다.
ipa
이렇게 하려면 ipa
유틸리티가 실행되는 사용자의 ~/.cache/ipa
디렉터리의 콘텐츠를 제거하십시오. 예를 들어 root의 경우:
# rm -r /root/.cache/ipa
IdM에서 AD 신뢰 지원을 활성화할 때 표시되는 필수 DNS 레코드에 대한 정보는 없습니다.
외부 DNS 관리를 사용하여 Red Hat Enterprise Linux IdM(Identity Management) 설치에 AD(Active Directory) 신뢰 지원을 활성화하면 필수 DNS 레코드에 대한 정보가 표시되지 않습니다. 필요한 DNS 레코드가 추가될 때까지 AD에 대한 domain 신뢰는 성공하지 못합니다. 이 문제를 해결하려면 'ipa dns-update-system-records --dry-run' 명령을 실행하여 IdM에 필요한 모든 DNS 레코드 목록을 가져옵니다. IdM 도메인의 외부 DNS에서 필요한 DNS 레코드를 정의하는 경우, AD로 forest 트러스트를 설정할 수 있습니다.
ldap_id_use_start_tls
옵션에 기본값을 사용할 때 발생할 수 있는 위험
TLS없이 ldap://
를 ID 조회에 사용하는 경우 공격 벡터가 발생할 위험이 있습니다. 특히 MITM(Man-in-the-middle) 공격으로 공격자는 LDAP 검색에 반환된 오브젝트의 UID 또는 GID를 변경하여 사용자를 가장할 수 있습니다.
현재 TLS를 적용하는 SSSD 구성 옵션인 ldap_id_use_start_tls
는 기본값은 false
입니다. 설정이 신뢰할 수 있는 환경에서 작동하고 id_provider = ldap
에 대해 암호화되지 않은 통신을 안전하게 사용할 수 있는지 결정합니다. 참고 id_provider = ad
및 id_provider = ipa
는 SASL 및 GSSAPI로 보호되는 암호화된 연결을 사용하므로 영향을 받지 않습니다.
암호화되지 않은 통신을 사용하는 것이 안전하지 않은 경우 /etc/sssd/sssd.conf
파일에서 ldap_id_use_start_tls
옵션을 true
로 설정하여 TLS를 적용합니다. 기본 동작은 RHEL의 향후 릴리스에서 변경될 예정입니다.
(JIRA:RHELPLAN-155168)
5.5.12. 컴파일러 및 개발 도구
GCC에서 생성된 합성 함수가 SystemTap에 혼란 가중
GCC 최적화는 다른 함수의 부분 인라인 사본에 대해 합성 함수를 생성할 수 있습니다. SystemTap 및 GDB와 같은 툴은 이러한 합성 함수를 실제 함수와 구분할 수 없습니다. 결과적으로 SystemTap은 합성 및 실제 함수 진입점 모두에 프로브를 배치할 수 있으므로 단일 실제 함수 호출에 대해 여러 개의 프로브 히트를 등록합니다.
이 문제를 해결하려면 SystemTap 스크립트를 인라인 부분 함수와 관련된 재귀 탐지 및 프로브 억제와 같은 조치로 수정해야 합니다. 스크립트 예시:
probe kernel.function("can_nice").call { }
다음과 같이 설명된 문제를 피할 수 있습니다.
global in_can_nice% probe kernel.function("can_nice").call { in_can_nice[tid()] ++; if (in_can_nice[tid()] > 1) { next } /* code for real probe handler */ } probe kernel.function("can_nice").return { in_can_nice[tid()] --; }
이 예시 스크립트는 kprobes 또는 kretprobes 누락, 의도된 재귀와 같이 가능한 모든 시나리오를 고려하지 않습니다.
(BZ#1169184)
ltrace
툴이 함수 호출을 보고하지 않음
모든 RHEL 구성 요소에 적용된 바이너리 강화 기능이 개선되었으므로 ltrace
툴은 RHEL 구성 요소의 바이너리 파일에서 함수 호출을 더 이상 감지할 수 없습니다. 따라서 이러한 바이너리 파일에 사용될 때 감지된 모든 호출을 보고하지 않으므로 ltrace
출력이 비어 있습니다. 현재 해결방법은 없습니다.
참고로 ltrace
는 해당 강화 플래그없이 구축된 사용자 정의 바이너리 파일에서 호출을 올바르게 보고할 수 있습니다.
(BZ#1618748, BZ#1655368)
5.5.13. 파일 시스템 및 스토리지
iscsiuio
패키지를 사용하여 iSCSI 대상을 찾을 수 없음
Red Hat Enterprise Linux 8은 PCI 레지스터 영역에 대한 동시 액세스를 허용하지 않습니다. 결과적으로 could not set host net params (err 29)
오류가 설정된 검색 포털에 대한 연결이 실패했습니다. 이 문제를 해결하려면 iSCSI 오프로드에 대한 커널 명령줄에 커널 매개변수 iomem=relaxed
를 설정합니다. 특히 bnx2i
드라이버를 사용하는 모든 오프로드를 포함합니다. 그 결과 검색 포털에 성공적으로 연결되고 iscsiuio
패키지가 올바르게 작동합니다.
(BZ#1626629)
VDO 볼륨은 다른 엔드안 플랫폼으로 전환 한 후 중복 제거 조언을 잃게됩니다.
VDO(가상 데이터 최적화 도구)는 UDS(Universal Deduplication Service) 인덱스 헤더를 플랫폼 네이티브 endian 형식으로 씁니다. VDO는 UDS 인덱스가 손상된 것을 고려하고 VDO 볼륨을 다른 endian을 사용하는 플랫폼으로 이동하면 새로운 빈 인덱스로 덮어씁니다.
결과적으로 덮어쓰기 전에 UDS 인덱스에 저장된 중복 제거 조언을 잃게 됩니다. 그런 다음 VDO는 볼륨을 이동하기 전에 저장된 데이터에 대해 새로 작성된 데이터를 중복시킬 수 없으므로 공간 절약을 줄일 수 없습니다.
XFS DAX 마운트 옵션이 공유 COW(Copy-On-Write) 데이터 Extent와 호환되지 않음
공유 COW(Copy-On-Write) 데이터 Extent 기능으로 포맷화된 XFS 파일 시스템이 -o dax
마운트 옵션과 호환되지 않습니다. 그 결과 -o dax
와 파일 시스템 마운트에 실패합니다.
이 문제를 해결하려면 reflink=0
메타데이터 옵션을 사용하여 파일 시스템을 포맷한 뒤 공유 COW(Copy-On-Write) 데이터 Extent를 비활성화하십시오.
# mkfs.xfs -m reflink=0 block-device
그 결과 -o dax
를 사용한 파일 시스템 마운트에 성공합니다.
자세한 내용은 NVDIMM에서 파일 시스템 DAX 네임스페이스 생성을 참조하십시오.
(BZ#1620330)
특정 SCSI 드라이버는 때때로 과도한 양의 메모리를 사용할 수 있습니다.
특정 SCSI 드라이버는 RHEL 7에서보다 많은 양의 메모리를 사용합니다. HBA(Fibre Channel host bus adapter)에서 vPort 생성과 같은 특정 경우에는 시스템 구성에 따라 메모리 사용량이 과도할 수 있습니다.
증가된 메모리 사용량은 블록 계층의 메모리 사전 할당으로 인해 발생합니다. RHEL 8의 각 I/O 요청에 대해 다중 대기열 블록 장치 스케줄링(BLK-MQ) 및 다중 대기열 SCSI 스택(SCSI-MQ)을 미리 할당하면 메모리 사용량이 증가합니다.
(BZ#1733278)
5.5.14. 네트워킹
nftables
이 다차원 IP 집합 유형을 지원하지 않음
nftables
패킷 필터링 프레임워크가 연결 및 간격이 있는 집합 유형을 지원하지 않습니다. 그 결과, hash:net,port
와 같은 다차원 IP 집합 유형을 nftables
와 함께 사용할 수 없습니다.
이 문제를 해결하려면 다차원 IP 집합 유형이 필요한 경우 iptables
프레임워크를 ipset
툴과 함께 사용하십시오.
(BZ#1593711)
iptables-extensions(8)
도움말 페이지의 TRACE
대상은 nf_tables
변형을 참조하지 않습니다.
iptables-extensions(8)
도움말 페이지의 TRACE
대상에 대한 설명은 compat
변형만 참조하지만 RHEL(Red Hat Enterprise Linux) 8.0은 nf_tables
변형을 사용합니다. RHEL의 nftables
기반 iptables
유틸리티는 내부적으로 meta nftrace
표현식을 사용합니다. 따라서 커널은 커널 로그에 TRACE
이벤트를 출력하지 않지만 사용자 공간으로 보냅니다. 그러나 도움말 페이지는 이러한 이벤트를 표시하는 xtables-monitor
명령줄 유틸리티를 참조하지 않습니다.
RHEL 8은 스위치를 장기간 사용할 수 없는 후 802.3ad 본딩의 상태를 "Churned"로 표시합니다.
현재 802.3ad 네트워크 본딩을 구성하고 장기간 전환이 중단된 경우 Red Hat Enterprise Linux는 연결이 작동 상태로 복귀한 후에도 "Churned"로 본딩 상태를 올바르게 표시합니다. 그러나 "Churned" 상태는 상당한 링크 중단이 발생했음을 관리자에게 알리는 것을 목표로 하므로 이는 의도한 동작입니다. 이 상태를 지우려면 네트워크 본딩을 다시 시작하거나 호스트를 재부팅합니다.
(BZ#1708807)
ebtables
명령은 broute
테이블을 지원하지 않습니다.
Red Hat Enterprise Linux 8.0의 nftables
기반 ebtables
명령은 broute
테이블을 지원하지 않습니다. 따라서 사용자는 이 기능을 사용할 수 없습니다.
(BZ#1649790)
GRO가 비활성화되면 IPsec 오프로드 중에 IPsec 네트워크 트래픽이 실패합니다.
IPsec 오프로드는 장치에서 Generic Receive Offload (GRO)가 비활성화되면 작동하지 않을 수 있습니다. IPsec 오프로드가 네트워크 인터페이스에 구성되어 해당 장치에서 GRO가 비활성화되어 있는 경우 IPsec 네트워크 트래픽이 실패합니다.
이 문제를 해결하려면 장치에서 GRO를 사용하도록 설정해야 합니다.
(BZ#1649647)
NetworkManager 는 기본적으로 내부
DHCP 플러그인 사용
NetworkManager 는 내부
및 dhclient
DHCP 플러그인을 지원합니다. 기본적으로 RHEL(Red Hat Enterprise Linux) 7의 NetworkManager 는 dhclient
및 RHEL 8 내부
플러그인을 사용합니다. 특정 상황에서는 플러그인이 다르게 작동합니다. 예를 들어 dhclient
는 /etc/dhcp/
디렉터리에 지정된 추가 설정을 사용할 수 있습니다.
RHEL 7에서 RHEL 8으로 업그레이드하고 NetworkManager 가 다른 경우 /etc/NetworkManager/NetworkManager.conf
파일의 [main]
섹션에 다음 설정을 추가하여 dhclient
플러그인을 사용합니다.
[main] dhcp=dhclient
(BZ#1571655)
IPsec 기반 VPN
의 고급 옵션은 gnome-control-center
를 사용하여 변경할 수 없습니다.
gnome-control-center
애플리케이션을 사용하여 IPsec 기반 VPN
연결을 구성할 때 고급
대화 상자에는 설정만 표시되지만 변경할 수는 없습니다. 결과적으로 사용자는 고급 IPsec 옵션을 변경할 수 없습니다. 이 문제를 해결하려면 nm-connection-editor
또는 nmcli
툴을 사용하여 고급 속성 구성을 수행합니다.
/etc/hosts.allow 및 /etc/hosts.deny 파일에는 부정확한 정보가 포함되어 있습니다.
tcp_wrappers 패키지는 RHEL (Red Hat Enterprise Linux) 8에서 제거되지만 파일 /etc/hosts.allow 및 /etc/hosts.deny는 제거되지 않습니다. 결과적으로 이러한 파일에는 RHEL 8에는 적용되지 않는 오래된 정보가 포함되어 있습니다.
이 문제를 해결하려면 서비스에 대한 액세스를 필터링하는 방화벽 규칙을 사용합니다. 사용자 이름 및 호스트 이름을 기반으로 필터링하려면 애플리케이션별 구성을 사용합니다.
IP 조각 모음은 네트워크 트래픽 과부하 하에서 지속 가능한 일 수 없습니다.
Red Hat Enterprise Linux 8에서 가비지 컬렉션 커널 스레드가 제거되었으며 IP 조각은 시간 초과 시에만 만료됩니다. 그 결과 DoS(Denial of Service) 아래의 CPU 사용량이 훨씬 낮으며, 가능한 최대 조각울은 IP 리셀링 단위에 대해 구성된 메모리 양에 따라 제한됩니다. 패킷 드롭이 있을 때 조각화된 트래픽이 필요한 기본 설정 워크로드에서는 패킷 재주문 또는 많은 동시 분할 흐름이 관련 성능 회귀가 발생할 수 있습니다.
이 경우 사용자는 /proc/sys/net/ipv4
디렉터리에서 IP 조각화 캐시의 적절한 튜닝을 사용하여 ipfrag_high_thresh
변수를 설정하여 메모리 양을 제한하고 ipfrag_time
변수를 사용하여 메모리에 IP 조각을 유지할 수 있습니다. 예를 들면 다음과 같습니다.
echo 419430400 > /proc/sys/net/ipv4/ipfrag_high_thresh echo 1 > /proc/sys/net/ipv4/ipfrag_time
위의 내용은 IPv4 트래픽에 적용됩니다. IPv6의 경우 관련 튜닝 가능 항목은 /proc/sys/net/ipv6/
디렉터리에 있는 ip6frag _thresh
및 ip6frag_time
입니다.
고속 조각된 트래픽에 의존하는 모든 워크로드는 특히 패킷 드롭으로 안정성 및 성능 문제를 일으킬 수 있으며 이러한 종류의 배포는 프로덕션에서 좋지 않습니다.
(BZ#1597671)
RHEL 8에서 네트워크 인터페이스 이름이 변경됨
Red Hat Enterprise Linux 8에서는 기본적으로 RHEL 7과 동일한 일관된 네트워크 장치 이름 지정 스키마를 사용합니다. 그러나 e1000e
,nfp
,qede
,sfc
,tg3
및 bnxt_en
과 같은 일부 커널 드라이버는 RHEL 8의 새로운 설치에서 일관된 이름을 변경했습니다. 그러나 이름은 RHEL 7에서 업그레이드하는 데 유지됩니다.
5.5.15. 보안
libselinux-python
은 해당 모듈을 통해서만 사용 가능
libselinux-python
패키지에는 SELinux 애플리케이션 개발을 위한 Python 2 바인딩만 포함되어 있으며 이전 버전과의 호환성을 위해 사용됩니다. 이러한 이유로 dnf install
명령을 통해 기본 RHEL 8 리포지토리에서 더 이상 libselinux-python을 사용할 수 없습니다.
libselinux-python
이 문제를 해결하려면 libselinux-python
및 python27
모듈을 모두 활성화하고 다음 명령을 사용하여 libselinux-python
패키지 및 해당 종속 항목을 설치합니다.
# dnf module enable libselinux-python # dnf install libselinux-python
또는 단일 명령으로 install 프로필을 사용하여 libselinux-python
을 설치합니다.
# dnf module install libselinux-python:2.8/common
결과적으로 해당 모듈을 사용하여 libselinux-python
을 설치할 수 있습니다.
(BZ#1666328)
libssh
가 시스템 차원의 암호화 정책을 따르지 않음
libssh
라이브러리는 시스템 차원의 암호화 정책 설정을 따르지 않습니다. 그 결과, 관리자가 update-crypto-policies
명령을 사용하여 암호 정책 수준을 변경할 때 지원되는 알고리즘 세트가 변경되지 않습니다.
이 문제를 해결하기 위해 libssh
를 사용하는 모든 애플리케이션별로 공개된 알고리즘 세트를 각각 설정해야 합니다. 그 결과, 시스템을 LEGACY 또는 FUTURE 정책 수준으로 설정할 때 libssh
를 사용하는 애플리케이션이 OpenSSH
와 비교했을 때 일관성 없이 작동합니다.
(BZ#1646563)
특정 rsyslog
우선순위 문자열이 올바르게 작동하지 않음
암호화를 세부적으로 제어할 수 있는 imtcp
의 GnuTLS 우선순위 문자열 지원은 완료되지 않습니다. 결과적으로 다음 우선순위 문자열이 rsyslog
에서 제대로 작동하지 않습니다.
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+DHE-RSA:+AES-256-GCM:+SIGN-RSA-SHA384:+COMP-ALL:+GROUP-ALL
이 문제를 해결하려면 올바른 작동 우선 순위 문자열만 사용하십시오.
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+ECDHE-RSA:+AES-128-CBC:+SIGN-RSA-SHA1:+COMP-ALL:+GROUP-ALL
따라서 현재 구성이 올바르게 작동하는 문자열로 제한되어야 합니다.
성능에 대한 기본 로깅 설정의 부정적인 영향
기본 로깅 환경 설정에서는 4GB의 메모리를 사용하거나 rsyslog
를 사용하여 systemd-journald
를 실행할 때 rate-limit 값의 조정이 복잡할 수 있습니다.
자세한 내용은 RHEL 기본 로깅 설정의 성능 및 완화 기술 자료 문서를 참조하십시오.
(JIRA:RHELPLAN-10431)
OpenSCAP rpmverifypackage
가 올바르게 작동하지 않음
chdir
및 chroot
시스템 호출은 rpmverifypackage
프로브에 의해 두 번 호출됩니다. 그 결과, 사용자 지정 OVAL(Open Vulnerability and Assessment Language) 콘텐츠로 OpenSCAP 스캔 중에 프로브를 사용할 때 오류가 발생합니다.
이 문제를 해결하려면 rpmverifypackage_test
OVAL 테스트를 콘텐츠에서 사용하지 마십시오.또는 rpmverifypackage_test
가 사용되지 않은 scap-security-guide
패키지에서만 콘텐츠를 사용하십시오.
(BZ#1646197)
SCAP Workbench가 사용자 정의 프로파일에서 결과를 기반으로 한 수정을 생성하지 못함
SCAP Workbench 툴을 사용하여 사용자 정의된 프로파일에서 결과 기반 수정 역할을 생성하려고 할 때 다음과 같은 오류가 발생합니다.
Error generating remediation role .../remediation.sh: Exit code of oscap was 1: [output truncated]
이 문제를 해결하려면 --tailoring-file
옵션과 함께 oscap
명령을 사용하십시오.
(BZ#1640715)
Kickstart는 RHEL 8에서 com_redhat_oscap
대신 org_fedora_oscap
을 사용합니다.
Kickstart는 OSCAP(Open Security Content Automation Protocol) Anaconda 애드온을 com_redhat_oscap
대신 org_fedora_oscap
으로 참조하여 혼동을 일으킬 수 있습니다. 이는 Red Hat Enterprise Linux 7과의 이전 버전과의 호환성을 유지하기 위해 수행됩니다.
(BZ#1665082)
OpenSCAP rpmverifyfile
이 작동하지 않음
OpenSCAP 스캐너가 오프라인 모드에서 현재 작업 중인 디렉터리를 올바르게 변경하지 않으며 fchdir
함수가 OpenSCAP rpmverifyfile
프로브에서 올바른 인수와 함께 호출되지 않습니다. 그 결과, oscap-chroot
명령을 사용하여 임의의 파일 시스템을 스캔할 때 SCAP 콘텐츠에서 rpmverifyfile_test
가 사용되면 실패합니다. 따라서 설명된 시나리오에서 oscap-chroot
이 중단됩니다.
(BZ#1636431)
OpenSCAP
에서 가상 머신 및 컨테이너의 오프라인 스캔을 제공하지 않음
OpenSCAP
코드베이스를 리팩토링하면 특정 RPM 프로브에서 VM 및 컨테이너 파일 시스템을 오프라인 모드로 스캔하지 못했습니다. 따라서 다음 도구가 openscap-utils
패키지에서 제거되었습니다. oscap-vm
및 oscap-chroot
. 또한 openscap-containers
패키지가 완전히 제거되었습니다.
(BZ#1618489)
컨테이너 보안 및 준수 검사를 위한 유틸리티를 사용할 수 없음
Red Hat Enterprise Linux 7에서 oscap-docker
유틸리티는 Atomic 기술을 기반으로 한 Docker 컨테이너 스캔에 사용할 수 있었습니다. Red Hat Enterprise Linux 8에서는 Docker 및 Atomic 관련 OpenSCAP 명령을 사용할 수 없습니다. 그 결과, 현재 RHEL 8에서는 컨테이너 보안 및 준수 검사를 위한 oscap-docker
또는 이와 동등한 유틸리티를 사용할 수 없습니다.
(BZ#1642373)
OpenSSL TLS
라이브러리는 PKCS#11
토큰이 원시 RSA 또는
서명 생성을 지원하는지 감지하지 않습니다.RSA
-PSS
TLS-1.3
프로토콜에서는 RSA-PSS
서명을 지원해야 합니다. PKCS#11
토큰이 raw RSA
또는 RSA-PSS
서명을 지원하지 않는 경우, OpenSSL
TLS
라이브러리를 사용하는 서버 애플리케이션은 PKCS#11
토큰에 의해 보유되면 RSA
키로 작동하지 않습니다. 결과적으로 TLS
통신이 실패합니다.
이 문제를 해결하려면 TLS-1.2
버전을 사용 가능한 최고 TLS
프로토콜 버전으로 사용하도록 서버 또는 클라이언트를 구성합니다.
PKCS#11 장치와 RSA-PSS 인증서에 저장된 RSA 개인 키를 사용하는 경우 Apache httpd
가 시작되지 않습니다.
PKCS#11 표준은 RSA와 RSA-PSS 키 오브젝트를 구분하지 않으며 두 가지 모두에 대해 CKK_RSA
유형을 사용합니다. 그러나 OpenSSL은 RSA 및 RSA-PSS 키에 대해 다른 유형을 사용합니다. 결과적으로 openssl-pkcs11
엔진은 PKCS#11 RSA 키 오브젝트의 OpenSSL에 제공해야 하는 유형을 결정할 수 없습니다. 현재 엔진은 모든 PKCS#11 CKK_RSA
오브젝트에 대한 키 유형을 RSA 키로 설정합니다. OpenSSL이 인증서에서 얻은 RSA-PSS 공개 키 유형을 엔진에서 제공하는 RSA 개인 키 오브젝트에 포함된 유형과 비교하면 유형이 다른 것으로 간주합니다. 따라서 인증서와 개인 키가 일치하지 않습니다. X509_check_private_key()
함수에서 수행한 검사에서 이 시나리오에서 오류를 반환합니다. httpd
웹 서버는 시작 프로세스에서 이 함수를 호출하여 제공된 인증서와 키가 일치하는지 확인합니다. 이 검사는 RSA-PSS 공개 키와 PKCS#11 모듈에 저장된 RSA 개인 키가 포함된 인증서에 항상 실패하므로 httpd
는 이 설정 사용을 시작하지 못합니다. 이 문제에 대한 해결방법은 없습니다.
PKCS#11 장치에 저장된 해당 공개 키가 없는 ECDSA 개인 키를 사용하는 경우 httpd
가 시작되지 않습니다.
RSA 키와 달리 ECDSA 개인 키에는 공개 키 정보가 반드시 포함되어 있지 않습니다. 이 경우 ECDSA 개인 키에서 공개 키를 가져올 수 없습니다. 이러한 이유로 PKCS#11 장치는 공개 키 오브젝트인지 인증서 오브젝트와 관계없이 별도의 오브젝트에 공개 키 정보를 저장합니다. OpenSSL은 개인 키의 공개 키 정보를 포함할 수 있도록 엔진에서 제공하는 rfcP_PKEY
구조를 예상합니다. openssl-pkcs11
패키지의 엔진에서 공개 키 오브젝트만 가져오고 현재 인증서 오브젝트를 무시합니다.
OpenSSL이 엔진에서 ECDSA 개인 키를 요청하는 경우, 공개 키가 포함된 일치하는 인증서를 사용할 수 있더라도 공용 키가 PKCS#11 장치에 없는 경우 제공된 steps P_PKEY
구조에 공개 키 정보가 포함되지 않습니다. 그 결과 Apache httpd
웹 서버는 공용 키가 필요한 X509_check_private_key()
함수를 호출하므로 시작 프로세스에서 httpd
가 이 시나리오에서 시작되지 않습니다. 이 문제를 해결하려면 ECDSA 키를 사용할 때 개인 키와 공개 키를 PKCS#11 장치에 저장하십시오. 결과적으로 ECDSA 키가 PKCS#11 장치에 저장되면 httpd
가 올바르게 시작됩니다.
OpenSSH는 라벨이 일치하지 않는 키의 PKCS #11 URI를 올바르게 처리하지 않습니다.
OpenSSH 제품군은 라벨을 통해 키 쌍을 식별할 수 있습니다. 라벨은 스마트 카드에 저장된 개인 키와 공개 키에 따라 다를 수 있습니다. 그 결과 오브젝트 부분(키 레이블)을 사용하여 PKCS #11 URI를 지정하면 OpenSSH가 PKCS #11에서 적절한 오브젝트를 찾을 수 없습니다.
이 문제를 해결하려면 오브젝트 부분 없이 PKCS #11 URI를 지정합니다. 결과적으로 OpenSSH는 PKCS #11 URI를 사용하여 참조되는 스마트 카드에서 키를 사용할 수 있습니다.
(BZ#1671262)
iptables-ebtables
의 출력은 ebtables
와 100% 호환되지 않습니다.
RHEL 8에서는 ebtables
명령은 툴의 nftables
기반 재구축이 포함된 iptables-ebtables
패키지에서 제공합니다. 이 툴에는 다른 코드 베이스가 있으며 출력은 부정하거나 고의적 설계 옵션 중 하나 인 측면에서 분리됩니다.
결과적으로 일부 ebtables
출력을 구문 분석하는 스크립트를 마이그레이션할 때 다음이 반영되도록 스크립트를 조정합니다.
- MAC 주소 형식이 길이로 수정되었습니다. 필요한 경우 개별 바이트 값의 앞에 0을 포함시켜서 이 두 문자의 형식을 character 1개씩 유지 관리합니다.
- RFC 4291을 준수하도록 IPv6 접두사 형식이 변경되었습니다. 슬래시 문자 뒤에 있는 후행 부분에는 더 이상 IPv6 주소 형식의 넷마스크는 포함되지 않고 접두사 길이가 포함됩니다. 이 변경은 유효한(left-contiguous) 마스크에만 적용되지만 다른 항목은 이전 형식으로 인쇄됩니다.
curve25519-sha256
은 OpenSSH에서 기본적으로 지원되지 않습니다.
curve25519-sha256
SSH 키 교환 알고리즘은 기본 정책 수준을 준수하더라도 OpenSSH 클라이언트 및 서버의 시스템 전체 암호화 정책 구성에서 누락됩니다. 결과적으로 클라이언트 또는 서버에서 curve25519-sha256
을 사용하고 호스트에서 이 알고리즘을 지원하지 않는 경우 연결이 실패할 수 있습니다.
이 문제를 해결하려면 openssh.config 및 opensshserver.config 파일의 openssh.config
및 opensshserver.config
파일을 OpenSSH 클라이언트 및 서버의 /etc/crypto-policies/back-ends/
디렉터리에서 수정하여 시스템 차원의 암호화 정책 구성을 수동으로 재정의할 수 있습니다. 이 구성은 시스템 전체 암호화 정책의 모든 변경에 대해 덮어씁니다. 자세한 내용은 update-crypto-policies(8)
매뉴얼 페이지를 참조하십시오.
OpenSSL
은 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 PKCS #11 토큰을 잘못 처리합니다.
OpenSSL
라이브러리는 PKCS #11 토큰의 키 관련 기능을 감지하지 않습니다. 그 결과 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 토큰을 사용하여 서명이 생성될 때 TLS 연결을 설정하는 데 실패합니다.
이 문제를 해결하려면 /etc/pki/tls/openssl.cnf
파일의 crypto_policy
섹션 끝에 .include
행 뒤에 다음 행을 추가합니다.
SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384 MaxProtocol = TLSv1.2
결과적으로 설명된 시나리오에서 TLS 연결을 설정할 수 있습니다.
VMware 호스트 시스템과의 SSH 연결이 작동하지 않음
OpenSSH
제품군의 현재 버전에는 SSH 패킷의 기본 IP 품질(IPQoS) 플래그가 변경되어 VMware 가상화 플랫폼에서 올바르게 처리되지 않습니다. 따라서 VMware의 시스템과의 SSH 연결을 설정할 수 없습니다.
이 문제를 해결하려면 ssh_config
파일에 IPQoS=throughput
를 포함합니다. 이로 인해 VMware 호스팅 시스템의 SSH 연결이 올바르게 작동합니다.
자세한 내용은 SSH를 통해 SSH를 통해 다른 호스트 기술 솔루션 문서에 연결할 수 없는 VMWare Workstation에서 실행 중인 RHEL 8 을 참조하십시오.
(BZ#1651763)
5.5.16. 서브스크립션 관리
서비스 수준의
성공적인 설정 및 설정 해제에 대한 메시지가 인쇄되지 않음
Curve pin 서비스에 'syspurpose' 기능이 없는 경우 서브스크립션 관리자는 다른 코드 경로를 사용하여 서비스 수준
인수를 설정합니다. 이 코드 경로는 작업 결과를 출력하지 않습니다. 결과적으로 서브스크립션 관리자가 서비스 수준을 설정할 때 메시지가 표시되지 않습니다. 이는 서비스 수준
세트에 오타가 있거나 실제로 사용할 수 없는 경우 특히 문제가 됩니다.
syspurpose addons
는 subscription-manager attach --auto
출력에 영향을 미치지 않습니다.
Red Hat Enterprise Linux 8에서 syspurpose
명령줄 툴의 네 가지 속성( 역할
,사용법
,service_level_agreement
및 addons
)이 추가되었습니다. 현재는 role
,usage
및 service_level_agreement
만 subscription-manager attach --auto
명령의 출력에 영향을 미칩니다. addons
인수로 값을 설정하려는 사용자는 자동으로 연결된 서브스크립션에 영향을 미치지 않습니다.
5.5.17. 가상화
cloud-init 및 복제된 부팅이 매우 느리게 설정된 ESXi 가상 머신
현재 cloud-init
서비스를 사용하여 VMware ESXi 하이퍼바이저에서 실행되는 VM(가상 시스템)을 수정하여 고정 IP를 사용하고 VM이 복제되는 경우 일부 경우에 새로 복제된 VM이 재부팅되는 데 시간이 매우 오래 걸립니다. 이로 인해 cloud-init
에서 VM의 고정 IP를 DHCP에 다시 작성한 다음 사용 가능한 데이터 소스를 검색합니다.
이 문제를 해결하려면 VM이 처음 부팅된 후 cloud-init
를 제거할 수 있습니다. 결과적으로 후속 재부팅이 느려지지 않습니다.
(BZ#1666961, BZ#1706482)
중첩된 가상화 블록 활성화 실시간 마이그레이션
현재 중첩된 가상화 기능은 실시간 마이그레이션과 호환되지 않습니다. 따라서 RHEL 8 호스트에서 중첩 가상화를 활성화하면 VM(가상 머신)을 호스트에서 마이그레이션하고 VM 상태 스냅샷을 디스크에 절약할 수 있습니다.
중첩된 가상화는 현재 RHEL 8에서 기술 프리뷰로 제공되므로 지원되지 않습니다. 또한 중첩된 가상화는 기본적으로 비활성화되어 있습니다. 해당 모듈을 활성화하려면 kvm_intel.nested
또는 kvm_amd.nested
모듈 매개 변수를 사용합니다.
cloud-init
를 사용하여 Microsoft Azure에서 가상 머신 프로비저닝 실패
현재 cloud-init
유틸리티를 사용하여 Microsoft Azure 플랫폼에서 RHEL 8 가상 머신(VM)을 프로비저닝할 수 없습니다. 이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
-
cloud-init
대신WALinuxAgent
패키지를 사용하여 Microsoft Azure에 VM을 프로비저닝합니다. /etc/NetworkManager/NetworkManager.conf
파일의[main]
섹션에 다음 설정을 추가합니다.[main] dhcp=dhclient
(BZ#1641190)
2세대 RHEL 8 가상 머신은 Hyper-V Server 2016 호스트에서 부팅할 수 없는 경우가 있습니다.
Microsoft Hyper-V Server 2016 호스트에서 실행 중인 가상 머신(VM)에서 RHEL 8을 게스트 운영 체제로 사용하는 경우 경우에 따라 VM을 부팅하지 못하고 GRUB 부팅 메뉴로 반환되지 않습니다. 또한 다음 오류는 Hyper-V 이벤트 로그에 기록됩니다.In addition, the following error is logged in the Hyper-V event log:
The guest operating system reported that it failed with the following error code: 0x1E
이 오류는 Hyper-V 호스트의 UEFI 펌웨어 버그로 인해 발생합니다. 이 문제를 해결하려면 Hyper-V Server 2019를 호스트로 사용하십시오.
(BZ#1583445)
virsh iface-\*
명령이 일관되게 작동하지 않음
현재는 virsh iface-start
및 virsh iface-destroy
와 같은 virsh iface-*
명령이 구성 종속성으로 인해 자주 실패합니다. 따라서 호스트 네트워크 연결을 구성하고 관리하기 위해 virsh iface-\*
명령을 사용하지 않는 것이 좋습니다. 대신 NetworkManager 프로그램과 관련 관리 애플리케이션을 사용합니다.
(BZ#1664592)
Azure용 Linux 가상 머신 확장이 제대로 작동하지 않는 경우
RHEL 8에는 기본적으로 python2
패키지가 포함되어 있지 않습니다. 따라서 경우에 따라 RHEL 8 VM에서 azure-linux-extensions
라고도 하는 Azure용 Linux 가상 머신 확장을 실행하면 실패합니다.
azure-linux-extensions
가 예상대로 작동할 확률을 늘리려면 RHEL 8 VM에 수동으로 python2
를 설치합니다.
# yum install python2
(BZ#1561132)
5.5.18. 지원 관련 기능
redhat-support-tool
은 공개 사례에서
sosreport
를 자동으로 수집하지 않습니다.
redhat-support-tool
명령은 sosreport
아카이브를 생성할 수 없습니다. 이 문제를 해결하려면 sosreport
명령을 별도로 실행한 다음 redhat-support-tool addattachment -c
명령을 입력하여 아카이브를 업로드하거나 고객 포털에서 웹 UI를 사용합니다. 결과적으로 케이스가 생성되고 sosreport
가 업로드됩니다.
findkerneldebugs
,btextract
,analyze
diagnose
명령이 예상대로 작동하지 않으며 향후 릴리스에서 수정될 예정입니다.