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 ??
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)}'