Indice del forum www.zeroshell.net
Distribuzione Linux ZeroShell
 
 FAQFAQ   CercaCerca  GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo  Log inLog in   Messaggi privatiMessaggi privati 

Ancora su NAT

 
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell
Precedente :: Successivo  
Autore Messaggio
xz4xbj



Registrato: 11/01/11 10:51
Messaggi: 54

MessaggioInviato: Mar Feb 01, 2011 11:19 am    Oggetto: Ancora su NAT Rispondi citando

Chiedo scusa in anticipo per la banalità della domanda , ma purtroppo in networking non sono ferratissimo.

Ho realizzato su una alix una configurazione per casa , su zs beta 14 , fatta così :

eth00 : internet via modem , nat abilitato su questa scheda
eth01 : rete wired privata 192.168.1.x/27 , ci sono pc e altri apparati wired
eth02 : wifi per pc portatili , radius , 192.168.2.x/29
eth03 : wifi per dispositivi vari ( consoles e stampante ) , wpa2-psk , 192.168.3.x/29
eth04 : wifi per eventuali ospiti da abilitare all'occorrenza , wpa2-psk , 192.168.4.x/29

Ho implementato varie regole sul firewall in modo che :

la wifi ospiti veda solo internet
le reti wired e wifi per portatili non si vedano tra loro ma vedano internet con captive portal
le reti wired e wifi portatili , sulla wifi dispositivi , vedono solo la stampante.

Ora ho un problema con la stampante.
Il software a corredo della stampante ( HP6500 wifi ) la connette solo se questa si trova sulla stessa subnet del pc che esegue il discovery , altrimenti sono costretto a generare una porta ip e mi perdo tutte le funzionalità aggiuntive alla stampa ( fax e scanner ).
Avrei due strade : stravolgere la configurazione , ma non vorrei ;
nattare sulle subnet wired e wifi portatili la stampante in modo che sia vista come appartenente alla rispettiva subnet .
Ho letto diversi thread in merito e potrei anche provare da solo ma ho un forte dubbio.

supponendo che la stampante abbia l'indirizzo 192.168.3.10 , potrei nattarla sulle altre due network come
192.168.2.10 -> 192.168.3.10
192.168.1.10 -> 192.168.3.10

Prima cosa : si può fare ?
Se sì , chiedo troppo se mi dite come ?
Su questo thread

http://www.zeroshell.net/forum/viewtopic.php?t=284&highlight=nat

viene speigato abbastanza bene , ma si tratta di nat 1:1 e non mi sembra il mio caso.

Grazie.
Top
Profilo Invia messaggio privato
ziotibia81



Registrato: 14/10/09 13:08
Messaggi: 90

MessaggioInviato: Mar Feb 01, 2011 12:40 pm    Oggetto: Rispondi citando

Credo che il problema sia un altro però:

solitamente i software che fanno il discover operano in due modi:

A) Mandano un broadcast UDP alla subnet per trovare la periferica
B) Mandano dei pacchetti ARP specifici direttamente

Un altro modo è di eseguire una ricerca via NetBios che usa comunque dei broadcast.

In entrambi i casi questi pacchetti, per definizione, non possono scavalcare un router. Prima di impazzire con i nat controlla con uno sniffer di rete se durante il discover viene usato uno di questi due metodi, e al 99% sarà così, lascia perdere i nat...


L'ultima modifica di ziotibia81 il Mar Feb 01, 2011 2:03 pm, modificato 1 volta
Top
Profilo Invia messaggio privato
xz4xbj



Registrato: 11/01/11 10:51
Messaggi: 54

MessaggioInviato: Mar Feb 01, 2011 1:08 pm    Oggetto: Rispondi citando

Ho inserito queste tre regole , non funzionano nel senso che non mi và neanche il ping :

# Translate incoming connections to the private server addresses
iptables -t nat -I PREROUTING 1 -d (ip ) -j DNAT --to-destination ( stampante )

# Translate outgoing connections from the private server addresses
iptables -t nat -I POSTROUTING 1 -s (stampante) -j SNAT --to-source (ip)
iptables -t nat -I POSTROUTING 1 -d (stampante) -j SNAT --to (gateway stampante )

almeno così mi pare fosse stato spiegato.
Relativamente al software , grazie per la risposta di ziotibia.

