[Primipassi] dhcpd e rc.masquerade attoV:disperazione help me plz
giovanni chinigo
jikko77@lycos.it
Lun 28 Apr 2003 17:19:28 CEST
ciauz raga, son tornato alla carica, non riesco + a muovermi a casa, non
so + che fare :-(((( volevo preparare una mini lan a casa, volevo
costruire un server dhcp + un firewall masqu. per far uscire con lo
stesso ip i tre clients che ho in casa mia.
scusate per il papiro che ho scritto :-) ma spero di essere dettagliato,
fatemi sapere se vi mancasse qualcosa :-)
ho un redhat 8.0 da utilizzare come server e due client findus 2k :-).
ho un paio di info da chiedervi e se per caso c'e' un bravo figliolo :-) che
mi dica se ho fatto qualche boiata.
in anzi tutto, ho settato la conessione con protocollo pppoe con il
comando adsl-setup, la conessioen internet funziona bene, riesco a
navigare senza nessun tipo di prb, e già la cosa mi fa felice :-)
redhat mi ha configurato automaticamente le due schede di rete che ha
trovato come eth0 e eth1, di default gli ha associato il protocollo dhcp.
quindi da RedHat-config-network vedo tre dispositivi di rete ppp0, eth0
e eth1.
scusate le domande un po banali, ma esco da esperienze solo finduz e
non so se le teoria e' simile per entrambi:
1) per attivare un server dhcp devo avere la scheda da cui vengono
diramati gli ip, agli altri pc, con un ip fisso? se si devo riportare una
qualche dicitura particolra nel file dhcpd.conf?
2) mi servono tutte e tre le interfacce di rete?
3) se il mio isp non mi fornisce degli ip dei dns fissi come posso modificare
la cosa nel dhcpd.conf?
#
#dhcpd.conf
#
#/etc/dhcpd.conf
#
ddns-update-style ad-hoc;
subnet 192.168.0.0 netmask 255.255.252.0 {
range 192.168.0.3 192.168.0.10;
option subnet-mask 255.255.252.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
#option domain-name-servers 000.000.000.000 / "server";
#qualcuno sa se per caso redhat 8.0 acetta anche l'option
#"server" da usare in caso di ip del dns dinamico?
#tale opzione e' stata usaata per la dichiarazione del
#file ifcfg-ppp0 con il comando adsl-setup
option domain-name "libero.it";
option ip-forwarding on;
option netbios-node-type 8;
}
qui sotto riporto un rc.masquerading ricavato da www.openskill.info,
sito che vi consiglio vivamente di visitare, a mio avviso veramente fatto
bene :-) e ricco di cose golose per gli inisperti come il sottoscritto.
potreste dirmi se a vostro avviso l'ho riadattato in maniera decente? e'
la mia prima volta :-)
del file rc.masquerade che ho trovato in rete non ho capito un pò di
cose:
1) queste options qui sotto sono tutte necessarie?
2) se si come si posso riadattare in base alla configurazione del
dhcpd.conf ?
# Host Public IP
EGO="211.121.111.111"
# Internal LAN IP
LANIN="10.0.0.0/24"
# Trusted public network (da cui si permettono collegamenti SSH)
TRUSTED="13.18.151.0/24"
# DNS servers
DNS1="113.118.51.1"
DNS2="17.16.32.3"
# IP of an User allowed to log in the internal VPN server
USER="112.56.10.32/28"
# Internal IP of the VPN server
VPNSERVER="10.0.0.77"
1) idem come le ultime due domande :-)
# RFC IPs Classi di indirizzi dedicate a utilizzi privati o particolari e non
routate su Internet
LOOPBACK="127.0.0.0/8"
CLASS_A="10.0.0.0/8"
CLASS_B="172.16.0.0/12"
CLASS_C="192.168.0.0/16"
CLASS_D_MULTICAST="224.0.0.0/4"
CLASS_E_RESERVED_NET="240.0.0.0/5"
#rc.masquerading / 4- ADVANCED
#
#Segue un esempio di script che esegue il masquerading di una rete
locale e il DNAT di un server PPTP interno.
#!/bin/sh
#
# masquerading.sh - Version 20020319 - Coresis
#
#### DEBUGGING ###
set -x
### FLUSHING CHAIN Azzera e pulisce ogni regola esistente ###
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -X
/sbin/iptables -Z
### DEFAULT CHAIN Imposta le policy di default ###
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -t nat -P POSTROUTING DROP
/sbin/iptables -t nat -P PREROUTING DROP
### SETTING IPFORWARDING Abilita il forwarding di pacchetti non
locali - FONDAMENTALE ###
/bin/echo "1" > /proc/sys/net/ipv4/ip_forward
### DISABLE RESPOND TO BROADCAST Non risponde ai ping inviati al
browadcast della subnet ###
/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
### ENABLE BAD ERROR MESSAGE PROTECTION Ignora finti messaggi
di errore ICMP ###
/bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
### DISABLE ICMP REDIRECT ACCEPTANCE Non accetta pacchetti
ICMP di route redirection ###
/bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
### SETTING ANTISPOOFING PROTECTION ###
/bin/echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
### DON'T RESPOND TO BROADCAST PINGS ###
/bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
### Qui vengono definite alcune variabili che successivamente sono
usate nelle regole
# External Public Interface
EXTIF="ppp0"
# Internal Private Interface
INTIF="eth1"
#Host Public IP
# EGO="211.121.111.111"
#Internal LAN IP
# LANIN="10.0.0.0/24"
#Trusted public network (da cui si permettono collegamenti SSH)
# TRUSTED="13.18.151.0/24"
#DNS servers
# DNS1="113.118.51.1"
# DNS2="17.16.32.3"
#IP of an User allowed to log in the internal VPN server
# USER="112.56.10.32/28"
#Internal IP of the VPN server
# VPNSERVER="10.0.0.77"
#RFC IPs Classi di indirizzi dedicate a utilizzi privati o particolari e non
routate su Internet
# LOOPBACK="127.0.0.0/8"
# CLASS_A="10.0.0.0/8"
# CLASS_B="172.16.0.0/12"
# CLASS_C="192.168.0.0/16"
# CLASS_D_MULTICAST="224.0.0.0/4"
# CLASS_E_RESERVED_NET="240.0.0.0/5"
# ANTISPOOF Adesso iniziano le regole vere e proprie. Le prime sono
generiche regole anti-spoof per IP noti #dall'interfaccia pubblica
/sbin/iptables -A INPUT -i $EXTIF -s $EGO -j DROP
/sbin/iptables -A INPUT -i $EXTIF -s $CLASS_A -j DROP
/sbin/iptables -A INPUT -i $EXTIF -s $CLASS_B -j DROP
/sbin/iptables -A INPUT -i $EXTIF -s $CLASS_C -j DROP
/sbin/iptables -A INPUT -i $EXTIF -s $CLASS_D_MULTICAST -j DROP
/sbin/iptables -A INPUT -i $EXTIF -s $CLASS_E_RESERVED_NET -j DROP
/sbin/iptables -A INPUT -i $EXTIF -d $LOOPBACK -j DROP
# LOOP RULE Permettiamo il traffico di loopback
/sbin/iptables -A INPUT -s $LOOPBACK -j ACCEPT
/sbin/iptables -A OUTPUT -d $LOOPBACK -j ACCEPT
# LAN IN ACCESS Regole che permettono l'accesso al firewall Linux dagli
IP della rete Interna
/sbin/iptables -A INPUT -i $INTIF -s $LANIN -j ACCEPT
/sbin/iptables -A OUTPUT -o $INTIF -d $LANIN -j ACCEPT
# LAN IN OUT Seguono le regole che gestiscono il masquerading della
rete interna
/sbin/iptables -A FORWARD -s $LANIN -d 0/0 -j ACCEPT #Forwarda
tutti i pacchetti dalla rete interna a qualsiasi #destinazione
/sbin/iptables -A FORWARD -s 0/0 -d $LANIN -p tcp --syn -j DROP
DROPPA #i nuovi pacchetti che dall'esterno #cercano di raggiungere la
rete interna (TCP con flag SYN attivo)
/sbin/iptables -A FORWARD -s 0/0 -d $LANIN -j ACCEPT #Lascia invece
passare tutti gli altri pacchetti
/sbin/iptables -t nat -A POSTROUTING -o $EXTIF -s $LANIN -j
MASQUERADE #Maschera gli IP sorgenti Interni con l'IP #dell'interfaccia
pubblica
# GENERAL Regole generali per permettere all'host locale di collegarsi a
IP remoti e ricevere i pacchetti di #risposta (Nota: si riferiscono alle
attività che vengono fatte direttamente dalla macchina Linux locale e
non #dagli host che la usano come firewall)
/sbin/iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j
ACCEPT
/sbin/iptables -A INPUT -i $EXTIF -p udp -m state --state ESTABLISHED -
j ACCEPT
/sbin/iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED -j
ACCEPT
/sbin/iptables -A INPUT -p icmp -m state --state
ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
# DNS Regole per permettere di ricevere risposta (da 2 server DNS
specificati) a query DNS fatte dalla macchina #locale
/sbin/iptables -A INPUT -i $EXTIF -p udp -s $DNS1 --sport 53 -j ACCEPT
/sbin/iptables -A INPUT -i $EXTIF -p udp -s $DNS2 --sport 53 -j ACCEPT
Diventa una stella su Love@Lycos... 130.000 amici e amiche ti aspettano!
http://love.lycos.it
Maggiori informazioni sulla lista
primipassi