리눅스 Firewall NAT
특정 포트에 허용
방법
R1)
router ospf 1
network 192.168.20.0 0.0.0.255 area 0
network 1.1.12.0 0.0.0.255 area 0
default-information originate always
Firewall)
# setup -> Firewall Configuration (enabled)
# vi /etc/sysconfig/iptalbes
// 필요없는 문장들 삭제
# iptables -P FORWARD DROP
// 기본 정책 설정
# iptables -A FORWARD -s 192.168.30.1 -p tcp --dport 80 -j ACCEPT
# iptables -A FORWARD -s 192.168.40.1 -p tcp --dport 80 -j ACCEPT
# iptables -A FORWARD -s 192.168.40.2 -p tcp --dport 23 -j ACCEPT
# iptables -A FORWARD -m state —state ESTABLISHED,RELATED -j ACCEPT
# vi /etc/sysconfig/iptables
# service iptables save
# vi /etc/sysctl.conf
7행) net.ipv4.ip_forward = 1로 고치기
# /sbin/sysctl -p
NAT (Network Address Translation)
- NAT Table : 들어오는 패킷을 다른 포트나 다른 호스트 서버로 라우팅 하는 역할
- SNAT(Source Netwrok Address Tanslation) : 사설IP -> 공용IP
POSTROUTING or MASQUERADE
- SNAT는 하나의 IP를 공유하여 여러 호스트들이 인터넷 통신을 가능하게 해주는 방식이다. 기본적으로 출발지 주소를 변경하는 방법으로 동작을 한다.
SNAT는 nat 테이블에 있는
POSTROUTING chain
에서만 의미가 있다.- DNAT(Destination Network Address Translation) : 공용 IP → 사설 IP
PREROUTING
- DNAT의 기능은 위에도 설명했다시피 목적지 주소를 변경하는 것이다. NAT 서버 뒤에 웹서버나 FTP, 메일 서버를 운영하여야 할 때에는 SNAT를 사용해서는 접속을 할 수가 없다.
- DNAT는 nat 테이블에 있는
PREROUTING
또는OUTPUT
에서만 의미가 있다. DNAT를 설정시 NAT 테이블 설정 → filter 테이블의 FORWARD 설정 순으로 한다.
- REDIRECT 타켓
- 특별한 DNAT의 예로서 SNAT나 DNAT와 달리 패킷을 다른 서버의 특정 포트로 포워딩하지 않고
자기 자신(localhost)
의 다른 포트로 포워딩할 때 사용한다. - REDIRECT는 nat 테이블에 있는
RPEROUTING
또는OUTPUT
에서만 의미가 있다.
iptable_NAT (POSTROUTING)
방법
Firewall)
iptables -A POSTROUTING -t nat -s 192.168.10.0/24 -j MASQUERADE
iptables -nL -t nat
service iptables save
service iptables restart
# vi /etc/sysconfig/iptables
iptable_NAT (PREROUTING)
방법
Firewall)
서비스(포트)에 따라서 IP주소를 다르게 할당하기 위해서 Firewall 랜카드를 추가해야 함.
192.168.20.110, 192.168.20.120 을 추가
# iptables -A PREROUTING -t nat -d 192.168.20.110 -p tcp --dport 80 -j DNAT
--to-destination 192.168.10.1
# iptables -A PREROUTING -t nat -d 192.168.20.120 -p tcp --dport 23 -j DNAT
--to-destination 192.168.10.2
결과
LA5)
LB5)
iptables_NAT
방법
LB5, LC5, LD5)
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
ONBOOT=yes
HWADDR=00:50:00:00:02:00
Firewall)
# ifconfig | more
# vi /etc/sysconfig/iptables