wiki:iptables:tun0_to_tun2
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| wiki:iptables:tun0_to_tun2 [2025/04/03 12:18] – Diman | wiki:iptables:tun0_to_tun2 [2025/10/10 21:02] (текущий) – [Конфигурация ssh] Diman | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Проброс TCP трафика через SSH ====== | ====== Проброс TCP трафика через SSH ====== | ||
| - | ==== конфигурация ssh ==== | ||
| - | В файл | + | |
| + | ===== Конфигурация ssh ===== | ||
| + | |||
| + | В файле | ||
| <code bash> | <code bash> | ||
| + | nano / | ||
| + | # это было у меня по-умолчанию | ||
| X11Forwarding yes | X11Forwarding yes | ||
| + | # а вот это пришлось включить | ||
| PermitTunnel yes | PermitTunnel yes | ||
| - | |||
| </ | </ | ||
| - | Устанавливаем программы для работы туннеля | + | Перезапускаем **sshd** |
| <code bash> | <code bash> | ||
| - | apt update | + | service sshd restart |
| - | apt install uml-utilities | + | |
| - | + | ||
| </ | </ | ||
| + | ===== Создание туннеля ssh ===== | ||
| - | ==== Создание туннеля | + | Для создания туннеля |
| - | + | ||
| - | Для создания туннеля используется скрипт tun.sh. | + | |
| <code bash> | <code bash> | ||
| #!/bin/sh | #!/bin/sh | ||
| Строка 78: | Строка 78: | ||
| </ | </ | ||
| + | |||
| + | ==== Маршрутизация трафика ==== | ||
| Добавляем таблицу маршрутизации для vpn | Добавляем таблицу маршрутизации для vpn | ||
| Строка 136: | Строка 138: | ||
| </ | </ | ||
| - | Настройки сохраняем в файле set.sh | + | ==== Настройки конфигурации туннеля ==== |
| + | |||
| + | Настройки сохраняем в файле | ||
| <code bash> | <code bash> | ||
| Строка 154: | Строка 158: | ||
| NET_LOCAL=192.168.230.0/ | NET_LOCAL=192.168.230.0/ | ||
| + | </ | ||
| + | |||
| + | ==== Контроль и восстановление работоспособности туннеля ssh ==== | ||
| + | |||
| + | Для контроля работы туннеля создадим скрипт **test-tun.sh** Его следует добавить в крон после проверки его работоспособности | ||
| + | |||
| + | <code bash> | ||
| + | |||
| + | #!/bin/bash | ||
| + | |||
| + | . $(dirname " | ||
| + | |||
| + | LOG=/ | ||
| + | log(){ echo " | ||
| + | |||
| + | ping -c 3 $IP_REMOTE | ||
| + | if [ $? -eq 0 ]; then | ||
| + | log 'ping success' | ||
| + | else | ||
| + | log 'ping fail' | ||
| + | pid=$(ps ax | grep $IP_REMOTE | head -n1 | awk ' | ||
| + | kill -9 $pid | ||
| + | log "kill old ssh tun $pid" | ||
| + | sleep 9 | ||
| + | log "start new ssh tun" | ||
| + | bash $(dirname " | ||
| + | sleep 2 | ||
| + | log "add routes to new ssh tunnel" | ||
| + | bash $(dirname " | ||
| + | fi | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== MASQUERADE на целевом сервере ==== | ||
| + | |||
| + | Важное замечание: | ||
| + | <code bash> | ||
| + | |||
| + | / | ||
| + | |||
| + | net.ipv4.ip_forward=1 | ||
| + | |||
| + | |||
| + | iptables -t nat -A POSTROUTING -j MASQUERADE | ||
| </ | </ | ||
wiki/iptables/tun0_to_tun2.1743682704.txt.gz · Последнее изменение: — Diman
