И снова здрасте. Наконец-то я освободился от навалившихся дел, учебы и прочих неприятностей жизни… Некоторое время назад, мой уже бывший интернет провайдер(не будем его называть) прекратил выполнять свои обязательства договора и мы с ним попрощались Сейчас уже все хорошо, мы нашли отличную альтернативу. Сегодня я хотел бы поведать Вам, о своей локальной сети, ее устройство, в общем, что где, для чего и зачем Нус начнем… Сразу хочу Вам продемонстрировать схему сети, чтобы проще было ориентироваться, в общем вот она:
Как видно из рисунка, интернет с роутером находится не у меня в квартире(если бы был у меня, статьи бы не было ). У друга все просто, интернет передается по лану и ноуту по wi-fi. Кабель от роутера идет ко мне в компьютер(соединили шестой и первый этаж в свое время). Остается ноутбук, забрал у друга сетевую карту с кабелем, соеденил ноутбук с компьютером в сеть(Можно было бы конечно купить wi-fi плату, но с деньгами напряг). Сделал в Windows 7 мост между 2 сетевыми картами, все, у ноута интернет + локалка, ничего сложного, НО моя основная система Ubuntu, а не 7… вот теперь начинается самое интересное
Я очень долго ломал голову, как сделать, что-то типо моста в Windows, только в Ubuntu… Мои попытки с bridge-utils были четны, интернет ни как не хотел раздаваться… Тогда начался долгий поиск нужного и рабочего, но как говорится кто ищет, тот всегда найдет и мне повезло
Для раздачи интернета в моем случае потребовалось 2 сетевые карты, сама Ubuntu и настройки которые я приведу ниже. Перед любым редактированием файлов, я рекомендую Вам делать бэкап изменяемых файлов
Адрес роутера 192.168.0.1, кабель от него втыкается в первую сетевую плату и называется eth0. Вторая сетевая плата, которая будет раздавать интернет, называется eth1. Открываем файл interfaces:
sudo gedit /etc/network/interfaces
И приводим его к такому виду:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
post-up /etc/nat-up
Надеюсь тут все понятно, первый блок, там где auto eth0, это IP для первой карты(интернет от роутера). Второй блок auto eth1, это IP для второй карты(интернет на ноут). Сохраняем файл. Теперь в консоли открываем файл resolv.conf
sudo gedit /etc/resolv.conf
Это файл, где нужно прописать DNS, во всех мануалах советуют прописать там DNS-ы провайдера. В нашей ситуации мы пишем DNS роутера:
nameserver 192.168.0.1
Больше там ничего быть не должно. Теперь перезагружаем сетевые интерфейсы:
sudo /etc/init.d/networking restart
Не обращайте внимания на ошибки консоли, говорящие, что она не может найти файл nat-up, мы его ещё не создали. После перезагрузки интернет на компьютере должен функционировать(скоро появится и на ноутбуке). Введенные Вами IP в файл interfaces вы можете проверить выполнив команду ifconfig в консоли. Теперь устанавливаем NAT:
sudo apt-get install dnsmasq
Он нам понадобится для одной записи Так же установим Proxy:
sudo apt-get install squid
Теперь создаем файл автозагрузки:
sudo touch /etc/nat-up
Чуть выше я говорил про него Делаем файл исполняемым:
sudo chmod +x /etc/nat-up
Останавливаем Прокси-сервер:
sudo /etc/init.d/squid stop
И переходим к редактированию файла nat-up. Открываем:
sudo gedit /etc/nat-up
И вставляем в него:
#!/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.0.2
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128
Сохраняем. Будьте внимательны при его редактирование. Открываем файл dnsmasq.conf:
sudo gedit /etc/dnsmasq.conf
Находим строчку #listen-address=, стираем # и приводим строку к такому виду:
listen-address=127.0.0.1, 192.168.1.1
Теперь открываем файл squid.conf:
sudo gedit /etc/squid/squid.conf
Здесь нужно будет изменить несколько значений, поэтому используйте поиск(Ctrl+f). Ищем http_port 3128, просто добавляем transparent, получаем:
http_port 3128 transparent
Ищем cache_dir ufs /var/spool/squid, добовляем/изменяем на 30000 16 256, получаем:
cache_dir ufs /var/spool/squid 30000 16 256
Ключевой параметр 30000 это 30 гигабайт под кеш, можете ставить как хотите. Ищем error_directory /usr/share/squid/errors/en меняем на ru, получаем:
error_directory /usr/share/squid/errors/ru
Ищем memory_pools on, убираем #. Ищем memory_pools_limit, ставим параметр 256 MB, получаем:
memory_pools_limit 256 MB
Это сколько оперативной памяти, Вы готовы выделить для прокси-сервера, меньше можно, больше не уверен. Находим http_access allow localnet и http_access allow localhost, просто раскоментируем(удаляем #). Ищем acl localnet src 192.168.0.0 и меняем на acl localnet src 192.168.1.0/24, получаем:
acl localnet src 192.168.1.0/24
Но это для моих условий сети 192.168.1.0-192.168.1.254. P.s все параметры, которые были изменены в файле squid.conf должны быть раскоментированны! Сохраняем файл, закрываем консоль, перезагружаемся. Настройка Ubuntu завершена. Теперь настроем локальную сеть в Windows 7:
Теперь оба компьютера соединены в локальную сеть и на ноутбуке есть интернет. Если интернета нет, то ищем где ошиблись. Если так и не получается, пишем в комментарии, попробую помочь :). Думаю Вы понимаете, что не обязательно должен быть ноутбук, обычная стационарная машина так же подойдет. Это просто конкретный пример, моих настроек из моей локальной сети. Автор статьи - Монахов Сергей Спасибо за предоставленную статью
Комментарии
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет dnsmasq недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list
E: Для пакета «dnsmasq» не найден кандидат на установку
и точно так же с sudo apt-get install squid
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Не удалось найти пакет squid
Как дальше быть?
Спасибо!
в файле nm-system-setti ngs.conf расположенном в /etc/NetworkMan ager/ в разделе [ifupdown] исправил строку managed=false на managed=true
Мне помогло. Правда значок соединений пропал из трея и соединения в в менеджере подключений...
испугало сначала, но почти сразу увидел, что сеть работает не взирая на значки
Но если есть варианты как вернуть значки и соединения было бы веселее...
я переделал фаил убрал лишние
Открываем файл interfaces:
sudo gedit /etc/network/interfaces
И приводим его к такому виду:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
post-up /etc/nat-up
и все заработало
Сетевухи:
interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# LAN
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
# ISP Network
auto eth1
iface eth1 inet dhcp
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider
Подключение к интернету через
pppoeconf
Разрешения на выход с локальной сети в интернет дал через
sudo dpkg-reconfigur e arno-iptables-f irewall
все работает кроме главного интернет на 2 машине работает только по UDP т.е. скайп и другие приложения в этом духе работают, сайты пингуются, а выйти на них я немогу.
Если кто знает в чём дело плз отпишите буду ждать
Но!
В ней есть один маленький, но очень пакостный "баг" Если в твоей квартире отключить компьютер, то интернет на буке автоматически умирает.
А держать постоянно включенным два компьютера не всегда приемлемо.
RSS лента комментариев этой записи