web-dev-qa-db-fra.com

comment supprimer squid pour fonctionner comme nat qui est déjà configuré dans ubuntu?

Je suis entrain de courir squid3 dans mon Ubuntu 14.04 et essayé l'utilisation du proxy distant à des fins d'étude. Lorsque j'essaie l'accès à distance avec un autre ordinateur dans le LAN de l'Université, je rencontre un journal de cache vide. J'ai donc essayé

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

Ensuite, mon calmar cesse de fonctionner, peu de temps après le début. Comment puis-je annuler les modifications que j'ai apportées à l'aide de la commande ci-dessus ??

2
NIMISHAN

Avec Sudo iptables -t nat --line-numbers -L vous devriez voir quelque chose comme ceci:

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:http redir ports 3128

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination

Supprimez la PREROUTING règle (s) affectant le port 3128:

Sudo iptables -t nat --line-numbers -L | tac | \
    awk '/redir ports 3128/ {system("Sudo iptables -t nat -D PREROUTING "$1)}'

Vérifiez à nouveau les règles:

% Sudo iptables -t nat --line-numbers -L
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination

Explication

iptables -vt nat -L répertorie les règles nécessaires

% Sudo iptables -vt nat -L
Chain PREROUTING (policy ACCEPT 11 packets, 1957 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REDIRECT   tcp  --  eth0   any     anywhere             anywhere             tcp dpt:http redir ports 3128

Chain INPUT (policy ACCEPT 2 packets, 194 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 152 packets, 14386 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 152 packets, 14386 bytes)
 pkts bytes target     prot opt in     out     source               destination

Et nous avons besoin des règles pour le port 3128 dans l'ordre inverse, si vous en avez plusieurs, et les numéros de ligne

% Sudo iptables -t nat --line-numbers -L | tac | awk '/redir ports 3128/'
1    REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:http redir ports 3128

un peu awk magic supprime les règles ligne par ligne

awk '/redir ports 3128/ {system("Sudo iptables -t nat -D PREROUTING "$1)}'
1
A.B.