Il fatto è che neanche ci arriva a fare il discover ; ad un certo punto mi chiede "dammi l'indirizzo della stampante" e come lo digito si accorge che non è sulla subnet giusta e non và avanti , mi risponde che la stampante deve stare sulla stessa subnet del pc dove gira il discover.
Per questo ho pensato che nattando avrei risolto.
Top
Profilo Invia messaggio privato
ziotibia81



Registrato: 14/10/09 13:08
Messaggi: 90

MessaggioInviato: Mar Feb 01, 2011 2:03 pm    Oggetto: Rispondi citando

e le regole di forward? vanno messe anche quelle...
Top
Profilo Invia messaggio privato
xz4xbj



Registrato: 11/01/11 10:51
Messaggi: 54

MessaggioInviato: Mar Feb 01, 2011 4:34 pm    Oggetto: Rispondi citando

Ci stanno , incrociate,
Da una scheda ethernet all'altra , tanto è vero che la stampante sulla wifi la pingo dalla wired ...
Top
Profilo Invia messaggio privato
ziotibia81



Registrato: 14/10/09 13:08
Messaggi: 90

MessaggioInviato: Mar Feb 01, 2011 5:22 pm    Oggetto: Rispondi citando

Dovrei vedere l'insieme dell'iptables.
Magari le tue regole sono giuste ma qualche altra regola le blocca...

Sempre che, durante il discover, non venga usato un broadcast quindi sei comunque fregato.
Top
Profilo Invia messaggio privato
xz4xbj



Registrato: 11/01/11 10:51
Messaggi: 54

MessaggioInviato: Mar Feb 01, 2011 8:55 pm    Oggetto: Rispondi citando

Vedo di trovare il modo di postarle tutte.
In questo senso debbo dire che la vpn funziona alla grande e pure dal lavoro mi connetto allo ZS senza colpo ferire ..
Top
Profilo Invia messaggio privato
xz4xbj



Registrato: 11/01/11 10:51
Messaggi: 54

MessaggioInviato: Mer Feb 02, 2011 6:21 am    Oggetto: Rispondi citando

Intanto è arrivata la risposta ufficiale di HP :

Citazione:
Your printer and the computer that is trying to use it must be on the same subnet. That is the way that the software is set up and it cannot be changed.
Top
Profilo Invia messaggio privato
xz4xbj



Registrato: 11/01/11 10:51
Messaggi: 54

MessaggioInviato: Ven Feb 04, 2011 11:26 am    Oggetto: Rispondi citando

Ho tolto per ora le regole legate al nat.
Di seguito quello che ho sul firewall :

Default : drop per input e forward , accept per out

