Вопрос или проблема
У меня возникла проблема, описанная здесь: http://pptpclient.sourceforge.net/howto-diagnosis.phtml#lots_of_data. Если я использую defaultroute в конфигурации пир-соединения или вручную добавляю
route add default dev ppp0
, то в TX наблюдается огромное количество трафика: в ifconfig
, так что, возможно, это как-то зацикливается. Я хотел бы настроить это так, чтобы я мог запустить pon ru
, и он автоматически направлял весь не локальный трафик через ppp0.
Вот мои текущие конфигурации.
- /etc/ppp/peers/ru:
connect /bin/true plugin "/usr/local/lib/pppd/2.4.5/pptp.so" pptp_server ru1.vpn.goldenfrog.com user "username" password "password" noauth nobsdcomp nodeflate remotename ru ipparam ru require-mppe-128 usepeerdns nodefaultroute persist mtu 1528 mru 1528
-
Скрипты ip-up: http://pastebin.com/7d4wAe3a
-
Скрипты ifplugd: http://pastebin.com/e0NAsthY
-
Вот как выглядит маршрутизация после
pon ru
:
root@raspberrypi:/home/pi# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default * 0.0.0.0 U 0 0 0 ppp0 192.168.39.81 * 255.255.255.255 UH 0 0 0 ppp0 192.168.178.0 * 255.255.255.0 U 0 0 0 eth0
- Вот ifconfig после
pon ru
:
root@raspberrypi:/home/pi# ifconfig eth0 Link encap:Ethernet HWaddr b8:27:eb:19:c2:bb inet addr:192.168.178.35 Bcast:192.168.178.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:56356 errors:0 dropped:0 overruns:0 frame:0 TX packets:54433 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:7269518 (6.9 MiB) TX bytes:8972796 (8.5 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:962 errors:0 dropped:0 overruns:0 frame:0 TX packets:962 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:83039 (81.0 KiB) TX bytes:83039 (81.0 KiB) ppp0 Link encap:Point-to-Point Protocol inet addr:31.6.12.130 P-t-P:192.168.39.81 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:9436 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:84 (84.0 B) TX bytes:13093786 (12.4 MiB) wlan0 Link encap:Ethernet HWaddr 00:c0:ca:72:6d:a4 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@raspberrypi:/home/pi# route
eth0 – мой внутренний сетевой интерфейс, идущий в роутер AVM Frtiz!box. wlan0 вообще не активен. Смотрите огромное количество в TX на ppp0, что и является самой проблемой, эти 12.4 МБ – это всего лишь за несколько секунд после включения интерфейса.
ОБНОВЛЕНИЕ
Вот вывод tcpdump, когда я добавляю маршрут по умолчанию через ppp0: http://pastebin.com/7nUyLAex
/etc/ppp/peers/ru: в этом файле есть параметр nodefaultroute. Насколько я знаю, его нужно заменить на defaultroute.
Ответ или решение
Чтобы настроить маршрутизацию всего трафика через интерфейс ppp0 с использованием PPTP, вам необходимо внести несколько изменений в конфигурацию PPP.
Проблема
Исходя из вашего описания, вы столкнулись с проблемой при попытке установить маршрут по умолчанию через интерфейс ppp0. Вы используете параметр nodefaultroute
в конфигурационном файле /etc/ppp/peers/ru
, из-за чего маршрутизация по умолчанию не настраивается. Это вызывает значительное количество передаваемых данных, что может свидетельствовать о зацикливании маршрутов.
Решение
-
Измените конфигурацию PPP:
Вам нужно заменить параметрnodefaultroute
наdefaultroute
в файле/etc/ppp/peers/ru
.Вот ваш обновленный файл:
connect /bin/true plugin "/usr/local/lib/pppd/2.4.5/pptp.so" pptp_server ru1.vpn.goldenfrog.com user "username" password "password" noauth nobsdcomp nodeflate remotename ru ipparam ru require-mppe-128 usepeerdns defaultroute persist mtu 1528 mru 1528
-
Удалите ранее добавленные маршруты:
После изменения конфигурации стоит очистить ненужные маршруты. Выполните следующую команду:route del default
Это предотвратит зацикливание маршрутов при следующем подключении.
-
Настройка скрипта
ip-up
:
Убедитесь, что ваш скриптip-up
(если используется) не добавляет маршруты, которые могут конфликтовать с новыми настройками.После того как вы измените конфигурацию и перезапустите PPTP с помощью
pon ru
, проверьте настройки маршрутов снова:route -n
Убедитесь, что
default
маршрут указывает наppp0
. -
Проверка трафика:
Проверьте количество переданных данных на интерфейсе ppp0, используя команду:ifconfig ppp0
Убедитесь, что за полное подключение выполнялся нормальный объем данных и не происходят аномалии.
Дополнительные проверки
-
Tcpdump: Если проблема сохраняется, используйте
tcpdump
, чтобы отследить, какой именно трафик идет через интерфейс ppp0:tcpdump -i ppp0
-
Логи PPP: Проанализируйте логи PPP, которые могут дать больше информации о происходящем. Обычно логи можно найти в
/var/log/syslog
.
Заключение
После внесения изменений и соблюдения указанных рекомендаций, у вас должно получиться корректное направление трафика через интерфейс ppp0 без возникновения зацикливания. Если если проблема не будет решена, стоит проверить настройки вашего провайдера VPN, а также параметры и требования, предоставляемые вашим интернет-провайдером для работы с PPTP.