IT/AWS

AWS EC2 포트포워딩 하는법 (에러포함)

binary? 2024. 5. 15. 12:35
728x90

AWS EC2 포트포워딩 하는법 (에러포함)

포트포워딩이란?

포트 포워딩은 외부에서 접속한 IP 주소와 포트 번호를 내부 호스트에 다시 매핑하는 것을 말합니다.

현재 가비아에서 구입한 도메인으로 접속하려면

http://binary96.store:8080 으로 해야 접속이됩니다.

현재 "http://binary96.store" 이거는 접속이 안되어 접속이 되도록 변경하려고 합니다.

http://binary96.store -> 포트번호가 생략된 것으로 http://binary96.store:80 이랑 같다고 보시면 됩니다.

http://binary96.store:80으로 접속했을 때

http://binary96.store:8080으로 접속하도록 연결해주는 작업을 포트포워딩이라고 합니다.

AWS EC2 인스턴스에 연결된 보안그룹 설정

본인이 설정할 보안그룹 ID를 클릭

없거나 새로 설정할 경우에는 보안그룹생성 클

인바운드 규칙 편집하여

아래 4개를 추가해줍니다.

80포트와 8080포트를 열어줍니다.

포트 포워딩 확인

sudo iptables -t nat -L --line-numbers

처음에 확인해보면 아무것도 설정 안되어 있을겁니다.

포트포워딩 설정

sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

설정 이후 다시 확인해보면 포트포워딩 설정이 잘 된것을 확인할 수 있습니다.

이렇게 설정하고 http://binary96.store 접속하여 잘 되는지 확인하시면 됩니다.

포트포워딩 삭제

잘못 설정하거나 해서 삭제할때는 아래와 같이 하시면 됩니다.

sudo iptables -t nat -D PREROUTING (지울번호) ex) sudo iptables -t nat -D PREROUTING 1

하지만 저 같은경우에는 아무리 해도 접속이 되질 않았는데요.

ifconfig 명령어로 확인해보면

enX0이라고 나오는게 있는데 이게 제가 사용중인 EC2의 네트워크 인터페이스라고 합니다.

위에서 포트포워딩 설정할 때 아래 명령어를 사용하였었는데요.

보시면 enX0으로 설정되어있습니다.

저는 enX0으로 설정해야 맞습니다.

// 저의 서버 환경에서 안되는 명령어 sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

그래서 기존 포트포워딩을 삭제하고 아래 명령어로 다시 설정하였습니다.

두개의 명령어 전부 적용되더라구요.

// 저의 서버 환경에서 되는 명령어 sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 sudo iptables -t nat -A PREROUTING -i enX0 -p tcp --dport 80 -j REDIRECT --to-port 8080

드디어 잘 되네요~~ zzz

728x90