<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LINUX-TUX блог о Linux и Open Source &#187; удалённое управление</title>
	<atom:link href="http://linux-tux.org.ua/tag/udalyonnoe-upravlenie/feed" rel="self" type="application/rss+xml" />
	<link>http://linux-tux.org.ua</link>
	<description>Linux - установка, настройка, использование или как я постигал Linux</description>
	<lastBuildDate>Sun, 27 Dec 2009 10:20:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Как настроить VPN-сервер в Linux Ubuntu</title>
		<link>http://linux-tux.org.ua/linux-dlya-novichkov_kak-nastroit-vpn-server-v-linux-ubuntu.html</link>
		<comments>http://linux-tux.org.ua/linux-dlya-novichkov_kak-nastroit-vpn-server-v-linux-ubuntu.html#comments</comments>
		<pubDate>Tue, 08 Dec 2009 22:23:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[LINUX для новичков]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PPTPD]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VPN]]></category>
		<category><![CDATA[удалённое управление]]></category>

		<guid isPermaLink="false">http://linux-tux.org.ua/?p=155</guid>
		<description><![CDATA[Решил я как-то поднять на домашнем серваке с Ubuntu Linux VPN сервер, для того чтобы можно было подключаться к нему из офиса, иметь удаленный доступ, брать нужные файлы, запускать закачки, смотреть через web-камеру, что делается в квартире и т.п. Поднял я его без особых трудностей, и теперь опишу, как я это делал и как это [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify; "><img class="alignleft size-medium wp-image-156" title="vpn-network2" src="http://linux-tux.org.ua/wp-content/uploads/2009/12/vpn-network2-300x217.gif" alt="vpn-network-ubuntu" width="300" height="217" />Решил я как-то поднять на домашнем серваке с<strong> Ubuntu Linux VPN сервер</strong>, для того чтобы можно было подключаться к нему из офиса, иметь <strong>удаленный доступ</strong>, брать нужные файлы, запускать закачки, смотреть через web-камеру, что делается в квартире и т.п. Поднял я его без особых трудностей, и теперь опишу, как я это делал и как это делать Вам если вдруг понадобиться.<span id="more-155"></span></p>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">становим VPN сервер:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">sudo apt-get install pptpd ipx ipxripd</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Настройка VPN сервера.</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Отредактируйте файл /etc/ppp/pptpd-options</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">name pptpd</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">refuse-pap</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">refuse-chap</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">require-mschap</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">require-mschap-v2</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">require-mppe-128</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ms-dns 10.0.0.1</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ms-dns 10.0.0.2</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">proxyarp</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">nodefaultroute</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">lock</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">nobsdcomp</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">#IPX (todo)</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ipx</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ipx-network 4</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ipx-node 1:0</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ipx-routing 2</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ipx-router-name Linux_router</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">ipxcp-accept-remote</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Отредактируйте файл /etc/pptpd.conf</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">option /etc/ppp/pptpd-options</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">logwtmp</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">localip 172.16.16.1</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">remoteip 172.16.16.2-254</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Теперь можно добавить пользователей, для этого отредактируйте файл /etc/ppp/chap-secrets</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;"># Secrets for authentication using CHAP</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;"># client server secret IP addresses</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">heiniken pptpd vladimir &laquo;*&raquo;</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Мы добавили пользователя heiniken с паролем vladimir и с возможностью доступа с любого ip адреса.</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Если хотите с определённого адреса то вместо * впишите ип адрес.</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Перезапускаем VPN сервер</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">/etc/init.d/pptpd restart</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">На этом настройка VPN сервера закончена, осталось настроить фаервол и форвардинг пакетов.</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Настройка фаервола</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Создадим простой скрипт фаервола в домашней директории /home:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">touch /home/vpn-firewall.sh</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">chmod +X /home/vpn-firewall.sh</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">gedit /home/vpn-firewall.sh</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">В открывшемся окне впишите:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">#!/bin/sh</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">echo 1 &gt; /proc/sys/net/ipv4/ip_forward</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">echo 1 &gt; /proc/sys/net/ipv4/ip_dynaddr</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">iptables &#8211;flush</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">iptables &#8211;delete-chain</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">iptables &#8211;table nat &#8211;flush</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">iptables &#8211;table nat &#8211;delete-chain</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">iptables -P FORWARD ACCEPT</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">modprobe iptable_nat</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">modprobe ip_conntrack_ftp</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">modprobe ip_nat_ftp</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">iptables &#8211;table nat &#8211;append POSTROUTING &#8211;out-interface ИМЯ ВАШЕГО ИСХОДЯЩЕГО ИНТЕРФЕЙСА например eth0 -j MASQUERADE</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">echo vpn firewall loaded OK.</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Пропишите этот скрипт в автозагрузку отредактировав файл /etc/rc.local</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Должно получится следующее:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">#!/bin/sh -e</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">/home/vpn-firewall.sh</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">exit 0</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Запустите скрипт фаервола, он должен написать ”vpn firewall loaded OK.”</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">Код:</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">/home/vpn-firewall.sh</div>
<div id="_mcePaste" style="position: absolute; overflow-x: hidden; overflow-y: hidden; width: 1px; height: 1px; top: 0px; left: -10000px;">На этом настройка закончена, можете настраивать windows клиенты, никаких особенных параметров не требуется, просто создаете подключение vpn с адресом вашего сервера, на вкладке ”Безопасность” нужно снять галочку с пункта ”Требуется шифрование данных (иначе отключаться)”, а так же логином и паролем которые вы вписали в конфигурационный файл.</div>
<p>Если у Вас еще не установлен пакет <strong>pptpd</strong> &#8211; запускаем его установку следующей командой:</p>
<p><em>sudo apt-get install pptpd ipx ipxripd</em></p>
<p style="text-align: justify; ">Необходимые пакеты установлены, теперь перейдем к изменению конфигурационных файлов <strong>VPN-сервера</strong>, для начала правим файл /etc/ppp/pptpd-options.</p>
<p style="text-align: justify; ">Вводим в терминале:</p>
<p style="text-align: justify; "><em>sudo gedit /etc/ppp/pptpd-options</em></p>
<p style="text-align: justify; ">Вот что пишем внутри:</p>
<blockquote style="text-align: justify; "><p>name pptpd</p>
<p>refuse-pap</p>
<p>refuse-chap</p>
<p>require-mschap</p>
<p>require-mschap-v2</p>
<p>require-mppe-128</p>
<p>ms-dns 10.0.0.1</p>
<p>ms-dns 10.0.0.2</p>
<p>proxyarp</p>
<p>nodefaultroute</p>
<p>lock</p>
<p>nobsdcomp</p>
<p>#IPX (todo)</p>
<p>ipx</p>
<p>ipx-network 4</p>
<p>ipx-node 1:0</p>
<p>ipx-routing 2</p>
<p>ipx-router-name Linux_router</p>
<p>ipxcp-accept-remote</p></blockquote>
<p style="text-align: justify; ">
<p style="text-align: justify; ">После этого правим файл /etc/pptpd.conf выполнив в терминале:</p>
<p style="text-align: justify; "><em>sudo gedit /etc/pptpd.conf</em></p>
<p style="text-align: justify; ">Вот как этот файл выглядит у меня:</p>
<blockquote>
<p style="text-align: justify; ">option /etc/ppp/pptpd-options</p>
<p style="text-align: justify; ">logwtmp</p>
<p style="text-align: justify; ">localip 172.16.16.1</p>
<p style="text-align: justify; ">remoteip 172.16.16.2-254</p>
</blockquote>
<p style="text-align: justify; ">Затем в файл /etc/ppp/chap-secrets добавляем пользователей которые будут иметь право подключатся к <strong>VPN-сети</strong>. Пишем в терминале:</p>
<p style="text-align: justify; "><em>sudo gedit /etc/ppp/chap-secrets</em></p>
<p style="text-align: justify; ">Добавляем в него информацию в таком виде:</p>
<blockquote>
<p style="text-align: justify; "># Secrets for authentication using CHAP</p>
<p style="text-align: justify; "># client server secret IP addresses</p>
<p style="text-align: justify; ">youruser pptpd yourpassword &laquo;*&raquo;</p>
</blockquote>
<p style="text-align: justify; ">Таким образом мы наделили пользователя youruser с паролем yourpassword правом подключаться к нашей <strong>VPN сети</strong> с любого IP-адреса. Если же Вы планируете подключатся к <strong>VPN серверу</strong> исключительно с определенного IP, тогда вот этом &#8211; &laquo;*&raquo; меняйте на желаемый айпишник.</p>
<p style="text-align: justify; ">С настройками <strong>VPN-сервера</strong> мы завершили, теперь нужно его перезапустить для того, чтобы изменения которые мы внесли вступили в силу. Для этого выполним в терминале:</p>
<p style="text-align: justify; "><em>/etc/init.d/pptpd restart</em></p>
<p style="text-align: justify; ">Теперь <strong>VPN-сервер</strong> работает с новыми параметрами которые мы только что ему задали. Осталось лишь разрешить доступ к нему через файервол и настроить форвардинг. Для этого как один из вариантов, можно написать специальный скрипт. Пишем в терминале по очереди:</p>
<blockquote>
<p style="text-align: justify; ">touch /home/vpn-firewall.sh</p>
<p style="text-align: justify; ">chmod +x /home/vpn-firewall.sh</p>
<p style="text-align: justify; ">gedit /home/vpn-firewall.sh</p>
</blockquote>
<p style="text-align: justify; ">Вводим содержание скрипта в редактор:</p>
<blockquote>
<p style="text-align: justify; ">#!/bin/sh</p>
<p style="text-align: justify; ">echo 1 &gt; /proc/sys/net/ipv4/ip_forward</p>
<p style="text-align: justify; ">echo 1 &gt; /proc/sys/net/ipv4/ip_dynaddr</p>
<p style="text-align: justify; ">iptables &#8211;flush</p>
<p style="text-align: justify; ">iptables &#8211;delete-chain</p>
<p style="text-align: justify; ">iptables &#8211;table nat &#8211;flush</p>
<p style="text-align: justify; ">iptables &#8211;table nat &#8211;delete-chain</p>
<p style="text-align: justify; ">iptables -P FORWARD ACCEPT</p>
<p style="text-align: justify; ">modprobe iptable_nat</p>
<p style="text-align: justify; ">modprobe ip_conntrack_ftp</p>
<p style="text-align: justify; ">modprobe ip_nat_ftp</p>
<p style="text-align: justify; ">iptables &#8211;table nat &#8211;append POSTROUTING &#8211;out-interface eth0</p>
<p style="text-align: justify; ">echo vpn firewall loaded OK.</p>
</blockquote>
<p style="text-align: justify; ">В предпоследней строке вместо eth0 подставляйте название Вашего сетевого соединения. Неплохо было бы, чтобы этот скрипт запускался сам, при старте системы, верно? Значит нужно добваить его в автозагрузку. За автозагрузку отвечает следующий файл: /etc/rc.local</p>
<p style="text-align: justify; "><em>sudo gedit /etc/rc.local</em></p>
<p style="text-align: justify; ">&#8230; и добавим в него следующие строки (вернее среднюю, т.к. первые две по идее должны уже у Вас быть):</p>
<blockquote>
<p style="text-align: justify; ">#!/bin/sh -e</p>
<p style="text-align: justify; ">/home/vpn-firewall.sh</p>
<p style="text-align: justify; ">exit 0</p>
</blockquote>
<p style="text-align: justify; ">Затем запускаем скрипт фаервола, выполнив следующую команду: <em>/home/vpn-firewall.sh</em> и если все ОК, то последней строчкой он выведет: ”vpn firewall loaded OK.”</p>
<p style="text-align: justify; ">Всё, готово, можете подключаться к <strong>VPN-серверу</strong> со стороны клиента, где нужно естесственно указать логин и пароль, который Вы забили в файл /etc/ppp/chap-secrets. Удачного <strong>VPN-соединения</strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://linux-tux.org.ua/linux-dlya-novichkov_kak-nastroit-vpn-server-v-linux-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
