All pastes #929660 Raw Edit

Stuff

public shellscript v1 · immutable
·published 2008-03-05 22:31 UTC
rendered paste body
$ cat /etc/init.d/iptables#!/bin/sh## Script de démarrage qui lance l'interface réseau internet,# met en place un firewall basique et un partage de connexion## Inspiré du script de Mjules_at_ifrance.com#start() {# init du la périphérique internet (ici derriere un modem ADSL ethernet, DHCP client)/sbin/ifup eth2# Dans cette partie, on met en place le firewall#vidage des chainesiptables -F#destruction des chaines personnellesiptables -X#stratégies par défautiptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT#init des tables NAT et MANGLE (pas forcément nécessaire)iptables -t nat -Fiptables -t nat -Xiptables -t nat -P PREROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P OUTPUT ACCEPTiptables -t mangle -Fiptables -t mangle -Xiptables -t mangle -P PREROUTING ACCEPTiptables -t mangle -P OUTPUT ACCEPT# Acceptation de toutes les connexions en local (un process avec l'autre)iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT# PORT FORWARDING:# attention : on ne peut <del>malheureusement</del> heureusement pas mettre un nom de machine en destination, il faut mettre l'adresse IP.# exemple : on veut qu'un serveur HTTP installé sur une machine du réseau local soit visible depuis l'extérieur.###iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.121:80###iptables -A FORWARD -p tcp -i eth1 --dport 80 -j ACCEPT#création d'une nouvelle règleiptables -N MAregle#définition de la règle : accepter les nouvelles connexions ne venant pas de l'interface internet# et accepter toutes les connexions établies et reliées (ex: une demande de page HTML provoque l'ouverture# d'une connexion reliée pour acheminer cette page vers l'ordinateur)iptables -A MAregle -m state --state NEW -i! eth2 -j ACCEPTiptables -A MAregle -m state --state ESTABLISHED,RELATED -j ACCEPT#application de la règle au partage de connexioniptables -A INPUT -j MAregleiptables -A FORWARD -j MAregle# activation du forwarding dans le noyau# mise en place du partage de connexion sur le réseau localecho 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth2 -j MASQUERADE}stop() {        echo 0 >/proc/sys/net/ipv4/ip_forward        ifdown eth2}case "$1" in start)        start        ;;stop)        stop        ;;restart)        stop && start        ;;*)        echo "Usage $0 {start|stop|restart}"        exit 1esacexit 0