하다가 모르는 용어들을 정리하고 있다.
도커의 경우 dhcp dns NAT 이해 blog NAT and PAT
2. NAT
NAT : Network Address Translation
공유기 == 라우터 == 게이트웨이
ipv6의 경우 ip의 수가 무한에 가깝고, end to end 연결을 이용하기 때문에 NAT이 필요하지 않다.
보안과 ip주소 절약이 가능하다.
PAT$($NAPT$)$ : 포트를 설정하여 패킷을 구분함. 같은 공유기에서 나온 서로다른 기기가 같은 ip로 접근한다면, 포트로 구분 해야 함.
ipv4 ipv6
주소 할당 방식에 따른 NAT 분류 StaticNAT : external ip와 internal ip가 1대1매칭. 하나의 서버가 여러 역할을 할 때, 포트포워딩 목적
DynamicNAT : external ip가 internal ip보다 많은 경우
PAT$($NAPT$)$ : external ip 1개에 internal ip 여러개가 매칭.
internal host에 포트 번호를 지정하여 해당 포트 번호를
internal ip external ip
1
ifconfig:리눅스용 vs ipconfig: window용
ip의 열려있는 port 확인하는 법
1
2
3
netstat -tnlp
nmap www.google.com
nmap 0.0.0.0
결과
1
2
3
4
5
6
7
8
9
10
Host is up (0.00055s latency).
Not shown: 993 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp closed http
443/tcp closed https
3389/tcp closed ms-wbt-server
8000/tcp open http-alt
8080/tcp closed http-proxy
12000/tcp closed cce4x
외부 아이피 확인
1
curl ifconfig.me
내부 아이피 확인
1
ifconfig
포트 포워딩 예시
linux에서는 1000번 때 이하의 포트는 관리자 권한이 있어야 binding 할 수 있다.
root가 아닌 user 계정으로 포트 포워딩을 하면 다음과 같이 가능하다.
포트 열기
1
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
포트 닫기
1
iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
1
iptables -t nat -L
Comments