CentOS, Fedora 등 RedHat 계열에서 Bridge 설정
먼저 브릿지가 뭐냐면.. 랜카드 여러장을 마치 하나처럼 쓰게 하는 겁니다.
eth1 eth2 eth3 세개를 br0:192.168.0.254/24 이렇게 한 브릿지 안에 넣으면, eth1, 2, 3 아무데나 꽂아도 다 저 192.168.0.254/24 네트웍으로 연결됩니다. eth1, 2, 3 간에도 서로 같은 네트웍으로 인식되고요.
보 통 브릿지 방화벽이라고 해서, 방화벽 만들때 쓰거나.. 아님 허브 대용으로 쓰기도 합니다. -_-; 리눅스 게이트웨이 서버인데 아랫쪽에 컴터가 두대 있다면 랜카드 두개중 아랫쪽 랜카드에 허브를 연결해 두대를 연결할 수 있지만, 그냥 랜카드 한개 더 꽂아 두개를 브릿지로 잡으면 두대 다 같은 서브넷에 들어갈 수 있는거죠.
먼저 브릿지 설정을 위한 커널 설정과 유틸리티가 설치되어 있어야 합니다.
- 커널 다른 필요에 의해 커널을 직접 컴파일하셨다면 CONFIG_BRIDGE 가 켜져 있어야 합니다. 배포판 기본 커널이라면 보통 들어가 있습니다.
- brctl
/usr/sbin/brctl 이 파일이 없다면, 설치해 줍니다.
# yum install bridge-utils
- 설정
위의 예 처럼, eth1, eth2 이 br0 이라는 브릿지 인터페이스 안에 192.168.0.254/24 로 포함되는 설정을 잡겠습니다. br0 브릿지 인터페이스는 가상 인터페이스이지만 tcpdump, 등등 될건 다 됩니다.
물리 인터페이스와 마찬가지로 /etc/sysconfig/network-scripts/ 안에서 설정 파일을 만듭니다.
먼저 ifcfg-br0
DEVICE=br0 ONBOOT=yes TYPE=Bridge IPADDR=192.168.0.254 NETMASK=255.255.255.0 BOOTPROTO=static
중 요한건 TYPE 입니다. 저렇게 Bridge 로 해 놓으면 브릿지 인터페이스로 만들죠. DEVICE 이름은 파일명과 같으면 되고, 이름은 사실 큰 관계 없습니다. ifcfg-office 등등도 가능합니다. eth, ipsec, bond 등 미리 예약된 이름은 쓰지 않는게 혼란을 피할 수 있고요.
그리고 브릿지에 포함될 인터페이스들을 설정합니다.
ifcfg-eth1
DEVICE=eth1 ONBOOT=yes BRIDGE=br0
ifcfg-eth2
DEVICE=eth2 ONBOOT=yes BRIDGE=br0
BRIDGE 설정을 위에서 만든 브릿지 이름으로 합니다. 그러면 알아서 포함시켜줍니다.
- 확인
리붓을 해도 좋고 service network restart, /etc/init.d/network restart 등등 아무거나 좋습니다. 네트워크를 재시작해서 브릿지를 잡아줍니다.
잘 잡혔는지 brctl show 명령어로 봅니다.
# brctl show bridge name bridge id STP enabled interfaces br0 8000.0007e939502a no eth2 eth1
브릿지 이름들이 나오고 브릿지에 포함된 인터페이들이 나타납니다.
- 기타
브릿지 간에 패킷이 왔다갔다 하지 않으면, 아시겠지만 ip_forward 가 설정되지 않았을 가능성이 있습니다.
아래는 1회용,
# echo 1 > /proc/sys/net/ipv4/ip_forward
영구적으로 적용하려면 /etc/sysctl.conf 을 수정해줍니다.
# Controls IP packet forwarding net.ipv4.ip_forward = 1
댓글 달기