Просмотр Исходного

Статья пока что является черновиком, на основе копии аналогичной из Carbon AS 5, позже будет поправлена под Carbon AS 3.

Тем не менее, около 70% инструкций подходят и для AS 3.

h1. Как ускорить первичную настройку Carbon AS 3

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

{color:#000000}{*}1. Узнать информацию о авторизованных пользователях{*}{color}
{code}
cat /var/lib/nas_users.dat
{code}
В этом файле записаны строки в виде:

ip \| snat \| negbal \| mac

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

h2. 2. Проверить команды от биллинга
{code}
tail -100 /var/log/ideco_nasd.log
{code}
если вы используете Carbon Billing 4 в качестве биллинга.

Туда записываются все передаваемые на маршрутизатор команды, а также ошибки в случае если что-то идёт не так.

Если команд нет, то переходим на следующий шаг.

Если команды есть, то проверьте, что данные которые приходят соответствуют действительности. Скорее всего проблема в настройках тарифа или данных пользователя.

{color:#000000}psw incorrect. 123 \!={color}
{color:#000000}psw incorrect. 123 \!={color}
{color:#000000}psw incorrect. 123 \!={color}
{color:#000000}psw incorrect. 123 \!={color}
{color:#000000}psw incorrect. 123 \!={color}
{color:#000000}psw incorrect. 123 \!={color}
{color:#000000}psw incorrect. 123 \!={color}
{color:#000000}psw incorrect. 123 \!={color}

{color:#000000}Подобные ошибки означают, что в памяти демона ideco_nasd ещё старые переменные.{color}

{color:#000000}/etc/init.d/ideco_nasd restart или мягкая перезагрузка решают эту проблему.{color}

h2. 3. Проверить настройки управления NAS'ом

Проверьте данные в локальном меню связанные с настройкой маршрутизатора.

Проверьте, правильно ли указан IP адрес биллинга, совпадает ли Radius Secret.

Проверьте, что не напутали с портами аккаунтинга и авторизации.

Если на вид всё верно, то переходим на следующий шаг.

h2. 4. Если команды были - проверьте наличие правил

Для примера IP пользователя: 10.0.201.100

Проверьте, что пользователю разрешён доступ к сети
{code}
iptables -nvL | grep -w 10.0.201.100
{code}
Проверьте что есть SNAT, если он используется, либо, что его нет, если используются белые IP
{code}
iptables -t nat -nvL | grep 10.0.201.100
{code}
Проверьте маркировку пакетов пользователя для шейпера
{code}
iptables -t mangle -nvL | grep 10.0.201.100
{code}
Если один из этих пунктов даёт не те результаты, которые ожидаются, то нужно сперва проверить параметры пользователя в биллинге, если с ними всё в порядке, то связаться с технической поддержкой.

В новых версиях вы можете воспользоваться скриптом

{code}
/usr/local/ics/support/as_debug.sh --help
{code}

h2. 5. Проверка доступа до биллинга

Самое банальное что можно сделать (но в 80% случаев этого и достаточно): проверить доступ до биллинга ping'ом.

Для примера IP адрес биллинга будет равен 10.0.0.10
{code}
ping -c 10 10.0.0.10
{code}
Если ответы есть, то это ещё не гарантия, что доступ полноценный.

Проверьте следующее:
{code}
arping -c 1 -I Eeth0 10.0.0.10
{code}
После \-I должно идти имя внешнего интерфейса.

h2. 6. Проверьте что трафик вообще идёт
{code}
tcpdump -nvi any host 10.0.0.10
{code}
Должны идти пакеты на 44, 1812, 1813 и 9996 порты.

Для того чтобы заставить команды идти - попробуйте переподключить какого-нибудь пользователя с IP авторизацией.

h2. Для PPTP-пользователей

Вы можете посмотреть что происходит с плагином авторизации по Radius:
{code}
strace -s 500 -f -p `pidof pptpd`
{code}
Для того чтобы читать вывод трасировщика - придётся немного потренироваться.

В первую очередь стоит обратить внимание на коннекты до биллинга - если они возвращают 0 (Timeout), то это проблема с сетью, либо Radius-сервер не слушает на указанном в настройках порту.

Проверьте это командой
{code}
ps aux | grep radius
{code}
на биллинге. Если Radius не запущен, то само собой его надо запустить, предварительно узнав причину по которой он не запущен.

h2. Для пользователей с IP авторизацией

На биллинге и на самом Carbon AS запустите
{code}
tcpdump -nvi any udp port 44
{code}
Отключите абонента в биллинге.

Должен уйти 1 или более пакетов с биллинга и точно такое же до AS.

Если пакеты не уходят - нужно опять же проверить запущен ли демон eventd
{code}
ps aux | grep event
{code}

h2. Примеры работы с tcpdump
{code}
tcpdump -nvi any udp port 9996 # проверка netflow
tcpdump -nvi any port 1812 or port 1813 # проверка Radius
tcpdump -nvi any udp port 44 # проверка посылки команд
{code}

h2. Отладка Radius

Возможно пользователи просто не авторизуются по Radius.

Для того чтобы понять что происходит - нужно запустить Radius сервер на биллинге в режиме дебага:
{code}
./radiusd -X
{code}

h2. Логи

Если пользователю при авторизации по VPN показываются ошибки - стоит посмотреть лог /var/log/ppp.