Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: HOWTO: Быстрое создание шлюза в интернет, Ubuntu Serverv 8.04  (Прочитано 2844 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nesmit

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Хочется: Нат + прозрачный прокси.
Должно работать на любой версии ubuntu
Дано:
eth0: 192.168.1.3, смотрит в adsl сторону модема. Интернет.
eth1: 192.168.0.1, смотрит в локальную сеть которой нужен интернет.

Первым делом правим rc.local, приводим к такому виду.
Цитировать
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Сбросить правила и удалить цепочки, чистим. Для случаев когда нужно пересбросить правила.
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

#Правила для запуска SNAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 192.168.1.3

#Правило для прозрачного прокси, в сквиде указан порт 3128.
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24 -d ! 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 8031

#Открываем Фовардинг
echo "1" >  /proc/sys/net/ipv4/ip_dynaddr
echo "1" >  /proc/sys/net/ipv4/ip_forward

exit 0

Устанавливаем сквид
sudo apt-get install squid
Приступаем к его настройке!

Ищем где прописывается порт, по умолчанию это http_port 3128
заменяем на.
http_port 3128 transparent
раскомментировать эту строчку.
cache_dir ufs /var/spool/squid 100 16 256Размер кэша можно увеличить, для большей экономии.

Ищем слово our_networks, 2 строки подряд закоментированы.
приводим к след виду.
acl our_networks src 192.168.0.0/24
http_access allow our_networks

в конце файла добавляем строку
visible_hostname proxy
теперь под рутом пересоздаем кэш
#squid -z
Запускаем
/etc/init.d/squid restart
запускаем скрипт с прописанным натом под рутом
#sh /etc/rc.local
Итог:
Ну вот, интернет побежал по локалке. Все у кого прописан шлюз 192.168.0.1, могут пользоваться интернетом.
Заодно получили некоторую экономию в трафике. Если кеш был увеличен, к примеру до 10 гигабайт. После изменения параметров кэша, обязательно перегрузите его командой с правами root "squid -z".
PS: Поправил правило прозрачного прокси. Теперь то что пренадлежит локальной сети не заворачивается на прокси.
« Последнее редактирование: 19 Августа 2009, 14:45:08 от Nesmit »

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.