Как отправить некоторый трафик через мое соединение VPN
У меня была рабочая установка, где я мог получить доступ ко всем своим рабочим ресурсам, доступ к которым осуществлялся через VPN ранее через мой сервер, однако в какой-то момент в последнее время это перестало работать без видимой причины.
рабочий стол - сервер - (vpn) - работа
В настоящее время у меня есть следующие таблицы маршрутизации:
Рабочий стол:
Таблица маршрутизации IP ядра Шлюз назначения Genmask Флаги Метрика Ссылка Использовать Iface 0.0.0.0 192.168.1.100 0.0.0.0 UG 2 0 0 eth0 10.2.1.0 192.168.1.10 255.255.255.0 UG 2 0 0 eth0 10.103.1.0 192.168.1.10 255.255.255.0 UG 2 0 0 eth0 127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Сервер:
Таблица маршрутизации IP ядра Шлюз назначения Genmask Флаги Метрика Ссылка Использовать Iface 0.0.0.0 192.168.1.100 0.0.0.0 UG 2 0 0 eth0 10.2.1.0 192.168.213.85 255.255.255.0 UG 0 0 0 tun0 ... 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.213.0 192.168.213.85 255.255.255.0 UG 0 0 0 tun0 192.168.213.85 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
Я забыл IP-адреса коробок:
Сервер:
eth0: flags=4163 mtu 1500 инет 192.168.1.10 маска сети 255.255.255.0 широковещательная 192.168.1.255 inet6 fe80:: 4a5b: 39ff: fed9: 821b с префиксом 64 scopeid 0x20 эфир 48:5b:39:d9:82:1b txqueuelen 1000 (Ethernet) RX-пакеты 189718543 байта 130295498473 (121,3 ГиБ) tun0: flags = 4305 mtu 1500 инет 192.168.213.86 маска сети 255.255.255.255 пункт назначения 192.168.213.85 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
Рабочий стол:
eth0: flags=4163 mtu 1500 инет 192.168.1.12 маска сети 255.255.255.0 широковещательная 192.168.2.255
Работа:
10.2.1.134
Текущие правила IPTables:
# Создано iptables-save v1.4.16.3 в понедельник, 11 марта 15:46:11 2013 * физ: ПРЕДВАРИТЕЛЬНЫЙ ПРИНЯТЬ [1499:134874]: ВВОД ПРИНЯТЬ [1499:134874]: ВЫХОД ПРИНЯТ [1088:107916]: РАЗМЕЩЕНИЕ ПРИНЯТИЯ [1088:107916] COMMIT # Завершено в понедельник, 11 марта 15:46:11 2013 # Создано iptables-save v1.4.16.3 в понедельник, 11 марта 15:46:11 2013 * калечить: ПРЕДВАРИТЕЛЬНЫЙ ПРИНЯТ [1680356:728348964]: ВВОД ПРИНЯТЬ [1680356:728348964]: ВПЕРЕД ПРИНЯТЬ [0:0]: ВЫХОД ПРИНЯТ [1399840:350789030]: РАЗМЕЩЕНИЕ ПРИНЯТИЯ [1400230:350882435] COMMIT # Завершено в понедельник, 11 марта 15:46:11 2013 # Создано iptables-save v1.4.16.3 в понедельник, 11 марта 15:46:11 2013 *фильтр: ВВОД ПРИНЯТЬ [363:36065]: ВПЕРЕД ПРИНЯТЬ [0:0]: ВЫХОД ПРИНЯТ [1399845:350789898]:fail2ban-Apache - [0:0]:fail2ban-SSH - [0:0] -A ВХОД -p tcp -m tcp --dport 80 -j fail2ban-Apache -A ВХОД -p tcp -m tcp --dport 1985 -j fail2ban-SSH -A INPUT -m conntrack --ctstate СВЯЗАННЫЕ, УСТАНОВЛЕННЫЕ -j ПРИНЯТЬ -A ВВОД -s 192.168.1.0/24 -j ПРИНЯТЬ -A ВХОД -p tcp -m tcp --dport 60151:60161 -j ПРИНЯТЬ -A ВХОД -p udp -m udp --dport 6889 -j ПРИНЯТЬ -A ВПЕРЕД -i tun0 -o eth0 -m conntrack --ctstate СВЯЗАННЫЕ, УСТАНОВЛЕННЫЕ -j ПРИНЯТЬ -A ВПЕРЕД -i eth0 -o tun0 -j ПРИНЯТЬ -A fail2ban-Apache -j ВОЗВРАТИТЬ -A fail2ban-SSH -j ВОЗВРАТИТЬ COMMIT # Завершено в понедельник, 11 марта 15:46:11 2013
Как вы можете видеть, я добавил правила маршрутизации на рабочий стол, чтобы позволить ему перенаправлять трафик на сервер для указанной сети. Работа ведется на 10.2.1.0/24 (не обращайте внимания на остальные, сейчас они являются лишь дополнительными частями неважных сетей).
Я думаю, что раньше у меня могло быть правило iptables, которое делало что-то с трафиком, однако я потерял его во время отключения питания (дох!) И теперь не могу понять, что я делал ранее, чтобы заставить его работать.
2 ответа
Я думаю, что есть ошибка в таблице маршрутизации сервера.
Туннельный интерфейс (соединение vpn) указан как 192.168.213.86 с удаленной точкой 192.168.213.85. Еще в таблице маршрутизации у вас есть
192.168.213.0 192.168.213.85 255.255.255.0 UG 0 0 0 tun0
192.168.213.85 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
0.0.0.0 192.168.1.100 0.0.0.0 UG 2 0 0 eth0
Проблема достигает 192.168.213.85 через 192.168.1.100. Вам необходимо удалить запись в средней таблице. А точнее маршрут к удаленному концу через локальный интерфейс tun. Если память работает правильно, правильный синтаксис должен быть:
route del -host 192.168.213.85 gw 0.0.0.0
route add -host 129.168.213.85 gw 192.168.213.86
В итоге я перезагрузился и снова работает.
Кажется, какая-то странная ошибка, связанная с тем, что у нас было отключение питания, или я вернулся из спящего режима. В любом случае все детали, включая таблицы маршрутизации и таблицы IPTable, идентичны до и после перезагрузки.
Раздражает, но, увы, это исправлено.