KVM Шлюз на virtio net & Host PPTP & Guest WinXP [РЕШЕНО]
Пишу для того что бы самому не забыть.
Итак проблема:
Собранный по аналогии с руководством шлюз на KVM для виртуальной сети заработал сразу. Пинги с виртуальной WinXP подключенно к новоиспеченному шлюзу пошли во все стороны, но не которые сайты открываться отказывались. Те же самые сайты на локальной машине открывались. Однажды сталкнувшись именно с этой проблемой я точно знал что делать. Добавил в iptables строчку синхронизации значения MTU iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
(она указанна в том же руководстве), но не тут-то было ... некоторые сайты по прежнему не открывались в WinXP. Покопавшись а инете решил изменить строчку на iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu
, но это тоже не привело к желаемому результату.
PS1: Эти строки я когда-то прописывал на реальном шлюзе на Gentoo и все сработало, но на KVM с virtio так и не заработало ... обидно ((.
Test №1:
Пытаясь разобраться в проблеме первым делом было принято решение переключить WinXP с внутренней виртуальной сети на NAT. Часть сайтов ну никак не хотела работать. Значит проблема не в шлюзе.
Test №2:
Раз проблема не в шлюзе, значит ковыряемся в настройках домашнего компа.
cat /proc/sys/net/ipv4/ip_no_pmtu_disc - выдает 0 а это значит что значения MTU выравниваются
cat /proc/sys/net/ipv4/ip_forward - выдает 1. Трафик перенаправляется.
Для пущей убедительности на всякий случай проверил работу этих сайтов в VirualBox через NAT ... работают.
PS2: С учетом того что в VirtualBox`е синхронизация MTU между хостовой сетью и vboxnet работает нормально, возникло подозрение что именно KVM косячит и именно на компе. Ну или руки кривые.
Test №3:
Идея пришла не сразу. Раз VirtualBox работает нормально а KVM нет, то возможно на домашней машине нужно дополнительно синхронизировать MTU ибо что VirtualBox, что KVM создают виртуальные сетевухи. Имея на домашнем компе 1ну сетевуху и подключение к инету посредством pptp файлвол мне особо не требовалсяну и соответственно iptables я не ставил. Пришлось поставить. Записав первую и единственную из вышеприведенных строк в настройки iptables на локальной машине запустил KVM шлюз. И о чудо! На гостевой WinXP в KVM сайты открылись.
Победа товарищи!
- Для комментирования войдите или зарегистрируйтесь