LINUX.ORG.RU

Сообщения Barlo

 

Маршрутизация ovpn

Добрый день!

Есть машина :

uname -a
Linux Ub-Server 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:18:00 UTC 2015 i686 i686 i686 GNU/Linux

с установленным клиентом Ovpn, при старте клиента все работает нормально - трафик идет через сервер vpn.

Изменил таблицу маршрутизации:

# ip route show table main 
default tos reliability via 10.8.2.9 dev tun0
default dev ppp0  scope link
10.8.2.0/24 dev tun0  scope link
10.8.2.9 dev tun0  proto kernel  scope link  src 10.8.2.10
10.64.64.64 dev ppp0  proto kernel  scope link  src 10.151.132.140
nnn.mmm.kkk.223 dev ppp0  scope link
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.10
Т.е. если трафик tos != 0x04 тогда идет в обход ovpn, иначе через ovpn.

Проблема в том, что по команде: # ping -Q 0x04 8.8.8.8
Ничего не происходит PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

Хотя tcpdump ловит трафик:

#  tcpdump -v -i tun0
tcpdump: listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
17:23:08.574876 IP (tos 0x4, ttl 64, id 61998, offset 0, flags [DF], proto ICMP (1), length 84)
    10.8.2.10 > google-public-dns-a.google.com: ICMP echo request, id 5554, seq 1, length 64
17:23:08.668652 IP (tos 0x0, ttl 48, id 0, offset 0, flags [none], proto ICMP (1), length 84)
    google-public-dns-a.google.com > 10.8.2.10: ICMP echo reply, id 5554, seq 1, length 64
17:23:09.582730 IP (tos 0x4, ttl 64, id 62041, offset 0, flags [DF], proto ICMP (1), length 84)
    10.8.2.10 > google-public-dns-a.google.com: ICMP echo request, id 5554, seq 2, length 64
17:23:09.652645 IP (tos 0x0, ttl 48, id 0, offset 0, flags [none], proto ICMP (1), length 84)
    google-public-dns-a.google.com > 10.8.2.10: ICMP echo reply, id 5554, seq 2, length 64
17:23:10.590727 IP (tos 0x4, ttl 64, id 62227, offset 0, flags [DF], proto ICMP (1), length 84)
    10.8.2.10 > google-public-dns-a.google.com: ICMP echo request, id 5554, seq 3, length 64
17:23:10.657501 IP (tos 0x0, ttl 48, id 0, offset 0, flags [none], proto ICMP (1), length 84)
    google-public-dns-a.google.com > 10.8.2.10: ICMP echo reply, id 5554, seq 3, length 64
17:23:11.598732 IP (tos 0x4, ttl 64, id 62323, offset 0, flags [DF], proto ICMP (1), length 84)
    10.8.2.10 > google-public-dns-a.google.com: ICMP echo request, id 5554, seq 4, length 64
17:23:11.668639 IP (tos 0x0, ttl 48, id 0, offset 0, flags [none], proto ICMP (1), length 84)
    google-public-dns-a.google.com > 10.8.2.10: ICMP echo reply, id 5554, seq 4, length 64
17:23:12.606735 IP (tos 0x4, ttl 64, id 62430, offset 0, flags [DF], proto ICMP (1), length 84)
    10.8.2.10 > google-public-dns-a.google.com: ICMP echo request, id 5554, seq 5, length 64
17:23:12.674600 IP (tos 0x0, ttl 48, id 0, offset 0, flags [none], proto ICMP (1), length 84)
    google-public-dns-a.google.com > 10.8.2.10: ICMP echo reply, id 5554, seq 5, length 64
Т.е пакеты на интерфейс tun0 приходят и уходят.

Без tos команда проходит, все хорошо.

Если маршрут с tos заменить на 2 дефолтных 0/1 tun0; и 128.0.0.0/1 tun0 - то все работает независимо от байта tos.

В чем проблема?

****Здесь работает спойлер?

 , ,

Barlo
()

Два шлюза: интернет + openvpn на одной машине

Здравствуйте!

Задача следующая: настроить сервер-шлюз для выхода в интернет напрямую и через openvpn.

На машине имеется:

#uname -a

( читать дальше... )

#ifconfig -a

( читать дальше... )

Т.е. два рабочих интерфейса - eth1(локальная сеть) и ppp0(свисток с оператором Скартел - через него и ходим в сеть). Стоит упомянуть одну из причин использования OpenVPN. На выбранном тарифе Скартел режет торренты - потому, приходится прятать трафик.

На машине запущен клиент openvpn, через который и планируется ходить всем из локальной сети. Сервер OpenVPN в сети Интернет свой - можно поправить конфиги.

Что реализовано:
1. Настроен доступ в сеть интернет через ppp;
2. Настроен форвардинг в локальной сети;
3. Клиент openvpn также настроен. Как известно, он переопределяет маршрут по умолчанию и тем самым просто выйти в сеть интернет не удается - все идет через vpn.

Собственно, главная проблема - как реализовать возможность одновременного доступа в сеть. Были мысли использовать proxy (например socks) для шифрованного трафика и уже только его заворачивать в openvpn, но реализовать не удалось.

***** Дополнение № 1
На клиенте ovpn все маршруты прописываются вручную, т.е. redirect-gateway - отключена.

Адреса, куда клиенты будут «ходить» через ovpn заранее не известны. Например, торрент, запрещенные сайты в РФ.

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

 , , ,

Barlo
()

RSS подписка на новые темы