네트워킹상에서 데이터 패킷의 유입을 한 포트에서 다른 포트로 연결해주는 것을 의미한다. 특히 공유기를 사용해 인터넷을 사용하는 경우 외부 ip와 내부 ip가 존재하게 된다.
현재 웹 서버인 80번 포트를 다른 포트 번호로 포워딩해주어야 한다.
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 80
해당 명령어는 현재 80번 포트를 다른 80번으로 매핑해주는 것을 의미한다.
sudo iptables -t nat -L --line-numbers
를 입력하면 현재 어떤 포트가 열려있는지 확인할 수 있다.
이 목록에서 가장 왼쪽의 번호를 기분으로 포워딩을 삭제할 수도 있다.
iptables -t nat -D PREROUTING 번호
다음 공유기에 대한 설정을 해주어야 한다.
공유기를 사용하고 있다면 다음과 같이 기본 게이트웨이를 확인할 수 있다.
접속하면 이렇게 확인할 수 있다.
LG U+를 사용하기 때문에 이렇게 나타나고 공유기마다 다른 페이지 모양이 나타난다.
여기서 패스워드는 공유기에 붙어있는 웹 암호를 의미하고
code는 하단의 이미지 캡쳐를 입력하면 된다.
네트워크 설정에서 NAT 설정
포트포워딩에 추가를 하면 된다.
이때 내부 IP 주소를 입력해야 하는데 이는 서버 PC의 내부 IP를 의미한다.
리눅스에서 내부 IP는 ifconfig
을 검색하면 찾을 수 있다.
내부 포트는 80으로 설정하고 추가를 누르면 이후에 외부에서는 서버 컴퓨터의 외부 IP로 접속할 수 있게 된다.
findip
외부 ip의 경우 다음과 같은 페이지에서 쉽게 찾을 수 있다.
DDNS를 설정하면 아주 쉽게 도메인을 등록할 수 있다.
✌ DDNS
Dynamic Domain Name System의 약자인 DDNS는 동적으로 실시간 갱신이 가능한 DNS를 의미한다. 유동적인 IP 주소를 통해 ip가 바뀌어도 도메인 값은 변경되지 않게 된다. 네이버의 경우 naver.com 이라는 도메인은 지금까지도 바뀐적이 없지만 IP를 여러 개 사용할수도 필요에 따라 변경할 수도 있다.
no-ip에 접속한다.
외부 ip와 함께 도메인을 만들고 난 다음
no-ip에서 만든 계정과 비밀번호, 도메인을 입력하면 된다.
📣 주의사항
물론 해당 공유기의 내부망(wifi나 같은 공유기 사용시)에 있을경우에는 내부 IP로 들어가야 한다. 호스트 도메인이 잘 작동하는지 확인하기 위해서는 외부망에서 접근해야한다. 즉 데이터를 활용해 도메인으로 들어가야 한다.
노트북을 사용해 웹 서버를 만들려고하니 아무래도 노트북을 켜놓아야 할텐데 계속 열려있는게 신경쓰여서 닫힌 상태에서도 계속 서버가 돌아갈 수 있도록 설정이 필요했다.
해당 파일에 접근해서 24번 문장을 변경해주면 간단하게 설정 가능!