Ben's

bridge firewall 에서 GW 쪽 인터페이스(외부) 구분하는 스크립트 본문

리눅스/bash

bridge firewall 에서 GW 쪽 인터페이스(외부) 구분하는 스크립트

Ben Ko (SINCE 2013) 2013. 4. 30. 17:54
728x90

보통은 bridge 장치로 eth0, eth1을 묶게 되면 어디가 inbound 인지 어디가 outbound 인지 구분을 잘 할수가 없어

난감했었는데요

 

gateway는 bridge firewall 바깥(외부)에 있다는 점을 이용하여 스크립트를 만들어 봤습니다.

 

#!/bin/bash
#
IF_NAME=`ifconfig | grep bridge | awk '{print $1}' | head -1`;
GW_MAC=`route | egrep default | awk '{print $2}' | xargs -i arp {} | egrep $IF_NAME | head -1 | awk '{print $3}'`
IF_OUT_FLAG=`brctl showmacs $IF_NAME | egrep -i $GW_MAC | awk '{print $1}'`
echo "Outbound bridge port = $IF_OUT_FLAG"
IF_OUT=`brctl showstp $IF_NAME | egrep "\($IF_OUT_FLAG\)" | awk '{print $1}'`
#echo "$IF_OUT"
echo "Outbound interface = $IF_OUT"

 

실행결과 입니다.

 

[root@nhko_test_centos tmp]# bash ./SET_OVERSEA_FW.sh
Outbound bridge port = 1
Outbound interface = eth0

 

iptables 룰셋 설정이 굉장히 간편해질것 같네요.

'리눅스 > bash' 카테고리의 다른 글

진수변환  (0) 2013.05.22
basename 유용할 듯.  (0) 2013.04.16
nl  (0) 2013.04.03
ext3 snapshot backup  (0) 2013.01.30
debian 한글 설정  (0) 2013.01.28