1. 서 론

기본적으로 여기선 페도라코어5 에서 했던 내용으로 하겠습니다.

커널 2.6 버전에는 기본적으로 bridge 가 포함되어 있기 때문에 2.4.X 대의 버전을

사용하던 사람들처럼 커널을 새로 컴파일 할 필요가 없습니다.

2.6 이상의 커널버전이라고 하면 페도라코어3 이상의 버전이면 가능합니다.

우분투를 쓰네 어쩌네 하면 모릅니다... 전 페도라 매니아 ㅡㅡ;;;

쓰기 편하더군요 자료도 많은 것 같고... 뭐 암튼 여기까지.. 하고!!!


2. Bridge , Firewall

브릿지라.. 함은... 뭐 네이버 지식검색해 보세요.... 말 그대로 이어주는 거죠.. 다리처럼..

방화벽이라.. 함은... 역시나 검색해 보세요... 막는거죠.. 나쁜 사람들... 뭐 대략...

이 두개의 역할을 한번에 하는 브릿지 방화벽을 구축해 봅시다.

필요한 패킷만 연결(브릿지??) 해주고 필요없는 내용은 처음부터 차단해주는(방화벽??) 역할을 하는

것이죠... 네!!! 자 해봅시다!!!


3. 본 론

사실 저도 이거 kldp 에서 다 빼껴쓴거라 잘 모르구요!! ^^;;;; ㅋㅋㅋㅋ

우선 따라(?)가 봅시다..

3.1 브릿지를 관리하고 제어하는 brctl 설치하기!!

간단한 방법은

[root@ant/root]# yum install bridge-utils
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core                                                                 [1/3]

......

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
bridge-utils            i386       1.0.6-1.2        core               27 k
Installing for dependencies:
sysfsutils              i386       1.3.0-1.2.1      core               64 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 91 k
Is this ok [y/N]: y

..... 설치 끝... 납니다.... 기다리면...

yum 으로 설치를 합시다. 간단하죠? ㅋㅋ 아니라면 직접 찾아서 설치를 합시다 ^^



3.2 브릿지 설정 부분!!!

패키지가 설치되면 brctl 이라는 명령어를 사용할 수 있는데 이걸 이용해서 해보겠습니다.

우선 브릿지가 구동되면서 자동으로 실행되도록 스크립트를 만듭니다.

저 같은 경우는 /etc/init.d 디렉토리에 bridge.filter 이라는 파일을 만들었습니다.

내용을 보자면.....

#!/bin/bash

#Define executable binaries locations.
brctl=/usr/sbin/brctl
ifconfig=/sbin/ifconfig
iptables=/sbin/iptables
route=/sbin/route

#configure Bridge
BRIDGE_NAME=mybridge
IP_ADDRESS=XXX.XXX.XXX.XXX
NETMASK=255.255.255.0
GATEWAY=XXX.XXX.XXX.XXX


#load bridge module
modprobe bridge

#load bypass NIC module
#modprobe bypass

#Add new bridge name, "bridge"
$brctl addbr $BRIDGE_NAME

#Add new Interface to Bridge
$brctl addif $BRIDGE_NAME eth0 up
$brctl addif $BRIDGE_NAME eth1 up

#stop stp
$brctl stp $BRIDGE_NAME off

$ifconfig eth0 0.0.0.0
$ifconfig eth1 0.0.0.0

#bridge interface up
$ifconfig $BRIDGE_NAME up
$ifconfig $BRIDGE_NAME $IP_ADDRESS netmask $NETMASK up
$route add -net 0/0 gw $GATEWAY



ㅎㅎㅎ 뭐 자세한 설명은 저도 잘 모르고... kldp 에서 보고 따라했죠 ㅋㅋㅋ

뭐 대략 내용은 보시면 다 아실겁니다... 어렵지 않아요... 해치지 않아요...

그리고 링크를 걸어줍니다.

[root@bridge init.d]# ln -s /etc/init.d/bridge.filter /etc/rc3.d/S90bridge.filter

설정 후 스크립트가 실행(컴퓨터 재부팅 후)된 후

[root@bridge init.d]# ifconfig mybridge
mybridge  Link encap:Ethernet  HWaddr 00:04:76:DC:2B:FF
         inet addr:XXX.XXX.XXX.XXX  Bcast:XXX.XXX.XXX.XXX  Mask:255.255.255.0
         inet6 addr: fe80::204:76ff:fedc:2bff/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:768491 errors:0 dropped:0 overruns:0 frame:0
         TX packets:103423 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:250292634 (238.6 MiB)  TX bytes:7994528 (7.6 MiB)

