Я использую CentOS 6. Он подключен к OpenVPN по следующим маршрутам:
Шлюз назначения Genmask Флаги Метрика Ссылка Использование Iface
100.207.0.0 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
101.19.0.0 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.97.156.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 10.97.156.1 0.0.0.0 UG 0 0 0 eth0
При подключении мой ifconfig показывает правильный адрес tun0:
inet адрес: 101.19.23.64
После настройки VPN перезапускаю sshd. Когда я пытаюсь подключиться к этой системе по ssh с хоста в VPN, время ожидания подключения истекает. Если я использую tcpdump -i tun0
Я получил:
09: 25: 30.592685 IP 100.207.1.200.26605> 101.19.23.64.ssh: флаги [S], seq 2108197737, win 8192, параметры [mss 1366, nop, nop, sackOK], длина 0
Однако ответ через туннель никогда не возвращается. Ответ также не отправляется через eth0 - я перехватил eth0, и у меня не было пакета, пытающегося вернуться к 100.207.1.200.
Я знаю, что sshd прослушивает все интерфейсы, потому что netstat -l
показывает:
tcp 0 0 *: ssh : СЛУШАТЬ
Я даже убедился, что мои iptables разрешают входящие соединения через порт VPN и порт SSH, хотя это не должно быть проблемой, потому что соединения должны быть совмещены с текущим сеансом VPN.
Любые идеи? Я в растерянности, потому что, насколько я могу судить, все настроено правильно.
Маршруты для tun0 неверны: сетевая маска 255.255.255.255
(нет IP, соответствующего такому маршруту).
Тебе наверное понадобится 255.255.255.0
Одер 255.255.0.0
в зависимости от того, как вы настроили свой VPN.