본문 바로가기

컴퓨터/Linux

Fedora Core 8에서 리눅스 박스(라우터, 공유기) 만들기(Masquerade, DHCP 이용)

반응형

가정에서 2대 이상의 컴퓨터에 인터넷을 사용하기 위해 공유기, 윈도우를 사용한 인터넷 공유를 많이 사용합니다. 공유기는 설치만 하면 간단하게 여러 컴퓨터에서 인터넷을 사용할 수 있는 장점이 있고, 윈도우를 사용한 공유는 가지고 있는 장비만으로 두 컴퓨터 모두 인터넷을 사용할 수 있는 장점이 있습니다. 공유기는 공유기만 켜져 있으면 항상 인터넷이 가능하지만 윈도우를 사용한 공유는 원래 인터넷이 연결된 서버쪽 컴퓨터가 꺼지면 클라이언트쪽 컴퓨터는 인터넷을 사용할 수 없게 되죠. 그래서 서버쪽 컴퓨터를 항상 켜 놓아야 합니다.

저 같은 경우 웹서버의 필요성과 인터넷 공유의 필요성에 의해 리눅스박스에 자연스럽게 관심이 가게 되었습니다.
어차피 웹서버를 돌릴려면 24시간 컴퓨터는 켜져 있어야 되고 집에서 사용하는 컴퓨터가 보통 2대 이상이 되어 리눅스 박스까지 생각하게 되었습니다.

OS로는 Fedora Core 8 을 사용하였습니다. Masquerade만 사용해도 공유는 가능합니다. IP를 자동으로 할당 받을 수 있도록 하기 위해서 DHCP 서버도 설정을 햇습니다. 일일이 세팅하는 것이 귀차니즘으로 인해서... ^^;;;

일반적인 공유 도식


장비 : 서버 컴, 서버 컴 랜 카드 2개, 클라이언트 랜 카드 1개, 클라이언트 컴퓨터, 크로스랜케이블(서버와 클라이언트 바로 연결시) 허브(필요하신 분들만), 다이렉트랜케이블(허브를 사용하실 분)
컴퓨터가 총 2대라면 서버랑 클라이언트 연결하는 선은 크로스랜케이블을 사용하시면 됩니다.
저는 컴퓨터가 많아 허브와 다이렉트랜케이블을 사용 했습니다.

사용자 삽입 이미지


1. Masquerade
[root@localhost]# vi /etc/sysconfig/network
FORWARD_IPV4=yes 추가
[root@localhost]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 0 ⇒ net.ipv4.ip_forward = 1
[root@localhost]# cd /etc
[root@localhost etc]# vi rc.firewall_fedoraCore8
IP Masquerade Setting(http://www.e-infomax.com/ipmasq에 있는 것을 가지고 왔습니다.)
아래 내용을 다 넣어줍니다.
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe iptable_nat

#echo "1" > /proc/sys/net/ipv4/ip_forward
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr

# Clearing any existing rules and setting default policy
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -F INPUT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -F OUTPUT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F FORWARD
/sbin/iptables -t nat -F

# Allow all connections OUT and only existing and related ones IN
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

#Enabling SNAT (MASQUERADE) functionality on eth0
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

저장을 해 주시구요.
 

부팅때마다 실행 될 수 있도록 아래와 같이 해 줍니다.

[root@localhost etc]# chmod 700 /etc/rc.firewall_fedoraCore8
[root@localhost etc]# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/etc/rc.firewall_fedoraCore8 추가

2. DHCPD 세팅
1) 먼저 방화벽을 열어 UDP 67, 68 포트를 열어 줍니다.

2) /etc/dhcpd.conf 파일 세팅

[root@localhost etc]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf
[root@localhost etc]# vi /etc/dhcpd.conf

ddns-update-style interim;
ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway
       option routers                  192.168.1.1;
       option subnet-mask              255.255.255.0;

#       option nis-domain               "domain.org";
#       option domain-name              "domain.org";
       option domain-name-servers      168.126.63.1, 168.126.63.2,  61.41.153.2;

        option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              192.168.1.1;
#       option netbios-name-servers     192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;

      range dynamic-bootp 192.168.1.2 192.168.1.254;
        default-lease-time 21600;
        max-lease-time 43200;

        # we want the nameserver to appear at a fixed address
#       host ns {
#               next-server marvin.redhat.com;
#               hardware ethernet 12:34:56:78:AB:CD;
#               fixed-address 207.175.42.254;
#       }
}

위와 같이 세팅 후 dhcpd 데몬이 부팅시 활성화 되도록 세팅을 바꾸어 준 후, 리부팅 합니다.
그리고 클라이언트에서는 아래와 같이 "자동으로 IP 주소 받기"와 "자동으로 DNS 서버 주소 받기"를 체크합니다.

윈도우 클라이언스에서 TCP/IP 세팅

아이피를 제대로 받아 오는지 클라이언트 컴퓨터에서 확인해 봅니다. 시작-실행-cmd(또는 command) 넣은 후 ipconfig 명령을 통해 확인해 봅니다.

사용자 삽입 이미지

ipconfig를 이용한 아이피 확인



아이피를 잘 받아 오면 인터넷이 잘 되는지 확인해 봅니다. ^^

처음에 정말 인터넷에서 자료를 뒤져서 세팅을 바꾸어 가면서 설정을 했습니다. 아직 초보 수준이라 자세한 내용과 상세한 내용은 알지 못 하지만 조금이라도 도움이 되었으면 하는 마음에 올려 봅니다. ^^;;;

반응형