이렇게 확인을 하실 수 있습니다.



3.3 필터링(iptables) 설정 부분!!!

이제부터는 실제로 방화벽이 작동해서 쓸데없는 내용은 버리고 좋은(?) 내용만 연결해야 되는데

그 내용을 알아봅시다.

/etc/sysconfig/iptables 라는 파일에 보면 처음에 iptables 라는 프로그램이 실행되면서

실제로 규칙을 설정하는데 이 파일을 고쳐가면서 규칙을 새로 정하도록 하겠습니다.

우선.. 그냥 파일 내용을 보자면 ㅋㅋㅋㅋㅋ

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# Basic services
-A FORWARD -p tcp --dport 20 -j ACCEPT
-A FORWARD -p tcp --dport 21 -j ACCEPT
-A FORWARD -p tcp --dport 22 -j ACCEPT
-A FORWARD -p tcp --dport 25 -j ACCEPT
-A FORWARD -p udp -m udp --dport 53 -j ACCEPT
-A FORWARD -p tcp -m state --state NEW,ESTABLISHED --dport 53 -j ACCEPT
-A FORWARD -p tcp --dport 80 -j ACCEPT
-A FORWARD -p tcp --dport 110 -j ACCEPT
-A FORWARD -p tcp --dport 443 -j ACCEPT
-A FORWARD -p tcp --dport 3389 -j ACCEPT
-A FORWARD -p icmp -j DROP

# In -> Out
-A FORWARD -p tcp -m state --state ESTABLISHED -m tcp --sport 1:65535 --dport 1:65535 -j ACCEPT
-A FORWARD -p udp -m udp --dport 1:65535 -j ACCEPT

# Applications
-A FORWARD -p tcp --dport 5004 -j ACCEPT        
-A FORWARD -p tcp --dport 6112 -j ACCEPT
-A FORWARD -p udp --dport 6112 -j ACCEPT
-A FORWARD -p tcp --dport 10035 -j ACCEPT
-A FORWARD -p tcp --dport 12000 -j ACCEPT
-A FORWARD -p tcp --dport 27930 -j ACCEPT
-A FORWARD -p tcp --dport 27931 -j ACCEPT

# Drop other packets
-A FORWARD -p ALL -j DROP



사실... 이게 아직 제대로 된 필터링 내용인지 모르겠지만 우선은 잘 돌아갑니다.

ㅎㅎㅎㅎ  여기까지 입니다.


3. 결 론

자 이렇게 해서 인터넷선을 브릿지에 물리고 아!!!! 브릿지는 랜카드가 2개라야 되겠죠..!!!

요고 설명한다는거 깜빡!!했네요... ㅎㅎㅎ

브릿지에 물린 후 나머지 랜카드에 선을 연결할때 내부 네트워크에 이어지는 스위치나 허브에 연결합니다.

그렇게 되면 어케이...


사용해본 결과 살포시 느려진(통신) 느낌이 있었는데.. 크게 문제 될 것 같진 않고..

우선 외부에서 핑은 안되는군요 ... (뭐.. 막았으니... ㅡㅡ;;;;)

나름 대략 거의 유용한 내용이 었던 것 같습니다..

브릿지만드는 내용은 인터넷에 널부러졌는데 iptables 규칙은 별루 찾기가 힘들어서

만든다고 고생했습니다.. 다 끍어서 붙이고 한거지만 ㅋㅋㅋ

이 작업에 도움을 주신 백규형 감사드립니다 ^^;;;



여담...... 여기까지 하고 보니.... 예전 처음에 여기 왔을 때의 상황이군요...

cs도 새로 구축했지만 다를건 없고, 방화벽도 새로 구축했지만 다를건... 있네요... 내부에 모든 컴퓨터를

필터링 하는군요... 흠.. 암튼... 크게 다를건 없군요...

여기 들어온지.. 보자... 1년정도가 넘은 듯 한데.... 다시 그대로군요 ㅋㅋㅋㅋㅋ

왠지 힘들었답니다 하지만 ㅋㅋㅋ 졸업하기 전까진

웹메일 완성시키고 백업까지는.... 몰라... 그건 뒤에 애들이 알아서 하삼....

그렇게 하죠!!! 여기까지 허접한 내용이였습니다. 


'Linux' 카테고리의 다른 글

리눅스 데몬  (0) 2009.06.14
리눅스 부팅 과정  (0) 2009.06.14
iptables  (0) 2009.06.14
at cron  (0) 2009.06.14
chkconfig  (0) 2009.06.11

+ Recent posts