Ответы пользователя по тегу Linux
  • Double VPN. Как маршрутизировать трафик одного tun-интерфейса через другой tun?

    @andrew_progs Автор вопроса
    Решение:
    # Включаем ip forward
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    # Маскируем трафик
    iptables -t nat -A POSTROUTING -s 10.8.1.1/24 -o tun2s1 -j MASQUERADE
    
    # Добавляем новую таблицу маршрутизации
    echo "100  admin" >> /etc/iproute2/rt_tables
    
    # Добавляем интерфейс в новую таблицу
    ip route add 10.9.1.0/32 dev tun2s1 src 10.9.1.1 table admin
    
    # Объявляем интерфейсом по-умолчанию
    ip route add default via 10.9.1.1 dev tun2s1 table admin
    
    # Создаем правило маршрутизации для tun1, направляющее трафик с tun1 в таблицу admin 
    ip rule add from 10.8.1.0/24 table admin 
    
    # Чистим кэш ip route для обновления правил
    ip route flush cache
    
    # Отключаем фильтр обратного пути для всех интерфейсов*
    for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do
      echo 0 > $i 
    done
    
    # Включаем пакеты с локальных источников для всех интерфейсов*
    for i in /proc/sys/net/ipv4/conf/*/accept_local ; do
      echo 1 > $i 
    done


    *Думаю можно и не для всех, но это для меня сработало и уже нет времени на эту задачу. Если вы знаете как лучше - напишите, я отредактирую ответ.
    Ответ написан
    Комментировать