Linux coutner

Настройка Интернета из консоли (VPN, PPPoE)

Так уж повелось, что без консоли я уже жить немогу :)
И несмотря на все удобства настройки подключения к интернету при помощи GUI, пользуюсь именно консольными.
Может кому будет это интересно...

Сразу хочу заметить, если вы используете Elive - http://elivecd.org, то в консоли под рутом просто запустите vpn-setup. Ответьте на несколько вопросов и Вы в интернете.


PPTP
Для подключения к интернету при помощи VPN (pptp) Вам необходимо установить пакет pptp-linux, из репозитория:

sudo apt-get update && apt-get install pptp-linux

Или же воспользовавшись машиной на котрой есть интернет зайдя например по ЭТОЙ ссылке.
Если у Вас другой дистрибутив, можно воспользоваться гуглом :)
Скачали пакет, перенесли его на нужную машину. Установим его (пример для дебиан-подобных дистрибутивов)
Устанавливаем пакет при помощи DEB инсталлера (двойной клик по пакету).

Или же из консоли.

Открываем терминал
Переходим в директорию с пакетом

cd /home/user/download/ (например)
sudo dpkg -i pptp-linux

Далее запускаем команду: sudo pptpsetup (pptpsetup --help, покажет Вам пример)
Пример:

sudo pptpsetup --create VPN --server 10.10.10.1 --username login --password 123456

Соединение создано. Но...
Необходимо добавить еще две команды в файл-конфиг этого соединения.

sudo gedit /etc/ppp/peers/VPN (VPN это файл который был создан в соответствии с именем соединения назначеным Вами.)

Добавляем туда:

defaultroute
replacedefaultroute

Все настройки сделаны. Для подключения напишем в консоли

sudo pon VPN.

А для отключения sudo poff VPN.

Для упрощения процедуры можно скачать скопировать код скрипта в файл, обозвать его например myvpn.sh и запустить его. (Скрипт находится внизу страницы)
Для запуска пишем: sudo sh myvpn.sh

Скрипт для создания VPN

#!/bin/bash
 
echo "Check if pptp-linux is installed..." && sleep 2
if [ -z "$(aptitude search pptp-linux | grep "^i")" ]
then
        echo "Not installed. Exit"
        exit 1
    else
	echo "Installed"
fi	
echo -n "Enter the name of connection: "
read conname
 
echo -n "Enter the VPN server IP: "
read vpnip
 
echo -n "Enter the Username (login) for VPN connection: "
read login
 
echo -n "Enter the Password for VPN connection: " 
read passw
 
 
echo "Username: $conname"
echo "VPN server IP: $vpnip"
echo "Login: $login"
echo "Password: $passw"
 
 
pptpsetup --create $conname --server $vpnip --username $login --password $passw
chmod 755 /etc/ppp/peers
echo "defaultroute" >> /etc/ppp/peers/$conname
echo "replacedefaultroute" >> /etc/ppp/peers/$conname
 
echo "Your VPN(PPTP) connection was created" && sleep 2
echo "To connect type: pon $conname in terminal as root"
echo  "To disconnect type: poff $conname in terminal as root"

PPPoE

PPPoE. С этим тоже все просто. Существует такая утилитка pppoeconf...

sudo pppoeconf


3.6
Ваша оценка: Нет (5 votes)

Комментарии

dronan аватар

Перепробовал скрипт в

Перепробовал скрипт в нескольких убунтах :) Все работает (даже без выставления прав на чтение)

Для убунту сервер пойдет инструкция?

Пойдет в принципе под любой дистр.

вот такая неприятность: в сетевых настройках Убунты 9.04 соединение через сетевые подключения (pppoe) настраивалось без проблем. Но вот в серсии 9.10 никак. Через pppoeconf настроить DSL соединение настроить удалось, но все равно неприятно. Есть ли пути решения?

сделал все как написано в

сделал все как написано в статье.
после sudo pon vpn ничего не происходит, и в логах тоже пусто.

Очень интересно :).
А скрипт запускал при помощи sudo? Соединение создало?
Попробуй sudo pon первую букву названия соединения и TAB.

да, скрипт запускал от

да, скрипт запускал от sudo.
соединени создало.
пробовал sudo pon первую букву названия соединения и TAB... название соединения не дополняет.

dronan аватар

А если sudo -s а потом уже

А если sudo -s а потом уже pon ...

всеравно ничего.
когда ввожу имя несуществующего подключения то пишет
The file /etc/ppp/peers/vpn1 does not exist. Please create it or use
a command line argument to use another file in the /etc/ppp/peers/ directory.

dronan аватар

Как посоветовал root дадим

Как посоветовал root дадим права на чтение директории sudo chmod 755 /etc/ppp/peers
После этого пробуем запускать.

Зы. Это общая проблемка для пользователей судо...

sudo chmod 755

sudo chmod 755 /etc/ppp/peers
даже после этого ничего

Так а конектиться-то есть к чему? Обсудить можно в конфе на жаббер сервере
ubuntueasy@conference.jabber.ru

ну конечно есть :) через

ну конечно есть :)
через network-manager конектится на отличненько.

Сделал все по инструкции.

Сделал все по инструкции. Подключение в ifconfig появилось. Но ни один сайт не пингуется. Посмотрел в логах, там вот такой текст:

ppd 2.4.4 started by root, uid 0
Oct 13 14:28:33 server pppd[4961]: Using interface ppp5
Oct 13 14:28:33 server pppd[4961]: Connect: ppp5 <--> /dev/pts/1
Oct 13 14:28:34 server pppd[4961]: CHAP authentication succeeded: Welcome
Oct 13 14:28:34 server pppd[4961]: CHAP authentication succeeded
Oct 13 14:28:34 server pppd[4961]: local  IP address {IP адрес}
Oct 13 14:28:34 server pppd[4961]: remote  IP address {IP адрес}
<code>
Хотелось бы понять, почему при установленном соединении никакой адрес в интернете не пингуется с сервера

дефолтный роут наверно нужно добавить
sudo route add default gw "remote IP address {IP адрес}"

Все правильно.
Но в скрипте есть строки которые отвечают за замену шлюза.
Но вот в логах там аж 5 соединений поднято одновременно. О_о