Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | |||
mgaccel-ppp-pppoe [2023/07/29 13:20] nightfly |
mgaccel-ppp-pppoe [2023/07/29 13:27] (поточний) nightfly |
||
---|---|---|---|
Рядок 523: | Рядок 523: | ||
DNS_lookup=" | DNS_lookup=" | ||
- | # OUT интерфейс (интернет) | + | # OUT інтерфейс (інтернет) |
- | out_interface1=" | + | out_interface1=" |
- | # IP SRC-NAT для | + | # IP SRC-NAT для |
- | out_ext_ip1=" | + | out_ext_ip1=" |
- | # IP для редиректа на страницу заглушку | + | # IP для редиректу на сторінку заглушку |
REDIRECT_IP=" | REDIRECT_IP=" | ||
- | # название | + | # назва IPSETа для |
allowed_ipset=" | allowed_ipset=" | ||
- | # Список | + | # Список |
allowed_list=( | allowed_list=( | ||
- | Адрес биллинга | + | Адреса білінгу |
8.8.8.8 | 8.8.8.8 | ||
8.8.4.4 | 8.8.4.4 | ||
Рядок 579: | Рядок 579: | ||
postrouting() { | postrouting() { | ||
- | # Очищаем NAT | + | # Очищаємо NAT |
$IPT -t nat -F POSTROUTING | $IPT -t nat -F POSTROUTING | ||
- | # NAT для | + | # NAT для |
$IPT -t nat -A POSTROUTING -s 10.0.0.0/8 -o $out_interface1 -j SNAT --to-source $out_ext_ip1 --persisten | $IPT -t nat -A POSTROUTING -s 10.0.0.0/8 -o $out_interface1 -j SNAT --to-source $out_ext_ip1 --persisten | ||
echo " | echo " | ||
Рядок 590: | Рядок 590: | ||
$IPT -F INPUT | $IPT -F INPUT | ||
- | # Если используете Fail2ban SSH | + | # Якщо використовуєте Fail2ban SSH |
$IPT -N fail2ban-ssh | $IPT -N fail2ban-ssh | ||
$IPT -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh | $IPT -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh | ||
Рядок 605: | Рядок 605: | ||
raw_rules() { | raw_rules() { | ||
- | # очищаем RAW таблицы | + | # очищаємо RAW таблиці |
$IPT -t raw -F PREROUTING | $IPT -t raw -F PREROUTING | ||
$IPT -t raw -F OUTPUT | $IPT -t raw -F OUTPUT | ||
Рядок 613: | Рядок 613: | ||
forward() { | forward() { | ||
- | # Очищаем FORWARD | + | # Очищаемо FORWARD |
$IPT -F FORWARD | $IPT -F FORWARD | ||
- | # Пропускаем трафик к разрешенным | + | # Пропускаємо трафік до дозволених IP |
$IPT -A FORWARD -m set --match-set $allowed_ipset dst -j ACCEPT | $IPT -A FORWARD -m set --match-set $allowed_ipset dst -j ACCEPT | ||
- | # Блокируем трафик пользователей | + | # Блокуємо трафік користувачів |
for ipset_name in ${ipset_list[*]} | for ipset_name in ${ipset_list[*]} | ||
do | do | ||
Рядок 629: | Рядок 629: | ||
prerouting() { | prerouting() { | ||
- | # Очищаем PREROUTING | + | # Очищаємо PREROUTING |
$IPT -t nat -F PREROUTING | $IPT -t nat -F PREROUTING | ||
- | # Пропускаем трафик к разрешенным | + | # Пропускаємо трафік до дозволених IP |
$IPT -t nat -A PREROUTING -m set --match-set $allowed_ipset dst -j ACCEPT | $IPT -t nat -A PREROUTING -m set --match-set $allowed_ipset dst -j ACCEPT | ||
- | # Перенаправляем пользователей из IPSETов на страницы заглушки | + | # Перенаправляємо користувачів |
$IPT -t nat -A PREROUTING -m set --match-set disabled src -p tcp --dport 80 -j DNAT --to-destination $REDIRECT_IP: | $IPT -t nat -A PREROUTING -m set --match-set disabled src -p tcp --dport 80 -j DNAT --to-destination $REDIRECT_IP: | ||
Рядок 642: | Рядок 642: | ||
allow() { | allow() { | ||
- | # Очищаем IPSET разрешенных IP | + | # Очищаємо IPSET дозволених IP |
$IPS -F $allowed_ipset | $IPS -F $allowed_ipset | ||
for row in ${allowed_list[*]} | for row in ${allowed_list[*]} | ||
do | do | ||
- | # проверяем запись из списка разрешенных, явлияется ли она IP адресом | + | # перевіряємо запис зі списку дозволених, чи є він IP адресою |
if [[ $row =~ ^[0-9]{1, | if [[ $row =~ ^[0-9]{1, | ||
then | then | ||
- | # добавляем этот IP в список разрешенных | + | # додаємо цей |
$IPS add $allowed_ipset $row > /dev/null 2>&1 | $IPS add $allowed_ipset $row > /dev/null 2>&1 | ||
else | else | ||
- | # запись оказалась доменом, | + | # запис |
for ip in `$DIG $row +short @$DNS_lookup` | for ip in `$DIG $row +short @$DNS_lookup` | ||
do | do | ||
- | # добавляем полученные | + | # додаємо отримані через dns IP адреси до списку дозволених |
$IPS add $allowed_ipset $ip > /dev/null 2>&1 | $IPS add $allowed_ipset $ip > /dev/null 2>&1 | ||
done | done | ||
Рядок 763: | Рядок 763: | ||
</ | </ | ||
- | //**Обращаем внимание**// на #NAT для | + | //**Звертаємо увагу**// на #NAT для |
+ | |||
+ | Робимо наш ферволл-скрипт виконуваним: | ||
- | Делаем наш ферволл-скрипт исполняемым: | ||
< | < | ||
# chmod +x / | # chmod +x / | ||
Рядок 771: | Рядок 772: | ||
</ | </ | ||
- | И добавляем его в автозагрузку | + | |
+ | І додаємо його в автозавантаження | ||
< | < | ||
# / | # / | ||
</ | </ | ||
- | Смотрим или создались таблички: | + | Дивимося чи створилися таблички: |
< | < | ||
# ipset list | # ipset list | ||
</ | </ | ||
- | В ответ мы должны увидеть примерно следующее: | + | У відповідь ми маємо побачити |
<code ini> | <code ini> | ||
Name: disabled | Name: disabled | ||
Рядок 802: | Рядок 807: | ||
</ | </ | ||
- | - именно | + | - саме в ці таблички |
- | ====Запускаем accel-ppp==== | + | ==== Запускаємо accel-ppp ==== |
< | < | ||
# service accel-ppp start | # service accel-ppp start | ||
</ | </ | ||
- | Чекаем логи | + | Чекаємо логи |
< | < | ||
# cat / | # cat / | ||
Рядок 816: | Рядок 822: | ||
</ | </ | ||
- | **В логах | + | **В логах |
- | //**Типичная ошибка**// - юзер не подключается | + | //**Типова помилка**// - юзер не підключається з помилкою авторизації і в лозі: \\ |
< | < | ||
radius: out of memory | radius: out of memory | ||
</ | </ | ||
- | - проверьте пути к словарям и наличие самих словарей. | ||
- | __Настраиваем ротацию логов:__ | + | - перевірте шляхи до словників і наявність самих словників. |
+ | |||
+ | __Налаштовуємо ротацію логів:__ | ||
< | < | ||
# nano / | # nano / | ||
</ | </ | ||
- | Добавляем содержимое: | + | Додаємо |
<code bash> | <code bash> | ||
/ | / | ||
Рядок 839: | Рядок 849: | ||
</ | </ | ||
- | ====Завершающий этап==== | + | ==== Завершувальний этап ==== |
- | Ребутимся, подключаем юзера. | + | |
+ | Ребутуємося, підключаємо юзера. | ||
+ | |||
+ | На стороні наса перевіряємо чи коректно видався шейп. | ||
- | На стороне наса проверяем или корректно выдался шейп. | ||
< | < | ||
# telnet 127.0.0.1 2001 | # telnet 127.0.0.1 2001 | ||
Рядок 849: | Рядок 861: | ||
{{: | {{: | ||
- | =====Копирайт===== | + | ===== Копірайти ===== |
- | Создатель | + | |
+ | Автор даного мануалу - [[https:// | ||
- | {{accel_share.zip|Скачать мануал в оригинале}} | + | {{accel_share.zip|Завантажити |