Return to Snippet

Revision: 1831
at November 9, 2006 23:57 by whitetiger


Updated Code
#!/bin/sh

case $1 in

"start")

	if [ "$UID" = 0 ]; then

		### Tools usati
		IFCONFIG=`which ifconfig`
		GREP=`which grep`
		AWK=`which awk`

		echo "Selezionare l'interfaccia con cui effettuare il NAT: "
	
		select I in `$IFCONFIG | $GREP -i -e "Link" | $AWK '{ print $1 }'`
		do
			INTERFACE=$I
			break
		done
	
		### Tools usati
		MODPROBE=`which modprobe`
		IPTABLES=`which iptables`

		# Inserisce il modulo per il Masquerade
		$MODPROBE ipt_MASQUERADE
	
		$IPTABLES -F 							# Effettua il flush di tutti i chain
		$IPTABLES -t nat -F 						# Effettua il flush della tabella di NAT
		$IPTABLES -t mangle -F 						# Effettua il flush della mangle
		$IPTABLES -t nat -A POSTROUTING -o $INTERFACE -j MASQUERADE 	# Effettua il routing nella rete interna
	
		# Abilità il Forward
		echo 1 > /proc/sys/net/ipv4/ip_forward
	
		echo
		echo "NAT avviato sull'interfaccia: $INTERFACE"
	
	else
	
		echo
		echo "Non e' possibile effettuare il NAT se non sei Root..."
	
	fi
;;

"stop")

	if [ "$UID" = 0 ]; then

		### Tools usati
		IPTABLES=`which iptables`
		
		$IPTABLES -F 						# Effettua il flush di tutti i chain
		$IPTABLES -t nat -F 					# Effettua il flush della tabella di NAT
		$IPTABLES -t mangle -F 					# Effettua il flush della mangle

		echo 0 > /proc/sys/net/ipv4/ip_forward

		echo
		echo "NAT stoppato sull'interfaccia di rete..."
	
	else

		echo
		echo "Non e' possibile rimuovere il NAT, non sei Root..."

	fi

;;

*)

	echo
	echo "Sintassi: $0 { start | stop }"

;;

esac

Revision: 1830
at November 9, 2006 23:55 by whitetiger


Initial Code
#!/bin/sh

case $1 in

"start")

	if [ "$UID" = 0 ]; then

		### Tools usati
		IFCONFIG=`which ifconfig`
		GREP=`which grep`
		AWK=`which awk`

		echo "Selezionare l'interfaccia con cui effettuare il NAT: "
	
		select I in `$IFCONFIG | $GREP -i -e "Link" | $AWK '{ print $1 }'`
		do
			INTERFACE=$I
			break
		done
	
		### Tools usati
		MODPROBE=`which modprobe`
		IPTABLES=`which iptables`

		# Inserisce il modulo per il Masquerade
		$MODPROBE ipt_MASQUERADE
	
		$IPTABLES -F 							# Effettua il flush di tutti i chain
		$IPTABLES -t nat -F 						# Effettua il flush della tabella di NAT
		$IPTABLES -t mangle -F 						# Effettua il flush della mangle
		$IPTABLES -t nat -A POSTROUTING -o $INTERFACE -j MASQUERADE 	# Effettua il routing nella rete interna
	
		# Abilità il Forward
		echo 1 > /proc/sys/net/ipv4/ip_forward
	
		echo
		echo "NAT avviato sull'interfaccia: $INTERFACE"
	
	else
	
		echo
		echo "Non e' possibile effettuare il NAT se non sei Root..."
	
	fi
;;

"stop")

	if [ "$UID" = 0 ]; then

		### Tools usati
		IPTABLES=`which iptables`
		
		$IPTABLES -F 						# Effettua il flush di tutti i chain
		$IPTABLES -t nat -F 					# Effettua il flush della tabella di NAT
		$IPTABLES -t mangle -F 					# Effettua il flush della mangle

		echo 0 > /proc/sys/net/ipv4/ip_forward

		echo
		echo "NAT stoppato sull'interfaccia di rete..."
	
	else

		echo
		echo "Non e' possibile rimuovere il NAT, non sei Root..."

	fi

;;

*)

	echo
	echo "Sintassi: $0 { start | stop }"

;;

esac

Initial URL


Initial Description


Initial Title
Bash - Abilitare il NAT

Initial Tags
Bash, unix, osx, linux, ssh, perl

Initial Language
Bash