LINUX.ORG.RU

Настройка pptp из консоли

 , ,


1

1

Slackware 14, обновлённая до current. Установлен pptp (http://slackbuilds.org/repository/14.0/network/pptp/). Создаю соединение командой

pptpsetup --create ufan --server pptp.ufanet.ru --username ххххх --password ххххх --start
, подключение создаётся, но пишет
Cannot determine ethernet address for proxy ARP
.

Добавляю в iptables:

        iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu  
, перезапускаю соединение, но интернета всё равно нет, ошибка та же.



Последнее исправление: ArturK (всего исправлений: 1)

В то время как даже в gentoo всё работало, а в ubuntu работало ещё до того, как возникала необходимость.

anonymous
()

Cannot determine ethernet address for proxy ARP

Эта ошибка не влияет на прохождение обычных пакетов, можете вобще отключить proxyarp в config-файле. Начинайте проверять соединение с пингов, сначала шлюз ppp-интерфейса, потом пропишите маршрут в ppp-интерфейс и пингуйте дальше.

mky ★★★★★
()
Ответ на: комментарий от mky

Я не совсем хорошо в терминах разбираюсь. =( Если gateway - 10.8.3.1, то он пингуется, но pptp.ufanet.ru к которому подключаться надо - нет. Пишет unknown host.

На сайте провайдера есть инструкция, но я не могу по ней завести интернет. http://ufaman.ru/inet-tp/setup-connections/417-vpn-setup-linux.html

Сначала создал файл /etc/dhclient-eth0.conf с таким содержанием:

timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;
interface "eth0" {
send host-name "acer";
send dhcp-lease-time 3600;
prepend domain-name "ufanet.ru";
prepend domain-name-servers 81.30.199.5;
request subnet-mask, broadcast-address, time-offset, routers;
script "/sbin/dhclient-script-ufanet";
}

Затем сделал /sbin/dhclient-script-ufanet и поменял 3 строчки (в инструкции пишут 2) на

for router in $new_routers; do
      route add -host pptp.ufanet.ru gw $router $interface
      route add -host 10.8.3.1 gw $router $interface
done
Перезапускать dhclient я не умею, поэтому перезагрузился. Запустил route -n , маршруты до 0.0.0.0 остались. Тогда я сделал dhclient -sf /sbin/dhclient-script-ufanet, после чего перестал работать провайдерский сайт, но пропали маршруты до 0.0.0.0.

После этих манипуляций 10.8.3.1 пингуется, а pptp.ufanet.ru - нет. Решил пойти дальше, создал подключение в /etc/ppp/peers, прописал логин/пароль в chap-secrets. Вызываю pppd call ufanet, ничего не присходит, ppp5 не создаётся. Что я не так сделал?

ArturK
() автор топика
Ответ на: комментарий от ArturK

Доброго утра.

однако у вас в ДНС запись типа А на pptp.ufanet.ru прописан локальный (внутренний) - а должен быть паблик адрес интернет.

dig pptp.ufanet.ru

; <<>> DiG 9.9.3-rl.13207.22-P2-RedHat-9.9.3-5.P2.fc19 <<>> pptp.ufanet.ru ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25336 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1280 ;; QUESTION SECTION: ;pptp.ufanet.ru. IN A

;; ANSWER SECTION: pptp.ufanet.ru. 43078 IN A 10.8.0.1

Потому и не пингутца, у меня тож не пингуца. :)

aeX1pu2b
()
Ответ на: комментарий от ArturK

Инструкция по вашей ссылке хреновая, да ещё и фейковая. То есть команда ″route -n″ не должна выводить строку:

pptp.ufanet.ru        10.64.182.1     255.255.255.255 UGH   0      0        0 eth0
Это команда должна выводить всё в цифрах, никакого pptp.ufanet.ru.

Правка /sbin/dhclient-script-ufanet не тривиальное занятие. Возможно, что у вас и получилось правильно. Обычно в случае с pptp принято создавать и удалять в /etc/ppp/ip-up. Но, маршруты в этом скрипте лучше поменть местами:

 route add -host pptp.ufanet.ru ...
не сможет отработать до выполнения команды:
route add -host 10.8.3.1
так как DNS-хост это 10.8.3.1 и без машрута к нему не будет резолва pptp.ufanet.ru. Не знаю, как часто меняется адрес этого самого pptp.ufanet.ru, но я бы советовал определить его адрес (командой host или ping) и прописать ip-адрес, а не DNS-имя. Если у вас это имя не резолвится, проверяйте, что в /etc/resolv.conf.

Вроде как вместо презагрузки в slackware можно

 /etc/rc.d/rc.inet1 eth0_restart (или какой там у вас интерфейс)
или
/etc/rc.d/rc.inet1 restart (для всех интерфейсов)

Решил пойти дальше, создал подключение в /etc/ppp/peers

Надеюсь, вы не следовали инструкциям по компиляции pppd из исходников через ″make && make install″ ?

ничего не присходит, ppp5 не создаётся.

Посмотрите, что пишется в логи, /var/log/messages, ЕМНИП. Посмотрите, есть ли в списках процессов демон pppd (″ ps axfuwww | grep '[p]ppd' ″). Если процесса нет и в логах пусто, попробуйте запустить pppd без ухода в фон:

pppd nodetach  call ufanet

mky ★★★★★
()
Ответ на: комментарий от mky

Сделал в /sbin/dhclient-script-ufanet как вы сказали, поднял строку с

route add -host 10.8.3.1
вверх, затем
route add -host 10.8.0.1(адрес pptp.ufanet.ru, получил с помощью host)

Надеюсь, вы не следовали инструкциям по компиляции pppd из исходников через ″make && make install″ ?

Нет, ставил слакбилдом.

После правки /sbin/dhclient-script-ufanet ppp5 поднимается, pppd работает, но доступа нет. Может в chap-secrets неправильно? Я там сделал

логин * пароль
В инструкции почему-то написано
логин логин пароль
.

10.8.3.1 и 10.8.0.1 пингуются.

И ещё, чуть не забыл в route -n так и остаётся маршрут до 0.0.0.0, а если опять сделать dhclient -sf /sbin/dhclient-script-ufanet , то маршрут до нулей пропадает, но ppp5 не работает.

ArturK
() автор топика
Ответ на: комментарий от ArturK

В ″route -n″ есть маршрут до 10.8.0.1? Если есть, то при поднятом ppp5 попробуйте команду:

ip route replace default dev ppp5
Если команда выполнится без ошибок и будет маршрут по умолчанию (0.0.0.0) через ppp5, то попробуйте ″ping ya.ru″ или ″ping 8.8.8.8″.

mky ★★★★★
()
Ответ на: комментарий от mky

После вводоа этой команды всё заработало. Просто огромное вам спасибище! Два дня и так и этак ковырял не получалось ничего, а вы помогли. =)

ArturK
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.