Newsgroup: it.comp.os.linux.iniziare
Titolo: iptables - Unknown arg - Squid redirection

Salute a tutti,
ho seguito passo passo questo tutorial
https://faberlibertatis.org/wiki/Hotspot_Ubuntu_Dapper_Server_HOWTO
quando tento di aggiungere questo comando
iptables -t nat -A PREROUTING -i tun0 -p tcp -s 
192.168.1.0/24
 --dport 80 -j 
REDIRECT --to-destination 
127.0.0.1:3128
ottengo la risposta
Unknown arg: --to-destination
In particolare dovrei ridirigere tutte le connessioni in entrata alla porta 
80 su tun0, provenienti dalla rete 
192.168.1.0/24
, alla porta 3128 dove è in 
ascolto squid.
Ho anche provato con
iptables -t nat -A PREROUTING -i tun0 -p tcp -s 
192.168.1.0/24
 --dport 80 -j 
DNAT --to 
127.0.0.1:3128
il comando va a buon fine ma i client della rete già citata non navigano.
Togliendo quest'ultima regola da iptables i client navigano ma non passano, 
chiaramente, per squid che invece è proprio quello che mi necessita.
Qualcuno sa darmi una mano a risolvere ?
TIA 

 Ma Squid lo hai configurato come proxy trasparente per bene?
Ho seguito l'howto (ed anche ciň che dicevano altri howto riguardanti il 
transparent proxy di squid), BTW la mia configurazione dello squid.conf č 
questa:
http_port 
127.0.0.1:3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
hosts_file /etc/hosts
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
#Recommended minimum configuration:
acl all src 
0.0.0.0/0.0.0.0
acl SSL_ports port 443 563      # https, snews
acl SSL_ports port 873          # rsync
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 631         # cups
acl Safe_ports port 873         # rsync
acl Safe_ports port 901         # SWAT
acl manager proto cache_object
acl localhost src 
127.0.0.1/255.255.255.255
acl to_localhost dst 
127.0.0.0/8
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl our_networks src 192.168.2.17 
192.168.1.0/24
http_access allow our_networks
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
visible_hostname 
hotspot.dominio.org
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
coredump_dir /var/spool/squid
TIA 

 Che roba e' sta' qui? http_port, vuole una PORTA, non un'indirizzo IP.
Invece e' consentito, specialmente in configurazione transparent, cosi'
da evitarne il binding su tutte le interfacce:
http://tinyurl.com/2llbwy
http://openskills.info/topic.php?ID=51
e cosi' via...

 
http://openskills.info/topic.php?ID=51
Quoto. 

 correttamente.
Non faccio giochetti ma tento di far funzionare qualcosa e contestualmente 
cerco anche di capire come.
Il proxy funziona perfettamente se faccio il binding all'interfaccia eth1* 
ma la mia necessità è un altra e se ti fossi letto, almeno nella parte che 
si riferisce alle impostazioni di squid, il link che ho postato ad inizio 
thread forse lo avresti compreso.
Il proxy, con il binding alla 
127.0.0.1:3128
, in locale funziona ottimamente 
mentre con la stessa impostazione, da altre macchine della LAN, non permette 
la connessione** seppur a firewall "azzerato"***.
Evidentemente c'è qualcosa, nella configurazione di squid o che so io, che 
impedisce a connessioni provenienti dall'esterno di usare l'interfaccia 
127.0.0.1.
Spero ora sia un pò più chiaro il tipo di problema.
*
 iptables -t nat -A PREROUTING -i eth1 -p tcp -s 
192.168.1.0/24
 --dport 
80 -j DNAT --to 
192.168.1.1:3128
**
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 
192.168.1.0/24
 --dport 80 -j 
REDIRECT --to-port 3128
***
vel@hotspot:~$ sudo iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
vel@hotspot:~$ sudo iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
vel@hotspot:~$ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  
192.168.1.0/24
       anywhere            tcp dpt:www 
to:
127.0.0.1:3128
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Vel wrote:
[snip]
Ciao. Non ho una soluzione ma ho il tuo stesso problema (ho appena postato
su it.comp.os.linux.debian).
Sperem ! :-)