인터넷 공유기는 대부분 linux를 OS로 사용한다.
조그마한 플래쉬메모리에 리눅스 커널을 최대한 컴팩트하게 빌드해서 제품으로 팔고 있다.
즉, 리눅스의 특정 기능을 사용하면 인터넷 공유기와 같은 기능을 할 수 있다는 것이다.
그 기능이 바로 iptables라는 프로그램을 사용하는 것이다.
iptables을 Linux에서 사용하는 방법은 다음과 같이 하면 된다.
예제)
IP공유용 리눅스 머신에서 다음과 같이 설정.
외부에서 사용하는 IP : [공인IP]
내부에서 사용하는 IP : 192.168.0.X
외부에서 접근하는 port : 80,21,22
외부인터넷 랜카드 : eth0
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to [공인IP]
/sbin/iptables -t nat -A PREROUTING -p tcp -d [공인IP] --dport 80 -j DNAT --to 192.168.0.3:80
/sbin/iptables -t nat -A PREROUTING -p tcp -d [공인IP] --dport 21 -j DNAT --to 192.168.0.4:21
/sbin/iptables -t nat -A PREROUTING -p tcp -d [공인IP] --dport 22 -j DNAT --to 192.168.0.3:22
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -j ACCEPT
iptables는 커널 2.3.15이상 부터 지원된다. 현재는 커널 2.6이 거의 주류를 있으므로, 그냥 위 명령을 실행하면 리눅스 머신이 IP를 공유할 수 있게 해줄것이다.
자세한 iptables의 설명은 man iptables하면 확인할 수 있다.
'공부하고(?)' 카테고리의 다른 글
PCI,PCI-X,PCI-E 전송속도와 구분 (0) | 2012.10.11 |
---|---|
파티션 복구하기 (4) | 2012.10.11 |
IP 주소별 용도 구분 (0) | 2012.08.11 |
Mac OSX 시작프로그램 많아졌을때, 지우는 법. (0) | 2011.08.21 |
인텔 CPU를 사용하는 일반 PC에서 OSX를 설치하는 법. 일명 해킨토시(?) (0) | 2011.08.20 |