2. 요약 : (필자는 요약을 먼저 하는 것을 선호한다)

외부 랜카드는 eth0, 외부 IP는 123.12.23.43, 그리고 내부 랜카드는 eth1라고 가정한다면:

$> modprobe ipt_MASQUERADE # 만약 실패하더라도 다음을 계속하시오.
$> iptables -F; iptables -t nat -F; iptables -t mangle -F
$> iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 123.12.23.43
$> echo 1 > /proc/sys/net/ipv4/ip_forward

Dial-up 연결의 경우:

$> modprobe ipt_MASQUERADE # 만약 실패하더라도 다음을 계속하시오. 
$> iptables -F; iptables -t nat -F; iptables -t mangle -F
$> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
$> echo 1 > /proc/sys/net/ipv4/ip_forward

그리고 보안을 위해:

$> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$> iptables -A INPUT -m state --state NEW -i ! eth0 -j ACCEPT
$> iptables -P INPUT DROP  # 위의 두 줄이 성공했을 경우에만
$> iptables -A FORWARD -i eth0 -o eth0 -j REJECT

Dial-up 연결의 경우 (eth0을 내부랜카드로 이용시):

$> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$> iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
$> iptables -P INPUT DROP  # 위의 두 줄이 성공했을 경우에만
$> iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT

끝이다! "iptables -t nat -L"로 규칙을 볼 수 있다.