HTML 태그
스타일시트 사용법
메타태그 사용법
특수문자 코드표
HTML 색상표
리눅스팁 모음

IP Masquerade/NAT 설정 방법
1. 네트워크 구성도


2. 다음 명령어를 실행시킨다.

# 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

[설명] iptable과 masq 모듈이 커널에 컴파일, 설치가 되지 않았지만 모듈로만 존재하는 경우, 설치한다. mangle이란 테이블이 없다고 하더라도 걱정하지 말고 진행한다. 그리고 마지막으로 커널에 확답을 주기 위해, 패킷포워딩을 한다 (매 리부팅시 한번만 실행하면 되지만, 여러번 해도 상관없다).

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

2. 그리고 보안을 위해 다음 설정을 추가한다.

# 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

[설명] 먼저, 모든 연결을 허락한다. 그리고나서 인트라넷(로컬, 내부 네트워크)으로부터의 새로운 연결만 허락한다(!은 not의 뜻). 마지막으로 다른 모든 연결은 막는다.

Dial-up 연결의 경우에는 다음과 같이 한다.

# 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

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

5. 다음과 같이 filter를 설정하여 불필요한 서비스의 이용을 막는다.

# iptables -P FORWARD ACCEPT
# iptables -A FORWARD -p tcp -m tcp --dport 80 -j ACCEPT
# ....
# ....
# ....
# iptables -A FORWARD -p tcp -m tcp --dport 1:65535 -j REJECT

☜ 이전 페이지로