Настройка ADSL модема для подключения к СЗТ
Материал из Медиа Вики
Как и обещал - опишу настройку сетевого ADSL модема и компьютера. Все вопросы, предложения и замечания в форум
Содержание |
[править] Цель
Если мы хотим, настроить на нашем сервере: WEB сервер, FTP сервер, почтовый сервер и т.д. или мы просто хотим управлять нашим сервером удаленно по инету, то тогда нам нужно настроить систему (модем - сервер) так, что бы к ней можно было достучаться из инета.
Это означает, что у компьютера, на одном из сетевых интерфейсов (eth, ppp), должен быть интернетовский адрес.
[править] Способы, их перимущества и недостатки
[править] Режим bridge
В этом режиме модем выступает в качестве моста, а PPPoE соединение поднимается на сервере.
[править] Преимущества
- Настройка и управление соединением происходит на сервере (более гибкая настройка)
[править] Недостатки
- Настройка и управление ppp соединением происходит на сервере (зачем усложнять себе жизнь постоянной проверкой этого соединения, если это все можно переложить на железо (модем)).
[править] Режим route (PPPoE)
[править] Преимущества
- Очень легкая настройка соединения.
- Не надо постоянно проверять наличие соединения (об этом заботится модем).
- Сильно упрощается настройка сервера.
[править] Недостатки
- Тяжело сменить настройки модема. Но тк это обычно делается один раз, то можно недостатком и не считать.
[править] Настройка
Итак, мы выбираем второй способ - route (PPPoE)
[править] Настройка модема
Я настрайвал модем D-LINK 2500U и буду описывать его настройку.
- Тк нам надо связаться с модемом по http (адрес модема обычно 192.168.1.1), мы выставляем сетевой карте, связанной с модемом, адрес, например 192.168.1.2. Не буду писать, как это делать, тк к данной теме это не относится.
- На сервере открываем браузер и заходим по адресу http://192.168.1.1
- Набираем имя и пароль для входа. По умолчанию (admin, admin). Если Вы решите их поменять, то запишите куда нибудь, тк такие данные обычно забываются, тем более что в следующий раз они могут потребоваться не скоро. Да и подумайте о пользователях, которые будут пользоваться модемом после Вас.
- Настраиваем LAN. Там установлен адрес модема - его не трогаем. Если включен DHCP, то отключаем.
- Настраиваем WAN.
- Удаляем все настройки, которые были сделаны до Вас, для это ставим галки напротив всех настроенных интерфейсов и жмем "Delete".
- Жмем на кнопку "Create" - сейчас точно не помню, но все должно быть понятно.
- Указываем Port - 0, VPI - 8, VCI - 35. И жмем Next
- Выбираем PPPoE. Жмем Next
- Вводим имя и пароль, выданный СЗТ (обычно szt, szt).
- Внимание: обязательно ставим галку "PPP IP extеnsion". Жмем Next
- Далее жмем 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
