Я арендовал пространство на сервере со статическим IP-адресом и хотел бы настроить прозрачный прокси на этом сервере.
После настройки Squid для целей тестирования с помощью приемника http_access allow all
я хотел установить информацию iptables. У меня только одно соединение Ethernet с моим статическим IP-адресом. Я искал некоторую документацию о том, как сделать это с одним сетевым адаптером, но я не смог найти ни одного. (Есть много для двух или более, но не для одного сетевого адаптера.)
В настоящее время это дает мне такой вывод:
root@1:~# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:49 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3536 (3.5 KB) TX bytes:3536 (3.5 KB)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
inet6 addr: ::2/128 Scope:Compat
inet6 addr: 2a01:[....]external-ipv6[...]/128 Scope:Global
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:551353 errors:0 dropped:0 overruns:0 frame:0
TX packets:455717 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:351211942 (351.2 MB) TX bytes:267054641 (267.0 MB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:[...]external-ipv4[...] P-t-P:[...]external-ipv4[...] Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
Я не совсем уверен, куда я должен идти отсюда. Мои iptables на данный момент полностью пусты. Нужны ли мне ebtable для корректно работающего прозрачного прокси-сервера или достаточно правильных iptables, чтобы сделать это без ebtables? Если так, есть ли простая команда, которую вы могли бы дать мне, чтобы установить их?
Источники:
- http://wiki.ubuntuusers.de/Squid
- http://freecode.com/articles/configuring-a-transparent-proxywebcache-in-a-bridge-using-squid-and-ebtables
- http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
#
особенно эта цитата должна объяснить мне, как это сделать, но я не понимаю ...
Затем я добавил следующие правила для пересылки всех http-запросов (поступающих на порт 80) на порт 3128 сервера Squid:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
с
iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 80 -j DNAT --to 127.0.0.1:3128
iptables -t nat -A PREROUTING -i venet0:0 -p tcp --dport 80 -j REDIRECT --to-port 3128
это должно работать, но это не так ...