Newsgroup: it.comp.os.linux.sys
Titolo: forward o redirect

Ciao a tutti,
so che è una domanda quasi da newbie ma sto schizzando per far fare il
routing ad un firewall sulla stessa ethernet. L'unico modo in cui sono
riuscito a farglielo fare è di inserire un'altra eth e fare forward tra
le due ma così non va bene perchè devo migrare degli ip e non posso
aggiungere altre eth.
La linux box è il default gateway della lan; in lan c'è un router che
gestisce delle connessioni remote isdn.
vorrei dire al firewall che tutti i pacchetti che gli arrivano diretti per
le sedi remote devono essere rediretti sul router (che è sulla stessa lan
e che la linux box raggiunge attraverso la stessa eth da cui provengono i
pacchetti di richiesta).
Tnk's in advance
-- 
Rizio
__
So many women and so little time.

 le sedi remote devono essere rediretti sul router
Devo supporre che ste' "sedi remote" abbiano degli indirizzi IP
specifici, o che abbiano una particolare subnet.
route add -host ip.della.sede.remota gw ip.del.router.isdn
o
route add -net net.delle.sedi.remote gw ip.del.router.isdn
Non basta?
Davide
-- 
Windows 95 is crash compatible with Windows 1.0, 2.x, and 3.x.

 Davide
Non so cosa altro può essere.


 Attualmente sono configurato cosě ma ho scoperto che non funziona...
Hummm... questo e' quello che ho io:
$ /sbin/route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.200.14  0.0.0.0         UG    0      0        0 eth0
Quindi il mio gateway e' 192.168.200.14 e la mia rete e' 192.168.200.x.
Il mio server remoto (a casuccia mia) e' 
192.168.108.58
:
$ ping 192.168.108.58
PING 192.168.108.58 (192.168.108.58) 56(84) bytes of data.
64 bytes from 
192.168.108.58
: icmp_seq=1 ttl=252 time=42.9 ms
64 bytes from 
192.168.108.58
: icmp_seq=2 ttl=252 time=45.8 ms
$ traceroute 192.168.108.58
traceroute to 192.168.108.58 (192.168.108.58), 30 hops max, 38 byte packets
 1  
fw.zaak.com
 (192.168.200.14)  0.729 ms  0.645 ms  0.746 ms
 2  
zaak-fw.vpn.com
 (172.17.200.1)  15.881 ms  26.318 ms  9.557 ms
 3  
davide.vpn.com
 (172.17.108.58)  41.462 ms  43.270 ms  32.050 ms
 4  yoda (192.168.108.58)  34.013 ms  37.555 ms  42.865 ms
Ergo: il gateway redirige verso il server VPN ed il server VPN redirige
verso il mio server. Nessun problema. Io comincerei a controllare nel
tuo caso se il router accetta connessioni dal gateway.
Davide
-- 
Robert Tappen Morris, Jr., got six months in jail for crashing 10
percent of the computers that Bill Gates made $100 million crashing last 
weekend.

 172.31.1.3 to 10.10.10.1.
Ovvero, 10.10.10.3 non si cura degli icmp redirect che gli manda
il firewall e continua a forwardare le frame al firewall invece che
al router.
Che sistema operativo ha 10.10.10.3, tanto per cominciare?
-- 
Per non dimenticare:
http://snipurl.com/SdC_ed_il_vino
Le sigarette a volte danno buoni consigli:
http://snipurl.com/sigarette

 tuo caso se il router accetta connessioni dal gateway.
Premesso che approfondirò le verifiche sul router provo ad approfondire
le informazioni che ti ho dato (anche perchè la situazione è più
complessa) perchè anch'io sono configurato così ma ottengo quell'errore
nel syslog.
  		(LAN INTERNA 10.10.10.x)
  -----------------------------------------------
  |			|			|
  |			|	ROUTE EIGRP	|
10.10.10.254		10.10.10.1		10.10.10.2
fw-linux     		router1-----------------router2
ip_pubblico		172.16.1.1		172.31.1.1
  |			|			|
router3			|			|
  |			---------		---------
internet		|	|			|
			sede1	sede2			sede3 (quella da raggiungere)
		       (172.16) (172.17)		(172.31)
