질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

nat 환경에 dns 구현하기....^^

작성자 정보

  • 박찬주 작성
  • 작성일

컨텐츠 정보

본문

=============================================================================

이 번 렙은 nat 환경에 dns 서버를 넣고,

내부와 외부의 포워딩을 가능 하도록 선언 하는 lab 입니다.

실제 환경에서 nat를 L3 스위치로 구현 하고 있지만,

리눅스로 그와 유사한 환경과 포트 포워딩과 nat의 동작 원리를 이해 하는 데 필요한

lab 이라고 생각 됩니다.

============================================================================

 

nat (network address transration)

        -ip주소 부족을 해결하고,  보안을 위하여 내부 사설 내트워크 망을

         구성한다.

        종류로는 static nat(혹은 destination nat ), dynamic nat 가 있다.


nat & dns

LAB1. --- NAT 안에 DNS 서버를 넣어두고 사설 도메인 메핑 하기.

                                                

        |gateway( 210.112.233.1)

        |

        |      

 --------------------------------------------------

        |eth0                  |

        |(210.112.233.215)     | eth0:0 ( 192.168.0.1)

        |                      |gw: 210.112.233.215

        |                      |

 --------------------------------------------------

                                |

                                |

                --------------------------------

                |                                      |

                |eth0(192.168.0.2)                     |

                dns                                    client


1).가상 lan 선언


/etc/sysconfig/network-scripts  이동

cp ifcfg-eth0 ifcfg-eth0:0



여기서 eth0:0는 가상 랜카드이다.


[root@panic-LINUX network-scripts]# cat ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=210.112.233.215

NETMASK=255.255.255.0

GATEWAY=210.112.233.1

[root@panic-LINUX network-scripts]#



[root@panic-LINUX network-scripts]# cat ifcfg-eth0:0

DEVICE=eth0:0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.1

NETMASK=255.255.255.0

GATEWAY=192.168.1.254

[root@panic-LINUX network-scripts]#


/etc/rc.d/init.d/network restart



가상 랜 선언 끝


2) 네트워크 환경에 맞게 setting


        |gateway( 210.112.233.1)

        |

        |      

 --------------------------------------------------

        |eth0                  |

        |(210.112.233.215)     | eth0:0 ( 192.168.1.1)

        |                      |gw: 210.112.233.215

        |                      |

 --------------------------------------------------

                                |

                                |


[root@panic-LINUX network-scripts]# cat ifcfg-eth0:0

DEVICE=eth0:0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.1

NETMASK=255.255.255.0

GATEWAY=210.112.233.215



3) iptables -t nat -A POSTROUTING -j SNAT --to 210.112.233.215(서버의 ip주소)

        -------- nat 라우팅 선언영역(table)

        -------- A   --append ( rule 선언 옵션)

        -------- POSTROUTING  (snat 선언 chains)

        -------- j (jump동작옵션)

        --------to (목적지 ip, 정확한 표현식으론 --to-destination)

   iptab les -t nat -A POSTROUTING -j MAS

                                MASQUERADE


[root@panic-LINUX ~]# iptables -t nat -L

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination        


Chain POSTROUTING (policy ACCEPT)

target     prot opt source               destination        

SNAT       all  --  anywhere             anywhere            to:210.112.233.215


Chain PREROUTING (policy ACCEPT)

target     prot opt source               destination        

[root@panic-LINUX ~]#


4) /proc/sys/net/ipv4/ip_forward 

        -- 리눅스는 기본적으로 서로 다른 ip대역에 대한 통신을 기본적으로 차단 하고 있다.

            아래 부분 처럼 기본 값이 0으로 셋팅 되어 있어서 내부 네트워크 통신이 불가능 하다.

            그래서 1 값으로 수정하여 준다.


[root@panic-LINUX ~]# cat /proc/sys/net/ipv4/ip_forward

0

[root@panic-LINUX ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

[root@panic-LINUX ~]# cat /proc/sys/net/ipv4/ip_forward

1

[root@panic-LINUX ~]#



rpm대해서...

--rpm 이란 redhat package manager 

        자동 인스톨 패키지 입니다.


rpm 옵션...

 rpm {-q|--query} [select-options] [query-options]

        -a

        -l


[root@panic-LINUX ~]# rpm -qa | more

libgcc-4.0.0-8

basesystem-8.0-5

glibc-2.3.5-10

[root@panic-LINUX ~]# rpm -qa bind

bind-9.3.1-4

[root@panic-LINUX ~]# rpm -qa | grep bind

bind-utils-9.3.1-4

bind-chroot-9.3.1-4

bind-libs-9.3.1-4

bind-9.3.1-4

ypbind-1.17.2-5

[root@panic-LINUX ~]# rpm -ql bind | more

/etc/logrotate.d/named

/etc/rc.d/init.d/named

/etc/rndc.conf

/etc/rndc.key

/etc/sysconfig/named

/usr/sbin/dns-keygen

/usr/sbin/dnssec-keygen

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,074 명
  • 현재 강좌수 :  35,995 개
  • 현재 접속자 :  359 명