Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

lug-bg: скрипт за спиране/пускане на защитната стена и допълнителни мрежови настройки


  • Subject: lug-bg: скрипт за спиране/пускане на защитната стена и допълнителни мрежови настройки
  • From: Валентин Стойков <valentin_st@xxxxxxx>
  • Date: Sun, 18 Sep 2005 18:19:07 +0300
  • Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
  • Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx

Написах един скрипт, който стартира скриптовете, генерирани от Guarddog и 
Guidedog (това са програми за защитна стена и допълнителни мрежови настройки 
(маршрутизиране, пренасочване)) и също така анулира настройките, които 
последните правят.

Във файла rc.M (след  частта, където се стартира rc.inet1) сложих:

# Turn on firewall, routing and IP forwarding
if [ -x /etc/rc.d/rc.inet1.1 ]; then
  /etc/rc.d/rc.inet1.1 start
fi

Това е скрипта:
--- начало 
-------------------------------------------------------------------------------------------------
#!/bin/sh
#
# rc.inet1.1	Стартиране/спиране на защитната стена, маршрутизирането
#               и пренасочването на портове (firewall, routing, IP 
forwarding).
#               Този скрипт е написан за дистрибуцията VS Live. Служи за
#               стартиране на скриптовете, генерирани от Guarddog и Guidedog и
#               за анулиране на настройките, които тези скриптове правят.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details:
# http://www.gnu.org/licenses/gpl.html
#

RETVAL=0

case "$1" in
  start)
	echo -n "Starting firewall... "
        if [ -x /etc/rc.firewall ]; then
	  /etc/rc.firewall
        else
         echo "/etc/rc.firewall not found. Doing nothing."
	fi
	echo -n "Starting guidedog... "
        if [ -x /etc/rc.guidedog ]; then
	  /etc/rc.guidedog
        else
         echo "/etc/rc.guidedog not found. Doing nothing."
	fi
	;;
  stop)
          echo -n "Stopping firewall, routing and forwarding..."
          /sbin/sysctl -w net.ipv4.ip_forward=0
          # Спиране на защитната стена (преписано от 
http://projectfiles.com/firewall/):
          iptables -t filter -F > /dev/null 2>&1
          iptables -t filter -X > /dev/null 2>&1
          iptables -t nat -F > /dev/null 2>&1
          iptables -t nat -X > /dev/null 2>&1
          iptables -t mangle -F > /dev/null 2>&1
          iptables -t mangle -X > /dev/null 2>&1
          iptables -t filter -P INPUT ACCEPT > /dev/null 2>&1
          iptables -t filter -P OUTPUT ACCEPT > /dev/null 2>&1
          iptables -t filter -P FORWARD ACCEPT > /dev/null 2>&1
          iptables -t nat -P PREROUTING ACCEPT > /dev/null 2>&1
          iptables -t nat -P POSTROUTING ACCEPT > /dev/null 2>&1
          iptables -t nat -P OUTPUT ACCEPT  > /dev/null 2>&1
          iptables -t mangle -P POSTROUTING ACCEPT > /dev/null 2>&1
          iptables -t mangle -P OUTPUT ACCEPT > /dev/null 2>&1
          iptables -t mangle -P PREROUTING ACCEPT > /dev/null 2>&1
          iptables -t mangle -P INPUT ACCEPT > /dev/null 2>&1
          iptables -t mangle -P FORWARD ACCEPT > /dev/null 2>&1
          for MODULE in ipt_TTL iptable_mangle ipt_mark ipt_MARK 
ipt_MASQUERADE ip_nat_irc ip_nat_ftp ipt_LOG \
                ipt_limit ipt_REJECT ip_conntrack_irc ip_conntrack_ftp 
ipt_state iptable_nat iptable_filter ip_tables; do
            if (( `lsmod | grep -c "$MODULE"` )); then
              rmmod $MODULE > /dev/null 2>&1
            fi
          done
          echo "Firewall disabled."
	;;
  restart|reload)
	$0 stop
	$0 start
	RETVAL=$?
	;;
  *)
	echo "Usage: $0 {start|stop|restart|reload}"
	exit 1
esac

exit $RETVAL
--- 
край------------------------------------------------------------------------------------------------------------------
-- 

Част от скрипта преписах от http://projectfiles.com/firewall/.

Не съм сигурен дали тази част, която се изпълнява при [ "$1" = stop ] е пълна.


Валентин Стойков
http://vstoykov.hit.bg/



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.