Вроде бы банальная вещь, но проблема есть:
пытаюсь перенаправит трафик c своего ip через сквид через одного из подключенных к роутеру провайдеров. Squid и роутер находятся на одной физической машине.Вот интерфейс, который смотрит в строну интересующего провайдера.
eth3 Link encap:Ethernet HWaddr 00:15:17:C4:A8:80
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::215:17ff:fec4:a880/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3379 errors:0 dropped:0 overruns:0 frame:0
TX packets:3425 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:3978500 (3.7 MiB) TX bytes:346134 (338.0 KiB)
Base address:0xa880 Memory:fe880000-fe8a0000192.168.0.1 - роутер провайдера, с нашего squid-роутера пингуется.
Маршрутизация на squid-роутере:
root:/etc/squid# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.13 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.34.105.28 0.0.0.0 255.255.255.252 U 0 0 0 eth2
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 192.168.0.1 255.255.255.0 UG 0 0 0 eth3 <- вот так я настроил роутинг (чтобы системе было ясно, куда кидать пакеты, когда они идут с ip 192.168.0.2)
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
10.0.0.0 10.0.0.13 255.255.252.0 UG 0 0 0 tun0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.34.105.29 0.0.0.0 UG 1 0 0 eth2В фаерволе на squid-роутере завернул свой ip на сквид:
iptables -t nat -A PREROUTING -s 192.168.2.138 -d ! 192.168.2.63 -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128192.168.2.63 - ip роутера в подсети с моим ip, трафик которого я хочу завернуть.
В сквиде прописал (сквид прозрачный):
acl myip 192.168.2.138
tcp_outgoing_address 192.168.0.2 myip
server_persistent_connections offИду на showip.net - мне показывает внешний ip провайдера по умолчанию, вместо провайдера на eth3.
Что я делаю не так?!
У меня так/etc/squid/squid.conf
acl w3u src "/etc/squid/w3u.txt"
tcp_outgoing_address xxx.xxx.xxx.xxx w3u# cat /etc/squid/w3u.txt
192.168.1.0/24ну и соответственно настроен PBR.
Покажи
# ip ru sh
>[оверквотинг удален]
>acl w3u src "/etc/squid/w3u.txt"
>tcp_outgoing_address xxx.xxx.xxx.xxx w3u
>
># cat /etc/squid/w3u.txt
>192.168.1.0/24
>
>ну и соответственно настроен PBR.
>
>Покажи
># ip ru ship ru sh:
root@:/etc/squid# ip ru sh
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
>[оверквотинг удален]
>>
>>Покажи
>># ip ru sh
>
>ip ru sh:
>
>root@:/etc/squid# ip ru sh
>0: from all lookup local
>32766: from all lookup main
>32767: from all lookup defaultroot@:/etc/squid# ip route list
10.0.0.13 dev tun0 proto kernel scope link src 10.0.0.14
10.34.105.28/30 dev eth2 proto kernel scope link src 10.34.105.30
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.1
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.63
192.168.0.0/24 via 192.168.0.1 dev eth3
192.168.0.0/24 dev eth3 proto kernel scope link src 192.168.0.2
10.0.0.0/22 via 10.0.0.13 dev tun0
127.0.0.0/8 dev lo scope link
default via 10.34.105.29 dev eth2 metric 1
http://www.opennet.me/docs/RUS/LARTC/x348.html