iptables를 사용한 인터넷 공유설정
iptables -t nat -A POSTROUTING -s 10.7.0.0/24 -o eth0 -j MASQUERADE |
-s 뒤에 오는 것은 소스IP 의 대역입니다.(공유된 인터넷을 사용할 내부 IP)
-o 뒤에 오는 eth0 은 실제 인터넷에 연결된 이터넷 장치 입니다.
위 예문은 10.7.0.0 의 IP 대역으로 부터의 패킷을 etho 으로 -j 점프(?) 시킨다 입니다.
(로컬 IP대역은 각자 상황에 맞게 수정하여야 합니다.)
-s 뒤에 /24 는 서브넷 마스크 255.255.255.0 을 의미 합니다.
왜 24 라는 숫자가...?
서브넷 마스크(255.255.255.0)를 2진수로 풀어내면 아래와 같이 됩니다.
255 |
255 |
255 |
0 |
11111111 |
11111111 |
11111111 |
00000000 |
여기서 1의 갯수가 총 24개 !! 바로 이것입니다.
1이 1개 더 증가해서
11111111.11111111.11111111.10000000 이라면
서브넷 마스크 는
255.255.255.128 이 되겠군요...
이렇게 했는데 그런데 안되쟎...?
제 경우 ipv4_forwarding 설정이 0 이어서 안된 경우가 있었습니다. 덕분에 리눅스 재설치 까지 해가며 삽질을...;;
ipv4_forwarding 설정을 확인 하시고, 1로 설정한 후 네트워크 서비스를 재시작 하였더니 바로 잘 동작하였습니다.
ipv4_forwarding설정 방법
http://haebi.kr/entry/ipv4forwarding-확인-및-설정