고정 IP 주소를 사용하는 서버의 공간을 임대했으며 이 서버에 투명 프록시를 설정하고 싶습니다.
리스너를 사용하여 테스트 목적으로 Squid를 구성한 후 http_access allow all
iptables 정보를 설정하고 싶었습니다. 고정 IP 주소가 마운트된 이더넷 연결은 하나만 있습니다. 단일 NIC로 이 작업을 수행하는 방법에 대한 일부 문서를 찾았지만 찾을 수 없습니다. (두 개 이상의 경우에는 충분하지만 단일 NIC에는 해당되지 않습니다.)
현재 다음과 같은 출력이 제공됩니다.
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는 완전히 비어 있습니다. 올바르게 작동하는 투명 프록시를 위해 ebtables가 필요합니까, 아니면 ebtables 없이 이 작업을 수행하기에 충분한 iptables가 있습니까? 그렇다면 설정을 위해 저에게 알려주실 수 있는 쉬운 명령이 있나요?
출처:
- 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으로 오는)을 Squid 서버 포트 3128로 전달하기 위해 다음 규칙을 추가했습니다.
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
작동해야 하는데 작동하지 않습니다...