ISMS 후속 조치를 위해 OpenVPN-AS(Access Server)를 수정하던 중에 버전 업데이트가 많이 되었길래 업데이트를 했었다. 다음에도 참고할 수 있게 본 글에 정리한다.
VPN 서버 환경
- OS: Rocky Linux 9.7 x64
- CPU: 1 core
- RAM: 2GB
- SSD: 40GB
패키지 설치 가능여부 확인
아래의 명령어를 터미널에 입력하여 OpenVPN-AS 3.2.1 패키지가 설치가능한 상태인지 확인한다.
sudo su -
dnf clean all
dnf makecache
dnf list --showduplicates openvpn-as | grep 3.2.1

설정 백업
기존 설정을 백업하기 위해 sqlite를 설치한다.
sudo -i
dnf -y install sqlite
아래의 명령어를 입력하여 기존 설정을 백업한다.
BACKUP_DIR="/root/openvpn-as-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"
cd /usr/local/openvpn_as/etc/db
[ -e config.db ] && sqlite3 config.db .dump > "$BACKUP_DIR/config.db.bak"
[ -e certs.db ] && sqlite3 certs.db .dump > "$BACKUP_DIR/certs.db.bak"
[ -e userprop.db ] && sqlite3 userprop.db .dump > "$BACKUP_DIR/userprop.db.bak"
[ -e log.db ] && sqlite3 log.db .dump > "$BACKUP_DIR/log.db.bak"
[ -e config_local.db ] && sqlite3 config_local.db .dump > "$BACKUP_DIR/config_local.db.bak"
[ -e cluster.db ] && sqlite3 cluster.db .dump > "$BACKUP_DIR/cluster.db.bak"
[ -e notification.db ] && sqlite3 notification.db .dump > "$BACKUP_DIR/notification.db.bak"
cp /usr/local/openvpn_as/etc/as.conf "$BACKUP_DIR/as.conf.bak"
tar czf "${BACKUP_DIR}.tar.gz" -C /root "$(basename "$BACKUP_DIR")"
ls -lh "${BACKUP_DIR}.tar.gz"

아래의 명령어를 입력하여 설정 파일을 백업한다.
CHECK_DIR="/root/openvpn-as-precheck-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$CHECK_DIR"
cat /etc/rocky-release > "$CHECK_DIR/os-release.txt"
uname -r > "$CHECK_DIR/kernel.txt"
rpm -qa | grep -E 'openvpn-as|kmod-ovpn' > "$CHECK_DIR/packages.txt" || true
/usr/local/openvpn_as/scripts/sacli Version > "$CHECK_DIR/sacli-version.txt"
cat /usr/local/openvpn_as/etc/VERSION > "$CHECK_DIR/version-file.txt"
systemctl status openvpnas --no-pager > "$CHECK_DIR/openvpnas-status.txt" || true
/usr/local/openvpn_as/scripts/sacli ConfigQuery > "$CHECK_DIR/config-query.txt"
nft list ruleset > "$CHECK_DIR/nft-ruleset.txt" 2>/dev/null || true
iptables-save > "$CHECK_DIR/iptables-save.txt" 2>/dev/null || true
tar czf "${CHECK_DIR}.tar.gz" -C /root "$(basename "$CHECK_DIR")"
ls -lh "${CHECK_DIR}.tar.gz"

OpenVPN-AS 3.2.1 설치
아래의 명령어를 입력하여 OpenVPN-AS를 3.2.1 버전으로 설치한다.
dnf install -y openvpn-as-3.2.1_d0affc91-1.el9.x86_64

아래의 명령어를 입력하여 OpenVPN-AS 3.2.1이 잘 설치됐는지 확인한다.
rpm -qa | grep openvpn-as
/usr/local/openvpn_as/scripts/sacli Version
cat /usr/local/openvpn_as/etc/VERSION
systemctl status openvpnas --no-pager

OpenVPN-AS 3.2.1 관리자 웹으로 가서 정상적으로 설치됐는지 아래의 사진처럼 확인한다.

DCO 활성화
필수는 아니지만 DCO(Data Channel Offload)를 활성화 하면 VPN 처리 성능을 높일 수 있다. DCO는 VPN 데이터 암호화 및 패킷 처리를 사용자 공간(User Space)에서 커널 공간(Kernel Space)으로 이동시켜 속도를 높이고 CPU 및 메모리 오버헤드를 줄여주는 기술이다.
OpenVPN-AS 3.1.0에서 DCO 관련 패키지를 설치하고 활성화했다고 해도 3.2.1에서 사용하는 패키지 명칭이 다르기에 다시 구성해야 한다. 아래의 명령어를 입력하여 DCO 관련 패키지를 설치한다.
dnf install -y kmod-ovpn

아래의 명령어를 입력하여 DCO 설정을 활성화한다음 OpenVPN-AS를 재시작한다.
modprobe ovpn
lsmod | grep ovpn
systemctl restart openvpnas

아래의 화면처럼 DCO 정보가 나타나면 DCO 활성화가 잘 된 것이다.

'웹 서버, WAS, 미들웨어 > OpenVPN' 카테고리의 다른 글
| OpenVPN-AS 인터넷 차단 정책 설정 (0) | 2026.06.30 |
|---|---|
| OpenVPN Access Server 에 DCO를 설정하자 (0) | 2026.06.29 |
| OpenVPN Access Server 3.2 출시 및 변경점 정리 (0) | 2026.06.08 |
| OpenVPN Access Server 디버그 및 로그 확인하는 방법 (0) | 2026.03.25 |
| OpenVPN Access Server가 사용하는 포트를 명령어로 변경하는 방법 (0) | 2026.03.18 |
댓글