Настройка ADSL модема для подключения к СЗТ

Материал из Медиа Вики

Перейти к: навигация, поиск

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

Содержание

[править] Цель

Если мы хотим, настроить на нашем сервере: WEB сервер, FTP сервер, почтовый сервер и т.д. или мы просто хотим управлять нашим сервером удаленно по инету, то тогда нам нужно настроить систему (модем - сервер) так, что бы к ней можно было достучаться из инета.
Это означает, что у компьютера, на одном из сетевых интерфейсов (eth, ppp), должен быть интернетовский адрес.

[править] Способы, их перимущества и недостатки

[править] Режим bridge

В этом режиме модем выступает в качестве моста, а PPPoE соединение поднимается на сервере.

[править] Преимущества

  1. Настройка и управление соединением происходит на сервере (более гибкая настройка)

[править] Недостатки

  1. Настройка и управление ppp соединением происходит на сервере (зачем усложнять себе жизнь постоянной проверкой этого соединения, если это все можно переложить на железо (модем)).

[править] Режим route (PPPoE)

[править] Преимущества

  1. Очень легкая настройка соединения.
  2. Не надо постоянно проверять наличие соединения (об этом заботится модем).
  3. Сильно упрощается настройка сервера.

[править] Недостатки

  1. Тяжело сменить настройки модема. Но тк это обычно делается один раз, то можно недостатком и не считать.

[править] Настройка

Итак, мы выбираем второй способ - route (PPPoE)

[править] Настройка модема

Я настрайвал модем D-LINK 2500U и буду описывать его настройку.

  1. Тк нам надо связаться с модемом по http (адрес модема обычно 192.168.1.1), мы выставляем сетевой карте, связанной с модемом, адрес, например 192.168.1.2. Не буду писать, как это делать, тк к данной теме это не относится.
  2. На сервере открываем браузер и заходим по адресу http://192.168.1.1
  3. Набираем имя и пароль для входа. По умолчанию (admin, admin). Если Вы решите их поменять, то запишите куда нибудь, тк такие данные обычно забываются, тем более что в следующий раз они могут потребоваться не скоро. Да и подумайте о пользователях, которые будут пользоваться модемом после Вас.
  4. Настраиваем LAN. Там установлен адрес модема - его не трогаем. Если включен DHCP, то отключаем.
  5. Настраиваем WAN.
    1. Удаляем все настройки, которые были сделаны до Вас, для это ставим галки напротив всех настроенных интерфейсов и жмем "Delete".
    2. Жмем на кнопку "Create" - сейчас точно не помню, но все должно быть понятно.
    3. Указываем Port - 0, VPI - 8, VCI - 35. И жмем Next
    4. Выбираем PPPoE. Жмем Next
    5. Вводим имя и пароль, выданный СЗТ (обычно szt, szt).
    6. Внимание: обязательно ставим галку "PPP IP extеnsion". Жмем Next
    7. Далее жмем Save/Reboot.

[править] Настройка сервера

Настройка сервера сводится к установке DHCP режима работы сетевого интерфейса, связанного с модемом.
После перезагрузки интерфейса, проверяем, как все прошло

# service network restart
# ifconfig

У сетевого интерфейса, который смотрит в инет дб инетовский адрес.

[править] Настройка NAT

Тк инетовский адрес - динамический, то он может меняться при каждом автоматическом переподключении модема и тогда команда

iptables -t nat -A POSTROUTING -s $VPN_NET  -j SNAT --to-source $INET_IP

работать не будет, когда изменится $INET_IP - IP адрес интернетовского интерфейса.

Самое простое заменить ее на команду

iptables -t nat -A POSTROUTING -s $VPN_NET  -j MASQUERADE

Хотя она и требует больших ресурсов процессора

[править] Восстановление связи при изменении внешнего адреса

Может случится так, что при работе сервера, произойдет переподключение модема и изменится внешний Ip адрес модема, а сервер об этом знать не будет.
Для решения этой проблемы создаем скрипт (/eth/scripts/intern.sh), который каждый 5 мин. проверяет изменился ли адрес и, если да, перезапускает внешний Eth интерфейс.

#!/bin/bash
#set -x
PATH1=/etc/scripts/
cd $PATH1
# Новый адрес
IP_VN=`/sbin/ifconfig eth1 | grep Mask|cut -d ":" -f2 |cut -d " " -f1`
IP_OLD=`cat ip` # Адрес, который был до этого
# Если адреса не равны
if [ "$IP_VN" != "$IP_OLD" ]; then
    echo $IP_VN > ip
    date1=`date`
    # Когда произошло изменение адреса.
    echo "$date1        $IP_VN" >> ip_ch
    /sbin/ifconfig eth1 down
    /sbin/ifconfig eth1 up
    /etc/sysconfig/iptables.sh
fi

И добавляем следующую строку в файл /etc/crontab

# Проверка наличия интернета
*/5 *  *  *  *   root    /etc/scripts/intern.sh