공인ip
(고유한 값)가 필요하다.사설ip
주소로 구분하게 된다.http
웹 서버 80번 포트로 접근을 하고자 한다면사설ip
는 중복되기 때문에 외부에서는 접근할 수 있는 방법이 없다.공인ip
를 통해 컴퓨터 1번에 접근할 수 있도록 연결해주어야 한다.포트포워딩(port forwarding)
이다.$ curl ifconfig.me
우리는 http 프로토콜을 통해 80번 포트로 들어오는 인터넷을
컴퓨터 1번의 80번 포트로 연결해주고자 한다.
보안 상의 이유로 포트번호를 임의로 지정하기도 하지만,
일단 그대로 80번을 사용해보고자 한다.
$ su
입력 후, 패스워드를 쳐 주면 된다.
# iptables -t nat -L --line-numbers
현재 설정되어있는 상태를 확인할 수 있다.
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 80
# iptables -t nat -D PREROUTING {num 숫자}
-line-numbers
옵션을 주고 조회를 하면 num
값이 나오게 되는데이 때의 번호로 삭제해주면 된다.
# sudo apt install iptables-persistent
# sudo netfilter-persistent save
//// 또 다른 방식 실행전 iptables-persistent 가 설치되어있는지 확인하자..dpkg -l | grep iptables-persistent
설치되어 있지않다면 설치부터 하자..sudo apt install iptables-persistent netfilter-persistent
아래내용을 순서대로 명령차에 넣어준다.. 예제에는 80과 443만 열었음..# 80번 포트 개방 http
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
# 443번 포트 개방 https
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
# 재부팅시에도 적용 되도록 저장
sudo netfilter-persistent save
# 리로드
sudo netfilter-persistent reload
아래의 명령으로 입력해서 포트가 개방되었는지 확인하자..# 개방된 포트 확인
sudo iptables -L