강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

방화벽 제어 스크립트 이용

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

 

방화벽 제어 스크립트 이용



 

 

만약, 방화벽을 시작하거나 끄고자 할 때 일일이 관련 명령어를 실행하려면 여간 불편하지 않을 수 없다.

 

 

 

 

이를 위해서 별도의 제어 스크립트를 작성하는 것이 좋은데, 아래 스크립트는 방화벽을 시작하거나 off시키려 할 때 유용하게 사용할 수 있는 스크립트이다.

 

 

 

 

 

기존의 스크립트 앞에 추가하여 사용하면 된다.

 

* 아무런 옵션 없이 실행하면 사용할 수 있는 옵션을 보여준다.

 

 

 

 

 

[root@firewall root]# ./firewall

Usage: firewall {start|restart|stop|status}

[root@firewall root]#

 

* stop을 실행하면 방화벽의 가동이 멈춘다.

[root@firewall root]# ./firewall stop

Stopping Firewall....: [ OK ]

[root@firewall root]#

 

* start를 실행하면 방화벽이 가동된다.

 

 

 

 

 

[root@firewall root]# ./firewall start

Starting Firewall....: [ OK ]

[root@firewall root]#

 

아래는 관련 스크립트이다.

 

#!/bin/sh

 

# 실행 파일의 경로를 지정한다.

 

 

 

 

 

IPTABLES="/usr/local/sbin/iptables"

ECHO="/bin/echo"

 

# 대부분의 쉘 스크립트에서 사용하는 라이브러리를 참조한다.

 

 

 

 

 

. /etc/rc.d/init.d/functions

 

# start 옵션 실행 시 메시지를 출력한다.

 

 

 

 

 

case "$1" in

"start" )

echo ""

action "Starting Firewall....:" echo

echo ""

;;

 

# restart 옵션 실행시 방화벽을 stop한 후 start한다.

 

 

 

 

 

"restart" )

action "Stopping down Firewall....:" echo

$IPTABLES -F -t filter

$IPTABLES -X -t filter

$IPTABLES -F -t nat

$IPTABLES -X -t nat

$IPTABLES -F -t mangle

$IPTABLES -X -t mangle

$IPTABLES -P INPUT ACCEPT

$IPTABLES -P FORWARD ACCEPT

$IPTABLES -P OUTPUT ACCEPT

action "Starting Firewall....:" echo

 

;;

 

# status 옵션 실행 시 현재 룰 상태를 보여준다.

 

 

 

 

 

"status" )

$ECHO

$IPTABLES -L --line -nv

$ECHO

exit;;

 

# stop 옵션 실행 시 방화벽을 멈춘다.

# stop시에는 모든 룰을 초기화하고, filter 테이블의 기본정책을 ACCEPT한다.

"stop" )

$ECHO

action "Stopping Firewall....:" echo

echo ""

$IPTABLES -F -t filter

$IPTABLES -X -t filter

$IPTABLES -F -t nat

$IPTABLES -X -t nat

$IPTABLES -F -t mangle

$IPTABLES -X -t mangle

$IPTABLES -P INPUT ACCEPT

$IPTABLES -P FORWARD ACCEPT

$IPTABLES -P OUTPUT ACCEPT

exit

;;

 

# 아무런 옵션을 명시하지 않았을 경우 사용할 수 있는 옵션을 보여준다.

 

 

 

 

 

* )

$ECHO

$ECHO

$ECHO $BOLD"Usage: firewall {start|restart|stop|status}"

$ECHO

 

exit;;

esac

 

# 이하 아래 부분에 앞에서 살펴본 방화벽 룰 관련 스크립트를 나열하면 된다.

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,806 개
  • 현재 접속자 :  132 명