Интернет-шлюз на базе Ubuntu Server / Internet Connection Sharing + Squid, Firestarter Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:sharing_internet [2013/08/22 14:49]
[Прокси-сервер squid]
wiki:sharing_internet [2014/05/16 22:39] (текущий)
Строка 5: Строка 5:
 Собственно,​ установка шлюза на базе Ubuntu Server занимает не больше 10-15 минут. Собственно,​ установка шлюза на базе Ubuntu Server занимает не больше 10-15 минут.
  
 +===== PPPoE =====
 Если Вы используете для подключения по локальной сети [[wpru>​PPPoE|PPPoE]],​ вам необходимо просто-напросто ввести в терминале команду:​ <​code>​sudo pppoeconf</​code>​ Если Вы используете для подключения по локальной сети [[wpru>​PPPoE|PPPoE]],​ вам необходимо просто-напросто ввести в терминале команду:​ <​code>​sudo pppoeconf</​code>​
 и дать ответы на вопросы. По окончании работы ''​pppoeconf''​ соединение должно быть установлено. и дать ответы на вопросы. По окончании работы ''​pppoeconf''​ соединение должно быть установлено.
 +
 +===== L2TP =====
 +Если Вы используете для подключения к провайдеру[[wpru>​L2TP|L2TP]],​ то
 +для этого понадобится установить xl2tpd — демон l2tp и pppd — демон ppp.((Настройка на примере Билайна))
 +
 +Устанавливаем:​
 +<code bash>​sudo apt-get install pppd xl2tpd</​code>​
 +
 +Редактируем файл настроек xl2tpd:
 +
 +<code bash>​sudo nano /​etc/​xl2tpd/​xl2tpd.conf</​code>​
 +
 +<file bash>​[global]
 +access control = yes  #  разрешать соединения только с адресами из lac секций
 +
 +[lac beeline]
 +lns = tp.internet.beeline.ru # адрес для подключения
 +redial = yes               # "​перезвонить"​ при потере связи
 +redial timeout = 10        # время между попытками переустановить связь после обрыва(в секундах)
 +max redials = 100          # максимальное количество попыток
 +autodial = yes             # устанавливать соединение при запуске xl2tpd
 +require pap = no           # не использовать pap аутентификацию
 +require chap = yes         # использовать chap аутентификацию ​
 +require authentication = no  # не использовать аутентификацию удаленного сервера
 +name = 000ххххххх ​         # логин
 +pppoptfile = /​etc/​ppp/​options.l2tp ​ # файл с опциями ppp
 +ppp debug = yes # вывод подробной информации pppd в syslog
 +tx bps = 100000000 ​        # скорость туннеля</​file>​
 +
 +Затем редактируем:​
 +
 +<code bash>​sudo nano /​etc/​ppp/​options.xl2tp</​code>​
 +
 +<​file>​000ххххххх #номер договора
 +noauth
 +nobsdcomp ​            # ​
 +nodeflate ​            # параметры сжатия пакетов
 +nopcomp ​              # ​
 +noaccomp ​             # 
 +connect /bin/true
 +remotename beeline ​   # метка для удаленного сервера
 +ipparam beeline ​      # дополнительный параметр для системных скриптов
 +defaultroute ​         # маршрут по умолчанию через ppp интерфейс
 +replacedefaultroute
 +mtu 1460</​file>​
 +
 +Записываем в файл chap-secrets логин и пароль:​
 +
 +<code bash>​sudo nano /​etc/​ppp/​chap-secrets:</​code>​
 +
 +
 +<​file>​login * password</​file>​
 +
 +
 +Запускаем xl2tpd,
 +
 +<code bash>​sudo service xl2tpd start</​code>​
 +
 +соединение должно быть установлено.
  
 На установленной машине Интернет появился. Теперь надо добавить включить все репозитарии в ''/​etc/​apt/​source.list''​ и выполнить:​ <​code>​sudo apt-get update</​code>​ На установленной машине Интернет появился. Теперь надо добавить включить все репозитарии в ''/​etc/​apt/​source.list''​ и выполнить:​ <​code>​sudo apt-get update</​code>​
Строка 43: Строка 103:
  
 Затем для заворачивания нужных портов на прокси-сервер прописывается правило: ​ Затем для заворачивания нужных портов на прокси-сервер прописывается правило: ​
-<​code>​iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/​24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:​3128</​code>​+<​code>​iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/​24 -p tcp -m multiport --dports ​80,8080 -j DNAT --to-destination ​192.168.0.1:​3128</​code>​
  
 ====== Раздача Интернета в локальную сеть c помощью firestarter ====== ====== Раздача Интернета в локальную сеть c помощью firestarter ======
Строка 83: Строка 143:
 <​code>​sysctl -w net.ipv4.ip_forward="​1"</​code>​ <​code>​sysctl -w net.ipv4.ip_forward="​1"</​code>​
  
-Затем добавляем правило для [[wpru>/NAT|NAT]]:+Затем добавляем правило для [[wpru>​NAT|NAT]]:​
 <​code>​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</​code>​ <​code>​iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</​code>​
 Где eth0 название вашего интерфейса через который выходите в интернет. Измените его если используете другой интерфейс (напрмер ppp0) тогда команда будет выглядит иначе: Где eth0 название вашего интерфейса через который выходите в интернет. Измените его если используете другой интерфейс (напрмер ppp0) тогда команда будет выглядит иначе:
Строка 112: Строка 172:
  
 Второй компьютер теперь должен быть подключён к интернету. Второй компьютер теперь должен быть подключён к интернету.
 +
 +====Если компьютеров несколько====
 +Можно использовать dnsmasq ​ как [[wpru>​DHCP|DHCP]] сервер.
 +Для этого на сервере редактируем файл dnsmasq.conf:​
 +
 +<code bash>​sudo nano /​etc/​dnsmasq.conf</​code>​
 +
 +<file bash>​interface=eth1 # интерфейс,​ который будет слушать dnsmasq
 +
 +listen-address=192.168.0.1 # адрес, на котором будет находиться dnsmasq
 +
 +bind-interfaces eth1 # слушать только интерфейс
 +
 +dhcp-range=192.168.0.5,​192.168.0.50,​255.255.255.0,​24h1 ​ # диапазон выдаваемых адресов
 +
 +dhcp-option=3,​192.168.0.1 # шлюз по умолчанию </​file>​
 +
 +Перезапускаем dnsmasq:
 +
 +<code bash>​sudo service dnsmasq restart</​code>​
 +
 +Настраиваем клиентские компьютеры на автоматическое получение адреса.
  
 Если после перезагрузки правила iptables не восстанавливаются,​ добавьте:​ Если после перезагрузки правила iptables не восстанавливаются,​ добавьте:​