• Почему не работает форвардинг на Centos?

    @younghacker
    ой не увидел. про сторону сервера. это странно.
  • Почему не работает форвардинг на Centos?

    @younghacker
    Вы не написали, что говорит tcpdump на стороне сервера.
    По ощущению если с NAT-ом пинг работает а без него нет значит скорее всего на сервере нет маршрута в вашу сеть.

    Поясню.
    На сервере в директории /etc/openvpn/ccd должен лежать файлик который описывает маршрут в вашу сеть. Имя файла должно совпадать с CommonName сертификата вашего хоста-клиента vpn (дубликаты CN не подойдут! тоесть сертификат уникальный)
    Содержимое файла по-моему должно быть для вас таким:
    iroute 192.168.243.0 255.255.255.0
    ifconfig-push 192.168.251.25 192.168.251.26

    В конфиге OpenVPN сервера должна быт опция
    client-config-dir ccd

    После этого рестартануть OpenVPN сервер. Он должен будет подхватить конфиг. После соединения клиента он должен создать маршрут в вашу сетку на стороне openvpn сервера.

    Для проверки можете прописать маршрут руками.
    ip route add 192.168.243.0/24 via 192.168.251.25 dev tunX
    Пинги должны забегать без NAT.
  • Почему не работает форвардинг на Centos?

    @younghacker
    Но давайте разбираться дальше. Давайте опустим возможности русского языка и относительно ответов команд будем общаться конкретно. tcpdump не говорит OK! :) Он говорит что слышит на интерфейсе и фильтруя по заданному условию. Вы сказали пинг один раз всё проходит. Тоесть стабильно один раз есть запрос и ответ? А потом только запросы, без ответов. При прерывании в стратистике написано сколько отправлено и получен только один ответ. Так?

    Если Вы имеете доступ к офисному серверу (или попросите админа) запустите там
    # tcpdump -i tunХ proto ICMP
    далее смотрите адрес источника и адрес получателя на входящем пакете и на ответе.
    Затем посмотрите таблицу маршрутизации на сервере есть ли единственный маршрут в сеть где находится адрес источника. Нет ли какого-то конфликта сетей (например в офисе есть сетка такая же как у вас)?

    Вот ещё что можно попробовать.
    Можете добавить в iptables правило
    -A POSTROUTING -o tun0 -j MASQUERADE
    Только добавьте аксептирующие правила input и forward (вы говорили что отключали iptables) лишнее закоментируйте и запустите iptables.
    Это включит NAT в сторону VPN и исключит необходимость серверу-получателю знать про маршрутизацию в вашу сетку. Ему хватит роута который добавил VPN сервер. Если заработает — значит проблема в маршрутизации на стороне сервера.
  • Почему не работает форвардинг на Centos?

    @younghacker
    В случае ping -I eth1 пакеты улетают "наружу" непосредственно в интерфейс.
    А в случае ping -I 192.168.243.1 используется таблица маршрутизации хоста на котором запущен ping. Тоесть пакет попадает как бы внутрь хоста с адресом источника равным заданному адресу на интерфейсе.
  • Почему не работает форвардинг на Centos?

    @younghacker
    Тоесть вместо имени интерфейса используйте адрес привязанный к этому интерфейсу.
  • Почему не работает форвардинг на Centos?

    @younghacker
    @Abdus traceroute тут не поможет. Дампить нужно.
    Вы обратили внимание на адреса (src dst) пакета который уходит?
    Тaaак... И не люблю я эти пинги с интефейсов без адреса.
    В одном окне терминала
    $ ping -I 192.168.243.1 8.8.8.8
    В другом терминала
    # tcpdump -n -i eth0 proto ICMP
  • Как настроить DNS при использовании VPN?

    @younghacker
    Есть ещё один момент:
    "The search keyword of a system's resolv.conf file can be overridden on a per-process basis by setting the environment variable LOCALDOMAIN to a space-separated list of search domains."
  • Как настроить DNS при использовании VPN?

    @younghacker
    Если Вы при вызове nslookup не задавали адрес DNS сервера то в качестве DNS стоит ваша машина. И раз для домена host.company.local ответ верен, значит работает она верно.

    Посмотрите таблицу маршрутизации
    # ip route

    Попробуйте в одном окне консоли запускать
    $ resolveip host.company.local
    а во второй
    # tcpdump -i -nn udp and port 53
    пройдитесь по всем интерфейсам включая локальный и посмотрите правильно ли ходят пакеты.

    Также посмотрите файл
    # cat /etc/resolv.conf
    если используете NetworkManager он должен создаваться автоматически

    Что выдаёт ?
    $ hostname -f

    Ну и если до этого момента не встало всё на места можно заглянуть в
    # strace resolveip host.company.local
    при закоментированной строке с адресом host.company.local в /etc/hosts
    Предыдущий вывод strace можно сравнить его с
    # strace nslookup host.company.local
  • Как настроить DNS при использовании VPN?

    @younghacker
    1) Всегда есть место костылю. Делаете в цикле nslookup всех имён и формируете список строк для заталкивания в hosts.
    2) Если nslookup отдаёт правильные адреса то почему же браузер не получает их? А нет ли какого конфликта имён вашей машины с сеткой офиса?
    Браузер перегрузить не помогает? Компьютер? Может где-то осело в кеше.
    А ping в правильную сторону работает?
    Если стоит resolveip из пакета community-mysql-server что он говорит?