Есть сервер на ASPLinux 9.2.
К серверу подключены сетевые eth1 (192.168.0.1), eth2 (192.168.0.2), eth3 (192.168.0.3) и так далее.
К eth0 подключен модем с PPPoE соединением, т.е. есть ещё ppp0 ($EXTIP). IP динамический.
К каждой сетевой подключен компьютер с WinXP, у каждого компьютера локальный ip-адрес, т.е. к eth1 подключен комп с IP 192.168.0.101, к eth2 - 192.168.0.102, к eth2 - 192.168.0.103.
В наличии есть подсетка реальных адресов того же провайдера, настроенной на нас.
На сервере установлен squid.
Задача: сделать так, что бы клиентские машины с XP могли ходить в инет через NAT и через прокси КАЖДЫЙ ПОД СВОИМ IP ИЗ ПОДСЕТКИ РЕАЛЬНЫХ АДРЕСОВ.
Я далеко не гуру, поэтому почесав репу в голову пришёл такой вариант:
- поднимаем на каждый IP из подсетки свой интерфейс ppp0:0, ppp0:1, ppp0:2 и т.д., прописываем им эти IP.
- в iptables делаем:
-A POSTROUTING -s 192.168.0.101/255.255.255.255 -j SNAT --to-source X.X.X.X1
-A POSTROUTING -s 192.168.0.102/255.255.255.255 -j SNAT --to-source X.X.X.X2
-A POSTROUTING -s 192.168.0.103/255.255.255.255 -j SNAT --to-source X.X.X.X3
...
(X.X.X.X1-3 - реальные IP из подсетки)
- в squid'e:
acl machine1 src 192.168.0.101/255.255.255.255
acl machine2 src 192.168.0.102/255.255.255.255
acl machine3 src 192.168.0.103/255.255.255.255
...
tcp_outgoing_address X.X.X.X1 machine1
tcp_outgoing_address X.X.X.X2 machine2
tcp_outgoing_address X.X.X.X3 machine3
...
- делаем
route add -host 192.168.0.101 dev eth1
route add -host 192.168.0.102 dev eth2
route add -host 192.168.0.103 dev eth3
...
Вроде так делал и ничего не получилось. В чём ошибка?