Есть задача, быстро организовать проксик для небольшого офиса, чтобы отдельным юзерам разрешить доступ в web, а другим только почту (pop/smtp), одновременно хочеться вести логи и возможно в будущем лимитировать трафик.
Дано:
- Дохлый системник, со 128 ОЗУ, с одной сетевухой
- Интернет через adsl-модем d-link (pppoe, модем роутером)
Как я сделал:
- Поставил xubuntu, отключил иксы (они всеравно грузились полчаса, и свопило всё).
- Поставил Squid, в конфиг дописал (перечислены адреса кому доступен http):
acl Local src 192.168.1.2
acl Local src 192.168.1.3
acl Local src 192.168.1.4
http_port 3128
http_access allow Local
http_access deny all- Для "мыла" создал такие iptables-правила (добавив скриптик в автозапуск, там где сетка поднимается):
iptables -A FORWARD -o eth0 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -o eth0 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -o eth0 -p tcp -j REJECT
sysctl net.ipv4.ip_forward=1
- На adsl-модеме зафильтровал(запретил) доступ всем кроме "прокси-сервера"
---------------------------------
И собственно вопрос. На сколько это хреново?
Сразу говорю, в iptables я не знаток, сделал почти наугад. А готового решения для такой странной архитектуры (когда сетевых устройств не два, а одно) в инете не видел.
Так что, кто по сетям знаток, раскритикуйте :)