Newsgroup: it.comp.os.linux.sys
Titolo: NAT e DMZ su IP Statico ADSL

Salve a tutti,
questa è la mia situazione (dalla quale non riesco proprio ad uscirne):
Router ADSL con ip statico xxx.xxx.88.49
Linux Box con 3 NIC:
    eth0 impostato con ip xxx.xxx.88.50
    eth1 impostato con ip 192.168.0.1
    eth2 impostato con ip xxx.xxx.88.51
Ho un pacchetto di 8 IP statici maschedati 255.255.255.248 e ho bisogno di
realizzare un gateway/firewall linux redhat 8.0 che mi permetta di fare il
NAT sulla rete interna e un DMZ per l'installazione di alcuni server
aziendali.
Ho configurato una semplice riga iptables per il NAT ma non funziona!!!
iptables -t nat -A POSTROUTING -o eth0 -j SNAT -s
192.168.0.0/255.255.255.0
 --to xxx.xxx.88.50
Le ho provate tutte! Qualche anima pia può indicarmi la retta via per
risolvere il mio problema? Magari uno scriptino dal quale prendere
esempio...
Grazie infinite! Alessio

Allora....
degli 8 IP uno lo dai all'interfaccia WAN del FW.
Al'interfaccia della DMZ un altro IP statico a meno che non configuri  WAN e
DMZ come bridge
(bridge-utils) cosě rispoarmi un IP.
I server con IP pubblico dietro la DMZ
I PC della lan dietro l'interfaccia LAN per la quale devi configurare il NAT
(postrouting).
A questo punto, solo col natting attivato, e l'ip_fprward a 1, la macchina
funziona come router...
Non devi fare altro che impostare le regole per il FW, decidendo cosa debba
e cosa non debba passare...
Non č difficile da configurare.
Max

 
192.168.0.0/255.255.255.0
 --to xxx.xxx.88.50
prova:
iptables -t nat -A POSTROUTING -o eth0 -s 
192.168.0.0/24
 -d 0/0 -j MASQUERADE
ciao,
Costa

 
192.168.0.0/255.255.255.0
 --to xxx.xxx.88.50
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 
192.168.0.0/24
 -o eth0 -j MASQUERADE
bye G.L.
--
La logica non attiene alla verosimiglianza delle ipotesi,
ma alla coerenza delle tesi con le ipotesi.

Purtroppo continua a non funzionare. L'IP forwarding è attivato e ho
utilizzato la regola di iptables che mi hai suggerito ma ancora nulla. Dal
"gateway", ovvero il PC con 3 NIC pingo regolarmente la rete esterna, la
rete privata e la futura DMZ. Da uno dei PC in rete interna pingo il gateway
192.168.0.1, l'interfaccia esterna xxx.xxx.88.50 e l'interfaccia DMZ
xxx.xxx.88.51 ma non vado oltre. Non riesco nemmeno a pingare il router ADSL
xxx.xxx.88.49.
Cosa sbaglio?


> Cosa sbaglio?
Sbagli che se non posti almeno cosa ti dice iptables -L -v, ifconfig,
route -n
allora risolvi poco!
M

Perdonami, hai ragione:
iptables - L -v
Chian INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target    prot opt in    out    source    destination
Chian FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target    prot opt in    out    source    destination
Chian OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target    prot opt in    out    source    destination
---
route -n
Destination    Gateway    Genmask                Flags    Metric    Ref
Use    Iface
xx.xx.88.48    0.0.0.0    255.255.255.248    U          0            0
0        eth0
xx.xx.88.48    0.0.0.0    255.255.255.248    U          0            0
0        eth2
xx.xx.88.0      0.0.0.0    255.255.255.248    U          0            0
0        eth2
192.168.0.0   0.0.0.0    255.255.255.0        U          0            0
0        eth1
127.0.0.0       0.0.0.0    255.0.0.0                U          0
0        0        lo
0.0.0.0      81.73.88.49 0.0.0.0                    UG       0            0
0        eth0
---
ifconfig
eth0    Link encap:Ethernet HWaddr 00:01:02:E1:E7:57
           inet addr: xx.xx.88.50 Bcast: xx.xx.88.55 Mask: 255.255.255.248
           UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
           RX packets:9 errors:0 dropped:0 overruns:0 frame:0
           TX packets: 13 errors:0 dropped:0 overruns:0 carrier:4
           collisions:0 txqueuelen:100
           RX bytes: 976 (976,0b) TX bytes: 982 (982,0b)
           Interrupt: 5 Base address: 0xd400
eth1    Link encap:Ethernet HWaddr 00:50:04:65:80:DB
           inet addr: 192.168.0.1 Bcast: 192.168.0.255 Mask: 255.255.255.0
           UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
           RX packets:431errors:0 dropped:0 overruns:0 frame:0
           TX packets: 14 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:100
           RX bytes: 29821 (29,1kb) TX bytes: 986 (986,0b)
           Interrupt: 9 Base address: 0xd000
eth2    Link encap:Ethernet HWaddr 00:50:04:39:21:43
           inet addr: xx.xx.88.51 Bcast: xx.xx.88.55 Mask: 255.255.255.248
           UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets: 4 errors:0 dropped:0 overruns:0 carrier:4
           collisions:0 txqueuelen:100
           RX bytes: 0 (0,0b) TX bytes: 240 (240,0b)
           Interrupt: 10 Base address: 0xd800

 
192.168.0.0/255.255.255.0
 --to xxx.xxx.88.50
iptables -A POSTROUTING -s 
192.168.0.0/24
 -o eth0 -j SNAT --to-source
xxx.xxx.88.50
Questa funziona a patto che aggiungi :
iptables -A FORWARD -s 
192.168.0.0/24
 -m state --state NEW,ESTABLISHED -j
ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
(chiaramente partendo dal presupposto che tu non voglia fare egress
filtering della tua rete locale, e ammesso che tu filtrassi sulla catena
di forward...)
altrimenti le connessioni in uscita passano ma le risposte vengono
bloccate. per il resto deve funzionare.
Inoltre le macchine interne devono banalmente avere il fw come default gw
ecc.ecc.
<spot on>
Uno template di esempio lo trovi su 
http://www.skullkrusher.net/linux/iptables.sh
č un esempio per una conf. IN/OUT, senza DMZ (che č in preparazione),
ma potrebbe essere un punto di partenza.
Gradito feedback.
<spot off>
Uno skull e le mascherine
-- 
Emanuele Balla aka Skull
-----------------------------------------------------------------------
Besides, I think [Slackware] sounds better than 'Microsoft', don't you?
(By Patrick Volkerding)

Nulla, continua a non andare... il gateway sulle macchine nella rete interna
è impostato su 192.168.0.1, ovvero l'interfaccia eth1 del gateway. Non
riesco proprio a capire dove sbaglio...

 0        eth0
echo 1 >/proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 >/proc/sys/net/ipv4/conf/eth2/proxy_arp
e dovrebbe funzionare.
bye
Pier

Come faccio a modificare le route?

 Come faccio a modificare le route?
route del -host xx.xx.88.48
route del -host xx.xx.88.48
route add -host xx.xx.88.48  dev eth2
route add -host xx.xx.88.48  dev eth0
route add -host xx.xx.88.49 dev eth0
route add -net xx.xx.88.0 netmask 255.255.255.248 dev eth2
Pier

Ma scusa,
da questa specie di firewall riesci a pingare tutto ????
Perchč non vai su freshmeat, cerchi ad esempio FIAIF che č uno script per
firewall e usi quello?
Max