Il default gw di tutta la lan dovrebbe essere il 10.10.10.254 e dovrebbe
fare redirect verso il 172.31.1.1. ma con un 
route add -net 172.31.0.0 netmask 255.255.0.0 gw 10.10.10.2
oppure
route add -net 172.31.0.0 netmask 255.255.0.0 gw 10.10.10.1
(che comunque si vedono attraverso eigrp) non funziona e non capisco
perchè ?
grazie 1000 intanto.


 Che sistema operativo ha 10.10.10.3, tanto per cominciare?
Effettivamente il 10.10.10.3 ha un Win2k server installato però ottengo
lo stesso risultato anche da un linux (10.10.10.24).
Perchè non ascoltano i consigli ? Come faccio a dir loro di farlo ?


 Perchè non ascoltano i consigli ? Come faccio a dir loro di farlo ?
Su Win2k *preferisco* non esprimermi. :)
Per la 10.10.10.24, vai brutalmente di 
echo "1" > /proc/sys/net/ipv4/conf/$if_name/accept_redirects
echo "1" > /proc/sys/net/ipv4/conf/all/accept_redirects 
e vedi se a quel punto il ping ti va.
Accertati, ovviamente, che il firewall emetta i redirect
Per ulteriori troubleshooting, vai di tcpdump .


 Per ulteriori troubleshooting, vai di tcpdump .
con tcpdump non vedo tornare le risposte, domani provo a fare debug sul
router per vedere quello che passa (o che non passa)


 con tcpdump non vedo tornare le risposte
Se usi tcpdump sul client linux  con lo switch -e vedrai anche indirizzo
mac di destinazione.
Se, dopo la ricezione dei redirect, il mac di destinazione delle frame
cambia da quello del firewall a quello del router, allora il problema
è sul router.


 sul router.
Opsss... mi è semblato di vedele un casino ....
Perchè se dal server 2k pingo un client sulla 172.31 sul firewall vedo
passare solo gli echo request dal 10.10.10.2 al 172.31.1.3 con il
mac-address del server 2k e quello della eth0 del firewall al posto del
client 172.31 ?
Es.
-ping dal server verso il client-
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
echo request 
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 >
172.31.1.3
: icmp: echo request 
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74:
10.10.10.2 > 
172.31.1.3
: icmp: echo request 
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae
0800 74: 10.10.10.2 > 
172.31.1.3
: icmp: echo request
-ping dal client verso il server-
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
echo reply 0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 128.1.1.2 > 
172.31.1.3
:
icmp: echo reply 0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 128.1.1.2 >
172.31.1.3
: icmp: echo reply 0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74:
128.1.1.2 > 
172.31.1.3
: icmp: echo reply


 sul router.