eth00 : ethernet pubblica
eth01 : ethernet privata , network 1
eth02 : wifi esterna ( down , on demand ) , network 2
eth03 : wifi interna , network 3
eth04 : wifi dispositivi ( su questa c'è la stampante ) , network 4
eth05 : wifi ospiti ( down , on demand ) , network 5

Chain Input :

Codice:
1    ETH00    *    ACCEPT tcp opt -- in ETH00 out * 0.0.0.0/0 -> 0.0.0.0/0 tcp dpt:443    no    
    2    ETH01    *    ACCEPT all opt -- in * out * <access point esterno TPLink in Radius > -> 0.0.0.0/0 PHYSDEV match --physdev-in ETH01


Chain Forward :

Codice:
1    BRIDGE00    ETH00    ACCEPT all opt -- in BRIDGE00 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   2    ETH00    BRIDGE00    ACCEPT all opt -- in ETH00 out BRIDGE00 0.0.0.0/0 -> 0.0.0.0/0    no    
   3    ETH02    ETH00    ACCEPT all opt -- in ETH02 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   4    ETH00    ETH02    ACCEPT all opt -- in ETH00 out ETH02 0.0.0.0/0 -> 0.0.0.0/0    no    
   5    ETH03    ETH00    ACCEPT all opt -- in ETH03 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   6    ETH00    ETH03    ACCEPT all opt -- in ETH00 out ETH03 0.0.0.0/0 -> 0.0.0.0/0    no    
   7    ETH05    ETH00    ACCEPT all opt -- in ETH05 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   8    ETH00    ETH05    ACCEPT all opt -- in ETH00 out ETH05 0.0.0.0/0 -> 0.0.0.0/0    no    
   9    BRIDGE00    ETH04    ACCEPT all opt -- in BRIDGE00 out ETH04 0.0.0.0/0 -> 0.0.0.0/0    no    
   10    ETH04    BRIDGE00    ACCEPT all opt -- in ETH04 out BRIDGE00 0.0.0.0/0 -> 0.0.0.0/0    no    
   11    ETH03    ETH04    ACCEPT all opt -- in ETH03 out ETH04 0.0.0.0/0 -> 0.0.0.0/0    no    
   12    ETH04    ETH03    ACCEPT all opt -- in ETH04 out ETH03 0.0.0.0/0 -> 0.0.0.0/0


Chain Output : nessuna regola

Iptables - L -v :

Codice:
iptables -L -v
Chain INPUT (policy DROP 525 packets, 89418 bytes)
 pkts bytes target     prot opt in     out     source               destination
11921 1379K SYS_INPUT  all  --  any    any     anywhere             anywhere   
   13  1324 SYS_HTTPS  tcp  --  any    any     anywhere             anywhere            tcp dpt:http
 1226  133K SYS_HTTPS  tcp  --  any    any     anywhere             anywhere            tcp dpt:microsoft-ds
   78  6640 SYS_SSH    tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh
 2084  431K ACCEPT     tcp  --  ETH00  any     anywhere             anywhere            tcp dpt:https
    6  2802 ACCEPT     all  --  any    any     < ap esterno >       anywhere            PHYSDEV match --physdev-in ETH01

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
12707 2438K ACCEPT     all  --  BRIDGE00 ETH00   anywhere             anywhere 
15087   13M ACCEPT     all  --  ETH00  BRIDGE00  anywhere             anywhere 
    0     0 ACCEPT     all  --  ETH02  ETH00   anywhere             anywhere   
    0     0 ACCEPT     all  --  ETH00  ETH02   anywhere             anywhere   
 2358  416K ACCEPT     all  --  ETH03  ETH00   anywhere             anywhere   
 3214 3379K ACCEPT     all  --  ETH00  ETH03   anywhere             anywhere   
    0     0 ACCEPT     all  --  ETH05  ETH00   anywhere             anywhere   
    0     0 ACCEPT     all  --  ETH00  ETH05   anywhere             anywhere   
    0     0 ACCEPT     all  --  BRIDGE00 ETH04   anywhere             anywhere 
    0     0 ACCEPT     all  --  ETH04  BRIDGE00  anywhere             anywhere 
    0     0 ACCEPT     all  --  ETH03  ETH04   anywhere             anywhere   
    0     0 ACCEPT     all  --  ETH04  ETH03   anywhere             anywhere   
  321 88450 CapPort    all  --  any    any     anywhere             anywhere   

Chain OUTPUT (policy ACCEPT 6279 packets, 3402K bytes)
 pkts bytes target     prot opt in     out     source               destination
12720 3860K SYS_OUTPUT  all  --  any    any     anywhere             anywhere   

Chain CapPort (1 references)
 pkts bytes target     prot opt in     out     source               destination
  321 88450 CapPortACL  all  --  BRIDGE00 any     anywhere             anywhere

Chain CapPortACL (1 references)
 pkts bytes target     prot opt in     out     source               destination
  321 88450 CapPortFS  all  --  any    any     anywhere             anywhere   
  298 80835 CapPortFC  all  --  any    any     anywhere             anywhere   
  298 80835 CapPortWL  all  --  any    any     anywhere             anywhere   
  170 30862 DROP       all  --  any    any     anywhere             anywhere   

Chain CapPortFC (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  any    any     < un pc della rete >       anywhere            MAC 00:26:F2:B0:XX:XX

Chain CapPortFS (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            udp dpt:domain
   23  7615 ACCEPT     udp  --  any    any     anywhere             anywhere            udp dpt:bootps

Chain CapPortWL (1 references)
 pkts bytes target     prot opt in     out     source               destination
   92 42494 ACCEPT     all  --  any    any     < altro pc nella rete >       anywhere            MAC 00:FF:A7:B8:XX:XX
   36  7479 ACCEPT     all  --  any    any     < terzo pc nella rete >       anywhere            MAC 00:26:F2:B0:XX:XX

Chain NetBalancer (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain SYS_HTTPS (2 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere   
  836 64975 ACCEPT     all  --  any    any     < pc portatile in wireless >       anywhere   
  402 69641 ACCEPT     all  --  BRIDGE00 any     anywhere             anywhere 
    1    48 DROP       all  --  any    any     anywhere             anywhere   

Chain SYS_INPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
 5414  374K ACCEPT     all  --  lo     any     anywhere             anywhere   
 1578  190K ACCEPT     tcp  --  BRIDGE00 any     anywhere             anywhere            tcp dpts:12080:12083
    0     0 DROP       tcp  --  any    any     anywhere             anywhere            tcp dpts:12080:12083
  178 45842 ACCEPT     udp  --  any    any     anywhere             anywhere            udp spt:domain state ESTABLISHED
   17 20453 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp spt:http state ESTABLISHED
  144 14976 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp spt:8245 state ESTABLISHED
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            udp spt:ntp state ESTABLISHED
 3689  627K RETURN     all  --  any    any     anywhere             anywhere   

Chain SYS_OUTPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
 5414  374K ACCEPT     all  --  any    lo      anywhere             anywhere   
  188 14482 ACCEPT     udp  --  any    any     anywhere             anywhere            udp dpt:domain
   17  1008 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:http
  161 11388 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:8245
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            udp dpt:ntp
 6021 3242K RETURN     all  --  any    any     anywhere             anywhere   

Chain SYS_SSH (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere   
    0     0 ACCEPT     all  --  any    any     < un pc della rete >       anywhere   
   77  6592 ACCEPT     all  --  BRIDGE00 any     anywhere             anywhere 
    1    48 DROP       all  --  any    any     anywhere             anywhere   
root@router root>


Mi associo comunque a quell'utente che lamentava le tante domande e le poche risposte in questo forum.
Forse in quello in lingua inglese và meglio , poi controllo.
Grazie a ziotibia ....


..
Top
Profilo Invia messaggio privato
xz4xbj



Registrato: 11/01/11 10:51
Messaggi: 54

MessaggioInviato: Ven Feb 04, 2011 7:17 pm    Oggetto: Rispondi citando

Ennesimi dati , mi rifiuto di pensare che non bazzica nessuno che ci capisce di queste cose , per cortesia vorrei evitare di scrivere a Fulvio.

BRIDGE00 ip 192.168.68.163 da nattare verso ETH04 ip 192.168.65.250 che è la stampante.

Codice:
root@router root> iptables -t nat -L PREROUTING
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       all  --  anywhere             192.168.68.163      to:192.168.65.250
CapPort    all  --  anywhere             anywhere
root@router root> iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  192.168.65.250       anywhere            to:192.168.68.163
SNATVS     all  --  anywhere             anywhere
MASQUERADE  all  --  anywhere             anywhere
root@router root> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.66.248  0.0.0.0         255.255.255.248 U     0      0        0 ETH03
192.168.65.248  0.0.0.0         255.255.255.248 U     0      0        0 ETH04
192.168.68.160  0.0.0.0         255.255.255.224 U     0      0        0 BRIDGE00
TISCALI          0.0.0.0           255.255.255.0   U     0      0        0 ETH00
0.0.0.0         TISCALI           0.0.0.0         UG    0      0        0 ETH00
root@router root>


script in nat e virtual server :

Codice:
iptables -t nat -I PREROUTING 1 -d 192.168.68.163 -j DNAT --to-destination 192.168.65.250
iptables -t nat -I POSTROUTING 1 -s 192.168.65.250 -j SNAT --to-source 192.168.68.163


Regole sul firewall in chain forward :

Codice:
1    *    *    ACCEPT all opt -- in * out * 0.0.0.0/0 -> 0.0.0.0/0 state RELATED,ESTABLISHED    no    
   2    BRIDGE00    ETH00    ACCEPT all opt -- in BRIDGE00 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   3    ETH02    ETH00    ACCEPT all opt -- in ETH02 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   4    ETH03    ETH00    ACCEPT all opt -- in ETH03 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   5    ETH05    ETH00    ACCEPT all opt -- in ETH05 out ETH00 0.0.0.0/0 -> 0.0.0.0/0    no    
   6    BRIDGE00    ETH04    ACCEPT all opt -- in BRIDGE00 out ETH04 0.0.0.0/0 -> 0.0.0.0/0    no    
   7    ETH04    BRIDGE00    ACCEPT all opt -- in ETH04 out BRIDGE00 0.0.0.0/0 -> 0.0.0.0/0    no    
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> ZeroShell Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it