아래로 당겨서 새로고침

[Linux] 일반사용자 80포트 사용 (iptables)

date
Oct 18, 2024
thumbnail
images.png
gsc
In progress
public
public
slug
linux-80-port
author
tags
OS
summary
root 권한이 아닌 일반 계정으로 80포트를 사용해보자
type
Post
updatedAt
Feb 5, 2025 12:04 AM
 

Introdution

일반 계정으로 80포트를 사용할 수 있도록 적용해본다.
기본적으로 리눅스에서 1024번 보다 낮은 포트는 root 권한이 아니면 사용할 수 없다. authbind, SystemD 등 다른 방법도 존재하지만 간단하게 iptables 명령어를 사용해 80 → 8080 으로 리다이렉트 하는 방법을 설명한다. ⚠️일반 계정이라면, root 계정 혹은 sudo 그룹의 준비가 되어있어야 한다.
 

설정 방법

iptables 명령어 사용

iptables 명령어를 통해 80 포트를 8080으로 리다이렉트 하는 명령어
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 # 80 포트의 요청을 받는 경우 8080로 리다이렉트 처리 # 443 포트를 요청받으면 8443 등으로 사용가능하다.
  • -t nat: NAT(Network Address Translation) 테이블을 사용
  • -A PREROUTING: 요청이 네트워크 인터페이스에 도달했을 때 PREROUTING 체인에 규칙을 추가
  • -p tcp: TCP 프로토콜을 대상으로 설정
  • --dport 80: 80번 포트를 대상으로 설정
  • -j REDIRECT: 요청을 리다이렉트
  • --to-port 8080: 8080 포트로 연결

적용 후 확인

iptables에 추가된 규칙을 확인하려면 다음 명령어를 사용한다:
iptables -t nat -L -n -v
출력 결과에 PREROUTING 체인에 추가된 규칙이 표시되면 설정이 성공적으로 적용된 것이다.
 
# 출력 예시 Chain PREROUTING (policy ACCEPT 1656 packets, 194K bytes) pkts bytes target prot opt in out source destination 0 0 REDIRECT 6 -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 8080 47 2444 REDIRECT 6 -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 8080
 

서비스 실행

이제 일반 사용자 권한으로 실행된 8080번 포트 애플리케이션에서도 80번 포트로 접속이 가능하다.
🙂 적용 후에도 접속이 안되는 경우 방화벽 확인을 해보자
 

설정 영구화 (옵션)

재부팅 시 iptables 설정은 기본적으로 초기화되므로 설정을 유지하도록 한다.
iptables-save
  • iptables-save 사용하여 설정을 저장한다.

마무리

리눅스 환경에서 계정 권한 관리를 진행하다. 경험해보지 못했던 상황을 해결하고 짧지만 정리해본다. ✍🏻
 

긴 글 읽어주셔서 감사합니다.
오탈자 및 내용 피드백은 언제나 환영합니다.

#OS