Azzz... mi è semlbato di vedele un casino !!!!
Praticamente il firewall risponde con l'ip del client ma con il suo
mac-address :(
Es. (tolgo l'orario che tanto è in più)
	-dal server 2k pingo il client 172-
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
	echo request 
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp: 
	echo request
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
	echo request 
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
	echo request
	-dal client 172 pingo il server 2k-
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
	echo reply
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
	echo reply
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
	echo reply
0:8:2:ef:fc:16 0:a:5e:1d:3e:ae 0800 74: 10.10.10.2 > 
172.31.1.3
: icmp:
	echo reply
il problema è che il client 172 ha un mac-address diverso !!! quello
relativo al 172.31.1.3 è il mac-address dell'eth0 del firewall, perchè ???
Non ho proxy arp attivati, non ho altri amenicoli in giro, perchè
risponde lui invece che rispondere con un redirect ?
AIUTTTTTOOO (come diceva Sid il bradipo nell'Era Glaciale)


 risponde lui invece che rispondere con un redirect ?
Il punto è un altro: perchè non tira fuori gli icmp redirect?
Hai regole di iptables in OUTPUT?


 Hai regole di iptables in OUTPUT?
Queste sono quelle con cui gira il firewall normalmente
root@fw:/# iptables -L OUTPUT
Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere           state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere           icmp echo-request length 32:256
ACCEPT     tcp  --  anywhere             anywhere           multiport dports domain,ntp
ACCEPT     udp  --  anywhere             anywhere           multiport dports domain,ntp
ACCEPT     tcp  --  anywhere             anywhere           multiport dports smtp,pop3
ACCEPT     all  --  anywhere             
192.168.10.0/24
ACCEPT     tcp  --  anywhere             mio_pc		    tcp dpt:ssh
ACCEPT     udp  --  anywhere             nagios		    udp dpt:syslog
(per cercare di capire meglio il prob ho aggiunto anche queste in testa)
ACCEPT     all  --  anywhere             
172.31.0.0/16
 
ACCEPT     all  --  fw			 srv01 
ACCEPT     all  --  srv01		 fw
in INPUT ho:
root@fw:/# iptables -L INPUT
Chain INPUT (policy DROP)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere           state INVALID
ACCEPT     all  --  anywhere             anywhere           state RELATED,ESTABLISHED
DROP       udp  --  anywhere             anywhere           state NEW
ACCEPT     icmp --  anywhere             anywhere           icmp echo-request
DROP       icmp --  anywhere             anywhere           icmp timestamp-request
DROP       icmp --  anywhere             anywhere           icmp timestamp-reply
ACCEPT     all  --  localhost            anywhere
ACCEPT     all  --  mio_pc		 fw		    
(e anche qui ho aggiunto queste in cima durante le prove)
ACCEPT     all  --  anywhere             
172.31.0.0/16
ACCEPT     all  --  fw			 srv01
ACCEPT     all  --  srv01		 fw
tieni comunque conto che sul firewall sono montate 4 eth e fa
routing correttamente se collego la 172.31.x.x ad un'altra eth.
Intanto grazie per la pazienza.


 Il MAC address funziona solo sul segmento ethernet locale.
Premesso che non mi sono ancora documentato sul funzionamento del layer2
perciò se anche questo comportamento è normale ignora in toto questo
messaggio.
Ho sniffato un ping tra un client sulla 172 e un client nella
lan (che ha come default gw il firewall).
il 172.31.1.3 pinga il 10.10.10.250 correttamente
il 10.10.10.250 risponde al 172.31.1.3 usando il mac-address del firewall
perciò il pacchetto di risposta non arriva al 172.31.1.3
ha senso questo ?


 root@fw:/# iptables -L OUTPUT
Sii gentile e riposta l'output di
iptables -vnL OUTPUT, perche', ad esempio, non so chi sia srv01. :)


 iptables -vnL OUTPUT, perche', ad esempio, non so chi sia srv01. :)
Scusa, non avevo pensato ai nomi,
Chain OUTPUT (policy DROP 17 packets, 12004 bytes)
 pkts bytes target     prot opt in     out     source               destination
31737 2207K ACCEPT     all  --  *      *       
0.0.0.0/0
 
0.0.0.0/0
          state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       
0.0.0.0/0
 
0.0.0.0/0
          icmp type 8 length 32:256
    0     0 ACCEPT     tcp  --  *      *       
0.0.0.0/0
 
0.0.0.0/0
          multiport dports 53,123
    6   385 ACCEPT     udp  --  *      *       
0.0.0.0/0
 
0.0.0.0/0
          multiport dports 53,123
    2   120 ACCEPT     tcp  --  *      *       
0.0.0.0/0
 
0.0.0.0/0
          multiport dports 25,110
    0     0 ACCEPT     all  --  *      *       
0.0.0.0/0
 
192.168.10.0/24
    0     0 ACCEPT     tcp  --  *      eth0    
0.0.0.0/0
            10.10.10.250        tcp dpt:22
   92  6730 ACCEPT     udp  --  *      eth0    
0.0.0.0/0
            10.10.10.200        udp dpt:514
quelle che avevo inserito dopo erano queste.
ACCEPT     all  --  
0.0.0.0/0
 
172.31.0.0/16
 
ACCEPT     all  --  10.10.10.254	 10.10.10.2
ACCEPT     all  --  10.10.10.2		 10.10.10.254
10.10.10.254 ip interno del firewall (fw)
10.10.10.2   server w2k interno (srv01)
