Очень подробная инструкция, без особых технических премудростей, рассчитана на тех кто хочет сменить шлюз Windows на Ubuntu.
Описал подробно для уровня пользователь.
Инструкция правленая с учётом замечаний в постах нижеПосле того как меня попинали на форумах - иди ищи, сам думай, мне пришлось так и пришлось поступить, ни кому этого не желаю, убил почти неделю, лучше бы повалялся на диване, но всё же перелез с виндового шлюза на линуксовый.
Я знаком с линуксом 1 неделю, по этому теории мало, как и практики.
В инструкции описано как поднять простой интернет шлюз для локалки и прилепить к нему
прозрачный кеширующий прокси сервер, 100% рабочий, и без всяких наворотов, больше эта
конфигурация ничего делать не будет, разрешает всё всем.
И так если всё будешь делать как я тут напишу всё будет работать.
Делаем всё медленно и внимательно, так как любая орфографическая ошибка может привести
к неработоспособности сервера.
Качаем сам дистриб убунты - этот и ни какой другой, за остальные версии не ручаюсь.
http://releases.ubuntu.com/karmic/ubuntu-9.10-server-i386.iso.torrentУстановка проблем вызвать не должна, будет маленькая запарка на 5 сек с выбором
раздела и свопом, но не паримся выбираем раздел или диск целиком если не жалко и жмём
авто, она сама сделает подкачку и форматнёт диск.
Всё дошли до консоли
пишем:
vasya
Это имя которое вы дали при инсталляции убунты
Далее соответственно вводим пароль, его вы тоже дали при установке убунты
Дальше нужно дать машине интернет:
пишем:
sudo nano /etc/network/interfaces
Надеюсь понятно что он лежит в директрии /etc/network/
откроется этот фаил нужно его отредактировать.
Условия:
Модем настроен роутером и имеет адрес 192.168.1.1
Сетевуха подключенная к нему будет называться eth0
Вторую сетевуху которая будет раздавать инет назовём eth1
Там ещё будет интерфейс lo не трогаем его это 127.0.0.1
В оконцовке выглядеть всё должно так:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
post-up /etc/nat-up
Жмём F2 - сохранить
Мы опять в консоли
пишем:
sudo nano /etc/resolv.conf
Это фаил где нужно прописать DNS, во всех мануалах советуют прописать там DNS-ы
провайдера, мы не будем усложнять и пишем так:
nameserver 192.168.1.1
Больше там быть ничего недолжно.
Дальше нужно перегрузить интерфейсы:
sudo /etc/init.d/networking restart
.
Если всё без ошибок то инет мы уже имеем.
пишем:
sudo apt-get update
пишем:
sudo apt-get upgrade
это всё обновления.
пишем:
sudo apt-get install dnsmasq
это собственно NAT он нам понадобится потом всего для одной записи.
пишем:
sudo apt-get install squid
Собственно сам проксик
Ubuntu сама его скачает и установит, кстати почти всё по так и устанавливается
sudo apt-get install имя_проги
Всё обновлено до актуального состояния.
Далее нам нужен фаил автозагрузки, можно использовать существующие, но лучше создать собственный, что бы не париться потом.
пишем:
sudo touch /etc/nat-up
создали
пишем:
sudo chmod +x /etc/nat-up
сделали исполняемым
пишем:
sudo /etc/init.d/squid stop
мы его будем редактировать позже, по этому остановим.
Далее нам нужен старый добрый Norton Commander. (nc)
тут он зазывается MC
пишем:
sudo apt-get install mc
Последний раз мы в консоли, достал чёрный экран.
пишем:
mc
Менеджер фаилов в нашем распоряжении.
Внимание, при редактировании некоторых фаилов через МС, мы не можем делать это из под обычного пользователя, по этому необходимо войти в систему под root, для этого нужно сначала задать ему пароль.
sudo passwd root
После этого просто пишем
Su
Вводим пароль и далее юзаем всё уже с полными правами. Но это для крайних случаев, когда невозможно сохранить фаил из под обычного юзера, а вообще рекомендую создать папку TEMP и сдублировать туда все конфиг файлы перед их редактированием.
-Находим фаил nat-up
открываем его F4
пишем туда следующий конфиг:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.2
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128
Любая ошибка и прощай рабочий сервер)))
Долго объяснять каждую строчку, кому интересно почитайте про интерфейс iptables
тут
http://easylinux.ru/node/190Сохраняем Ctrl+O выходим Ctrl+X
Тем же макаром находим фаил dnsmasq.conf он в корне /etc
открываем, находим сторчку listen-address=127.0.0.1....,
кстати поиск Ctrl+W, раскоментируем, (стираем # перед записью))
и приводим его в такое состояние
listen-address=127.0.0.1, 192.168.0.1
сохранили, вышли.
Далее находим фаил squid.conf он в директории /etc/squid/
Тут жесть сколько записей, по этому активно пользуемся поиском
Нужно найти, раскоментировать и привести в следующее состояние следующие строки:
http_port 3128 transparent
просто добавили transparent
cache_dir ufs /var/spool/squid 30000 16 256
ключевой параметр 30000 это 30 гигов под кеш, можете ставить как хотите.
error_directory /usr/share/squid/errors/ru
ставим вместо en ru может пригодиться потом.
memory_pools on
убираем комент
memory_pools_limit 256 MB
это сколько оперативы вы готовы выделить для сквида, меньше можно, больше не уверен, но у меня так при 1024 общей.
http_access allow localnet
http_access allow localhost
У меня обе строчки раскоментированны, но по идее достаточно и одной.
acl localnet src 192.168.0.0/24
Эта строка должна быть раскоментированна и выглядеть так.
Ну это для наших условий сети 192.168.0.1-192.168.0.254
сохранить и выйти
выходим из мс F10
Перегружаемся, и всё обязано должно работать, если нет то ищи где ошибся.
Инструкция правленая с учётом замечаний в постах ниже.
Спасибо Mam(O)n, Frank, AnrDaemon за помощь
На моём оборудовании работает без ошибок.
Как будет работать у вас гарантировать не могу
Источник:
База бесплатных CSS3 и jQuery http://helix.su