Настройка сети в ubuntu 12.04 (2й шаг настройки сервера)

Это часть руководства для общественного пользования, но будут элементы понятные для меня.

Имея настроенный wi-fi модуль, переходим к созданию домашнего сервера. И начнем с настройки сети, пусть хотя бы интернет для начала будет на самом сервере, а потом уже будем его раздавать по воздуху на квартиру.

Настройка локальной сети со статическим ip

Честно сказать, я изначально ступил, можно было ничего и не настраивать через консоль, а воспользоваться NetworkManager’ом (NM), стандартная утилита для работы с сетью в ubuntu. Но я почему-то решил, что когда я отключу GUI (Graphic User Interface), то NM не заработает. Не могу ответить, прав ли я, но уже не хочется проверять, когда все настроил.

В общем, манула по настройке сети я нашел сразу. Дальше вы можете не читать, потому что дальше будут настройки, которые можно изучить по ссылке.

Для начала надо определить как называются наши интерфейсы.

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 50:af:73:21:d9:f4  
inet addr:172.17.2.10  Bcast:172.17.2.255  Mask:255.255.255.0
inet6 addr: fe8t::52af:73ff:fe21:d9f4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:1616233 errors:0 dropped:7775 overruns:0 frame:0
TX packets:1354868 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:1470698712 (1.4 GB)  TX bytes:235363703 (235.3 MB)
lo        Link encap:Локальная петля (Loopback)  
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:2435 (2.4 KB)  TX bytes:2435 (2.4 KB)
wlan0     Link encap:Ethernet  HWaddr 20:16:d8:c3:44:47  
inet6 addr: fe8t::2216:d8ff:fec3:4447/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:1032995 errors:0 dropped:0 overruns:0 frame:0
TX packets:1297336 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:182483781 (182.4 MB)  TX bytes:1431685634 (1.4 GB)

Примерно так оно должно выглядеть, хотя может и eth1 и wlan1. Но нас интересует eth0, wi-fi пока не трогаем. Идем к файлу конфигурации сети.

sudo nano /etc/network/interfaces

Там мы увидим 2 строки или ничего, это как повезет. Вот туда надо добавить необходимые параметры конфигурации, в моем случае это

#iface eth0 inet dhcp
iface eth0 inet static
address 172.17.2.10
netmask 255.255.255.0
gateway 172.17.2.1
dns-nameservers 172.22.0.1
auto eth0

Пояснять не буду, все слова должны быть понятны и так. У меня провайдер выдает статичный ip внутри сети, поэтому и все настройки мне надо производить по договору. Если ip динамический, то комментируем строки 2-5, и раскомментируем первую.

Собственно все, после этого вся локальная сеть ожила. Но нам же нужен интернет.

Настройка PPTP подключения

Руководствуясь все теми же инструкциями с по настройке сети, настроем vpn-подключение.

sudo nano /etc/ppp/peers/my_provider

И я вписал туда следующие параметры

# При разрыве соединения - переподключаться снова.
persist
# Максимальное количество неудачных попыток подключения. 0 - бесконечно.
maxfail 0
# Значение MTU
mtu 1476
# Ваш логин.
name my_login
# Не быть шлюзом по умолчанию
#nodefaultroute
# Быть шлюзом по умолчанию
defaultroute
# Заменить шлюз по умолчанию если он был
replacedefaultroute
# Имя удаленного сервера (для нас), может быть любым.
remotename ttkvpn
# Команда запуска pptp.
# Адрес сервера - может быть как IP адресом, так и доменным именем, например vpn.foo.bar
# Для стабильной работы отключим буферизацию и логирование
pty "pptp 172.22.0.251 --nolaunchpppd --nobuffer --loglevel 0"

Далее идем к файлу /etc/ppp/chap-secrets, кстати, в мануале неправильно указан путь, chap-secrets лежит в директории /etc/ppp

sudo nano /etc/ppp/chap-secrets

И вписываем одну строку с информацией из договора, логин пароль (ага, так я и написал свой пароль =) )

# Secrets for authentication using CHAP
# client server secret IP addresses
my_login ttkvpn my_pass *

ttkvpn взят из предыдущего файла, это параметр remotename ttkvp. Мне провайдер выдает динамический внешний ip, если у вас статический, то можно дописать этот ip вместо звездочки.

Руководство обещает мне что теперь я смогу управлять VPN-соединение при помощи команд

sudo pon my_provider     # запустит vpn
sudo poff my_provider    # остановит vpn

Но на практике оно почему-то не всегда работает, а жаль..

Кончечно ручной запуск соединения — это не плохо, но хотелось бы чтобы vpn поднимался сразу при включении сервера. Делается это достаточно просто. Нужно вернуться к файлу /etc/network/interfaces и добавить туда еще 3 строки к уже существующим. Должны получить что-то типа такого

auto lo
iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address 172.17.2.20
netmask 255.255.255.0
gateway 172.17.2.1
dns-nameservers 172.22.0.1
auto eth0
# Автостарт vpn(pptp) соединения
auto pptp
iface pptp inet ppp
provider my_provider

На этом, в большинстве случаев, можно прекратить настройку, но мне хотелось бы, чтобы локальные ресурсы сети провайдера, оставались провайдера, я не жмусь по поводу внешнего трафика. Раньше была такая проблема, когда тарифы были на объем трафика, но хотелось посмотреть сайты провайдера и при этом не хотелось попасть на трафик. Вот в этом случае нам и помогала статическая маршрутизация. Но теперь такой проблемы нет, но чтобы мы мой сервер был доступен из всех сегментов сети провайдера, мне таки придется настроить маршрутизацию.

Дальше весь текст будет идти для провайдера Информтек в городе Муроме, но чтобы понять суть и методы прочесть стоит.

В папке /etc/ppp/ip-up.d/ создаем файлик, например my_route

sudo nano /etc/ppp/ip-up.d/my_route

И пишем туда маршруты в следующем формате

#! /bin/sh
#
route del default
route add default ppp0 # Имя ppp-подключения.
# тут - необходимые маршруты, например:
#route add -net 192.168.0.0     netmask 255.255.255.0   gw 192.168.0.1 dev eth0
# Все что идет ниже нужно только в моем случае!!!
route add -net 172.16.0.0       netmask 255.240.0.0     gw 172.17.2.1 dev eth0
route add -net 195.20.194.22    netmask 255.255.255.255 gw 172.17.2.1 dev eth0
route add -net 195.20.194.6     netmask 255.255.255.255 gw 172.17.2.1 dev eth0
route add -net 195.20.195.94    netmask 255.255.255.255 gw 172.17.2.1 dev eth0
route add -net 192.168.0.0      netmask 255.255.0.0     gw 172.17.2.1 dev eth0
route add -net 195.20.195.27    netmask 255.255.255.255 gw 172.17.2.1 dev eth0
route add -net 195.20.194.7     netmask 255.255.255.255 gw 172.17.2.1 dev eth0

Кстати у информтека можно подсмотреть маршруты вот на этой страничке Настройка VPN в самом низу ссылка на routeadd.bat.

Что это такое? Как это понимаю я. Видимо, сначала удаляем предустановленный путь маршрутизации, затем говорим, что вся маршрутизация должна идти через интерфейс ppp0, и только потом приписываем сами маршруты в формате

route add -net куда      netmask маска  gw шлюз dev eth0

Одним словом — магия!

В следующей части я расскажу как сделать из wi-fi модуля точку доступа

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *