sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #93480
Re: IPtables Problem
Jeppe Koefoed skrev:
Hej Per
Det jeg ville have det til - var at selve min firewall skulle agere alle 3
offentlige IP adresser - og derefter NAT - de enkelte porte videre til de
maskiner der skal bruges.
Men ved du om din internet router (måske står denne hos TDC) router de tre
ekstra adresser til din ADSL ip ?
Ellers skal du give din maskine én af de ip og så lave proxy-arp på de 2
andre. Hvis TDC router de 3 ekstra ip til din maskines ADSL ip adresse, så
behøver du ikke tænke på at få de ekstra frem til dit netkort.
TDC router alle 3 IP'er til min adresse.
Nu kalder jeg det zone - det er nu mere ment som en subnetzone på ethX. I
DMZzone står der web og mailserver.
Så med lidt ASCII art bliver det
@
|
TDC-router med route af de tre ekstra ip til din ADSL IP
|
"eth0"
Din firewall med ADSL IP på "eth0"
Intern adresse 172.16.1.1/24 på "eth1"
"eth1"
eth0 = Wan adresser
eth1 = 172.16.0.0/24 = Lan zone
eth2 = 172.16.10.0/24 = DMZ zone
eth3 = 172.16.20.0/24 = Pluto Zone
Intern post/www maskine med ip 172.16.1.2/24
Hvis en af dine ekstra IP skal nattes til din interne postmaskine skal
iptables se sådan ud: (87.1.2.3 er ekstra ip)
$IPTABLES -A POSTROUTING -t nat -s 172.16.1.2 -o $ext_if -j SNAT --to-source
87.1.2.3
$IPTABLES -A PREROUTING -t nat -d 87.1.2.3 -i $ext_if -j
DNAT --to-destination 172.16.1.2
Selve min almindelige natning til min DMZ virker aldeles fint og optimalt
nok. Ingen problemer der overhovedet.
Derudover er der et par iptables regler som skal tillade post/www til din
interne! ip (altså 172.16.1.2).
Men det omkring min extra Zone - mit pluto system skal jeg konfigurere
over en meget lang periode som jeg skal lege med i min fritid.
Men der ville jeg gerne have at jeg kunne sætte en extra domæne til det
pluto system . således at jeg kan kalde det på et domænenavn. Det vil sige
at alle request på den enkelte domænenavn/IP skal gå til den zone hvor
pluto sidder på.
Så DNS skal for det nye domæne pege på den ekstra ip (87.1.2.3)
Det gør det også - slå pbj-pluto.mine.nu op skulle meget gerne svare på
87.50.193.217
Men stadigvæk skal det for mig jo kun være de enkelte porte der skal være
åbne.
Det er dine iptables regler som skal klare dette.
det ved jeg godt det er - men eftersom det er den ekstra IP - hvor mine
request ikke kommer frem - ville jeg nu nok mene at det er den regel eller
lign der er forkert.
Ekstra spørgsmål.
Som mine regler for f.eks http protokollen er nu:
Til mine almindelige webserver
$IPTABLES -t nat -A PREROUTING -d $WAN_IP -p tcp --dport 80 -j DNAT
--to-destination $ATLANTIS:80
$IPTABLES -A wantodmz -d $ATLANTIS -p tcp --dport 80 -j ACCEPT
Og til min Pluto server:
$IPTABLES -t nat -A PREROUTING -d $WAN1_IP -p tcp --dport 80 -j DNAT
--to-destination $PLUTOCORE:80
$IPTABLES -A wantopluto -d $PLUTOCORE -p tcp --dport 80 -j ACCEPT
der er WAN_IP = 83.95.44.14 (min statiske IP)
og WAN1_IP = 87.50.193.217 (nr 1 ekstra IP)
I de regler kommer der hul igennem på min almindelige webserver - men jeg
kan ikke komme igennem på den anden. ergo må der være lidt galt idet jeg
gør i mit script.
Samtidigt med kommer der nogle problemer omkring Mascarade - eftersom
hvilken zone der er i - skal det gå ud med en bestemt IP. LAN - DMZ - Skal
gå ud med min statiske IP Pluto skal gå ud med den ene extra IP.
Så du skal have en enkelt iptables kommando mere:
$IPTABLES -t nat -A POSTROUTING -o $ext_if -s $localnet -j SNAT --to $ext_ip
Her er $localnet sat til 172.16.1.0/24 og $ext_ip er blot din ADSL ip.
der hedder min regel:
$IPTABLES -t nat -A POSTROUTING -s ! $WAN -j SNAT --to-source $WAN_IP
Men så er det så jeg ville mene - hvis nogle interne maskiner i mit pluto
system skal kunne hente diverse ting på nettet - skal den så ikke ændres
over til den extra IP - istedet for som nu at alle interfaces - pånær WAN
- laves om til WAN IP!
Det var det jeg gerne ville frem til. Håber det forklarede lidt mere.
Tjo. Det er vel et ret standard setup. Hvis du har flere lokalnet (eth2,
eth3 osv) så skal du være opmærksom på om du tilgår via intern eller ekstern
ip. Normalt vil folk konfigurere splitdns for at tage hånd om dette, men du
kan også "fikse" det med særlige iptables regler. Ovenfor benyttes $ext_if
til at sikre at kun eksterne forespørgsler/svar bliver nattet.
Jeg har nu bare konfigureret en almindelig DNS - da jeg tidligere kun har
haft 1 statisk IP - og ingen ekstra. Men det har jeg nu - så derfor :-)
/Jeppe
Med Venlig Hilsen
per Jørgensen.
Follow ups
References