[Linux] 일반사용자 80포트 사용 (iptables)
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
