<?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>Записки на полях &#187; vpn</title>
	<atom:link href="http://snake.khd.ru/tag/vpn/feed/" rel="self" type="application/rss+xml" />
	<link>http://snake.khd.ru</link>
	<description>cat /var/log/messages</description>
	<lastBuildDate>Sun, 05 Feb 2012 11:22:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Свет в конце тоннеля: OpenVPN + FreeBSD7</title>
		<link>http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/</link>
		<comments>http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 08:33:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=690</guid>
		<description><![CDATA[Vtund всем хорош, кроме одного &#8211; в глобальных сетях его использовать трудно. А что делать, если среда дюже недружелюбная (считай &#8211; зарезано все, кроме стандартных протоколов, и ipip провесить уже не выйдет). Наш выход &#8211; VPN. Тем более что OpenVPN поможет и влан прокинуть, и данные зашифрует, и вообще, позволит создать у пользователя уверенность, что <a href='http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://snake.khd.ru/2011/01/trably-s-vtund/">Vtund</a> всем хорош, кроме одного &#8211; в глобальных сетях его использовать трудно. А что делать, если среда дюже недружелюбная (считай &#8211; зарезано все, кроме стандартных протоколов, и ipip провесить уже не выйдет). Наш выход &#8211; <a href="http://snake.khd.ru/tag/vpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vpn">VPN</a>. Тем более что <a href="http://snake.khd.ru/tag/openvpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  openvpn">OpenVPN</a> поможет и влан прокинуть, и данные зашифрует, и вообще, позволит создать у пользователя уверенность, что удаленный филиал находится вовсе не в другом городе, а за стенкой (где б еще такой инет взять&#8230;)<br />
<span id="more-690"></span><br />
Исходные данные:<br />
Сервер: <a href="http://snake.khd.ru/tag/linux/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  linux">Linux</a> 2.6.28.2<br />
Клиент: <a href="http://snake.khd.ru/tag/freebsd/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  FreeBSD">FreeBSD</a> 7.2-RELEASE-p8<br />
OpenVPN 2.1.4</p>
<p>Задача: Организовать подключение таким образом, чтобы клиент, и сеть за ним могли видеть локальную сеть за сервером так, будто это два рядом стоящих маршрутизатора. Собственно, настройка занимает минут пятнадцать.</p>
<p>На клиенте:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>security<span style="color: #000000; font-weight: bold;">/</span>openvpn <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span> clean</pre></div></div>

<p>/etc/rc.conf</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">openvpn_enable</span>=<span style="color: #ff0000;">&quot;YES&quot;</span>
<span style="color: #007800;">openvpn_if</span>=<span style="color: #ff0000;">&quot;tun&quot;</span>
<span style="color: #007800;">openvpn_configfile</span>=<span style="color: #ff0000;">&quot;/usr/local/etc/openvpn/client.conf&quot;</span>
<span style="color: #007800;">openvpn_dir</span>=<span style="color: #ff0000;">&quot;/usr/local/etc/openvpn&quot;</span></pre></div></div>

<p>Описание директив спер <a href="http://tuxnotes.ru/articles.php?a_id=26">отсюда</a> и <a href="https://secretsline.biz/ru/manual/read/openvpn-manual/">отсюда</a></p>
<p>/usr/local/etc/openvpn/client.conf</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#определяет какой использовать тип устройства tun или tap.</span>
dev tun
<span style="color: #666666; font-style: italic;">#Возможные значения: udp, tcp, tcp-client, tcp-server. С первыми двумя все ясно, </span>
<span style="color: #666666; font-style: italic;">#а на последних двух остановимся чуть подробнее:</span>
<span style="color: #666666; font-style: italic;">#tcp-client - сам пытается установить соединение</span>
<span style="color: #666666; font-style: italic;">#tcp-server - только ждет подключений</span>
<span style="color: #666666; font-style: italic;">#Примечательно, что с использованием протокола udp VPN будет работать чуть быстрее, </span>
<span style="color: #666666; font-style: italic;">#чем tcp. Но в плане стабильности работы лучше выбирать tcp </span>
<span style="color: #666666; font-style: italic;">#(как показывает практика, VPN-соединение более устойчиво)</span>
proto udp
<span style="color: #666666; font-style: italic;">#определяет удаленный конец туннеля. Могут использоваться записи IP и DNS.</span>
remote 10.12.0.201
port <span style="color: #000000;">1194</span> 
<span style="color: #666666; font-style: italic;">#Роль - клиент или сервер</span>
client
<span style="color: #666666; font-style: italic;">#если OpenVPN не удалось узнать имя удаленного хоста по DNS, </span>
<span style="color: #666666; font-style: italic;">#то через указанное количество секунд попытаться переподключиться.</span>
resolv-retry infinite
<span style="color: #666666; font-style: italic;">#Настройки сертификатов и безопасности</span>
ca <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ca.crt
cert <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>client.crt
key <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>client.key
tls-client
tls-auth <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ta.key <span style="color: #000000;">1</span>
<span style="color: #666666; font-style: italic;">#алгоритм хэширования</span>
auth SHA512
<span style="color: #666666; font-style: italic;">#указываем алгоритм шифрования</span>
cipher BF-CBC
ns-cert-type server
persist-key
persist-tun
<span style="color: #666666; font-style: italic;">#Настройки логов</span>
status <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn-status.log
log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn.log
<span style="color: #666666; font-style: italic;">#Уровень детализации логов</span>
verb <span style="color: #000000;">3</span>
<span style="color: #666666; font-style: italic;">#Маршрут на удаленную сеть, который поднимается при подключении</span>
route 10.255.0.0 255.255.255.0</pre></div></div>

<p>На стороне сервера:<br />
/etc/openvpn/server.conf</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">&nbsp;
<span style="color: #7a0874; font-weight: bold;">local</span> 10.12.0.201
port <span style="color: #000000;">1194</span>
proto udp
dev tun10
&nbsp;
ca <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ca.crt
cert <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>server.crt
key <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>server.key
<span style="color: #c20cb9; font-weight: bold;">dh</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>dh1024.pem
<span style="color: #666666; font-style: italic;">#автоматически присваивает адреса всем клиентам (DHCP) </span>
<span style="color: #666666; font-style: italic;">#в указанном диапазоне с маской сети. </span>
<span style="color: #666666; font-style: italic;">#Данная опция заменяет ifconfig и может работаеть только с </span>
<span style="color: #666666; font-style: italic;">#TLS-клиентами в режиме TUN, соответственно использование </span>
<span style="color: #666666; font-style: italic;">#сертификатов обязательно. Например: server 10.3.0.0 255.255.255.0</span>
<span style="color: #666666; font-style: italic;">#Подключившиеся клиенты получат адреса в диапазоне между 10.3.0.1 и 10.3.0.254.</span>
server  10.255.1.112 255.255.255.248
<span style="color: #666666; font-style: italic;">#Статические маршруты, которые будут выдаваться клиенту</span>
push <span style="color: #ff0000;">&quot;route 10.0.0.0 255.0.0.0&quot;</span>
push <span style="color: #ff0000;">&quot;route 92.50.243.0 255.255.255.0&quot;</span>
push <span style="color: #ff0000;">&quot;route 94.25.108.0 255.255.255.0&quot;</span>
push <span style="color: #ff0000;">&quot;route 46.8.128.0 255.255.128.0&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Папка с дополнительными настройками клиента</span>
client-config-dir ccd
<span style="color: #666666; font-style: italic;">#Статические маршруты на сеть за клиентом, которые поднимаются на сервере</span>
route 10.255.1.112 255.255.255.252
route 10.12.4.0 255.255.255.0
route 10.12.5.0 255.255.255.0
route 10.12.51.0 255.255.255.0
&nbsp;
client-to-client
keepalive <span style="color: #000000;">10</span> <span style="color: #000000;">120</span>
&nbsp;
tls-server
tls-auth <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>ta.key <span style="color: #000000;">0</span> <span style="color: #666666; font-style: italic;"># This file is secret</span>
&nbsp;
auth SHA512
cipher BF-CBC        <span style="color: #666666; font-style: italic;"># Blowfish (default)</span>
&nbsp;
max-clients <span style="color: #000000;">10</span>
<span style="color: #666666; font-style: italic;">#Пользователь и группа, от имени которых будет запускаться процесс</span>
user openvpn
group openvpn
&nbsp;
<span style="color: #666666; font-style: italic;">#Не перечитывать файлы с ключами при получении SIGUSR1 или --ping-restart.</span>
<span style="color: #666666; font-style: italic;">#Эта опция может быть использована совместно с --user nobody, </span>
<span style="color: #666666; font-style: italic;">#чтобы разрешить перезапуски вызываемые SIGUSR1. </span>
<span style="color: #666666; font-style: italic;">#По умолчанию, если вы понижаете привелегии демона OpenVPN, то </span>
<span style="color: #666666; font-style: italic;">#его нельзя перезапустить, так как невозможно заново прочитать защищенные файлы ключей. </span>
persist-key
<span style="color: #666666; font-style: italic;">#Не закрывать и повторно открывать устройство TUN/TAP </span>
<span style="color: #666666; font-style: italic;">#или запускать скрипты up/down при получении сигнала SIGUSR1 или перезапусков по --ping-restart.</span>
<span style="color: #666666; font-style: italic;">#Сигнал SIGUSR1 схож с SIGHUP, но предоставляет более точный контроль над опциями перезапуска.</span>
persist-tun
status <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn-status.log
log <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>openvpn<span style="color: #000000; font-weight: bold;">/</span>openvpn.log
verb <span style="color: #000000;">3</span></pre></div></div>

<p>Включаем, соединяемся&#8230; пиры друг друга пингуют. С клиента пингуется сеть за сервером, а вот наоборот &#8211; хрен. Курим гугл, находим <a href="http://subnets.ru/blog/?p=1517">решение</a>:</p>
<blockquote><p>
Важное замечание, что если OpenVPN запускается в режиме server (см. комментарии п.2), то статический или динамический  маршрут, даже который смотрит правильно и напрямую в интерфейс tun, ни к чему не приведет, работать не будет.<br />
Т.к. в режиме server получается point-to-multipoint линк и именно поэтому серверу надо уже объяснять какому клиенту за ифейсом tun нужно отправлять трафик. Поэтому туннельные интерфейсы могут пинговаться, а любые подсети за OpenVPN-клиентом нет, т.к. трафик не уедет в туннель.<br />
Это хорошо видно по tcpdump, если с OpenVPN-сервера попробовать попинговать любой адрес из подсети, которая находится ЗА OpenVPN-клиентом.<br />
С одной стороны (со стороны OpenVPN-сервера) трафик в tun виден, а до другой стороны трафик просто не доходит, а если быть точнее, то на самом деле трафик с OpenVPN-сервера просто не отправляется.
</p></blockquote>
<p>Так что файлик /etc/openvpn/ccd/client будет примерно таким:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ifconfig-push 10.255.1.114 10.255.1.113
iroute 10.12.51.0 255.255.255.0
iroute 10.12.5.0 255.255.255.0
iroute 10.12.4.0 255.255.255.0</pre></div></div>

<p>После этого все должно заработать. Маршруты появятся автоматически, как только установится соединение. Так же можно запускать сторонние скрипты с помощью директив up и down. Подробнее с примерами их использования можно ознакомиться по ссылкам выше.</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/03/svet-v-konce-tonnelya-openvpn-freebsd7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD + OpenVPN tap: нид хелп</title>
		<link>http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/</link>
		<comments>http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 07:19:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[mtu]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[tap]]></category>
		<category><![CDATA[vlan]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=685</guid>
		<description><![CDATA[Собственно, что мы имеем: FreeBSD 7.2 + OpenVPN client openvpn настроен на tap (Конфиг не прицнипиален, но если нужно, приложу) ifcnofig: tap10: flags=8943 metric 0 mtu 1500 ether 00:bd:ed:bf:09:0a Opened by PID 80904 bridge10: flags=8843 metric 0 mtu 1500 ether aa:fe:fa:21:82:e5 inet 10.255.1.114 netmask 0xfffffff8 broadcast 10.255.1.119 id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 <a href='http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Собственно, что мы имеем:<br />
<a href="http://snake.khd.ru/tag/freebsd/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  FreeBSD">FreeBSD</a> 7.2 + <a href="http://snake.khd.ru/tag/openvpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  openvpn">OpenVPN</a> client<br />
openvpn настроен на <a href="http://snake.khd.ru/tag/tap/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  tap">tap</a> (Конфиг не прицнипиален, но если нужно, приложу)<br />
<span id="more-685"></span><br />
ifcnofig:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    tap10: <span style="color: #007800;">flags</span>=<span style="color: #000000;">8943</span> metric <span style="color: #000000;">0</span> mtu <span style="color: #000000;">1500</span>
     ether 00:bd:<span style="color: #c20cb9; font-weight: bold;">ed</span>:bf:09:0a
     Opened by PID <span style="color: #000000;">80904</span>
    bridge10: <span style="color: #007800;">flags</span>=<span style="color: #000000;">8843</span> metric <span style="color: #000000;">0</span> mtu <span style="color: #000000;">1500</span>
     ether aa:fe:fa:<span style="color: #000000;">21</span>:<span style="color: #000000;">82</span>:e5
     inet 10.255.1.114 netmask 0xfffffff8 broadcast 10.255.1.119
     <span style="color: #c20cb9; font-weight: bold;">id</span> 00:00:00:00:00:00 priority <span style="color: #000000;">32768</span> hellotime <span style="color: #000000;">2</span> fwddelay <span style="color: #000000;">15</span>
     maxage <span style="color: #000000;">20</span> holdcnt <span style="color: #000000;">6</span> proto rstp maxaddr <span style="color: #000000;">100</span> timeout <span style="color: #000000;">1200</span>
     root <span style="color: #c20cb9; font-weight: bold;">id</span> 00:00:00:00:00:00 priority <span style="color: #000000;">32768</span> ifcost <span style="color: #000000;">0</span> port <span style="color: #000000;">0</span>
     member: vlan1058 <span style="color: #007800;">flags</span>=<span style="color: #000000;">143</span>
      ifmaxaddr <span style="color: #000000;">0</span> port <span style="color: #000000;">9</span> priority <span style="color: #000000;">128</span> path cost <span style="color: #000000;">20000</span>
     member: tap10 <span style="color: #007800;">flags</span>=<span style="color: #000000;">143</span>
      ifmaxaddr <span style="color: #000000;">0</span> port <span style="color: #000000;">7</span> priority <span style="color: #000000;">128</span> path cost <span style="color: #000000;">2000000</span>
    vlan1058: <span style="color: #007800;">flags</span>=<span style="color: #000000;">8943</span> metric <span style="color: #000000;">0</span> mtu <span style="color: #000000;">1500</span>
     <span style="color: #007800;">options</span>=<span style="color: #000000;">3</span>
     ether 00:<span style="color: #000000;">30</span>:<span style="color: #000000;">48</span>:<span style="color: #000000;">62</span>:<span style="color: #000000;">97</span>:de
     inet x.x.x.x netmask 0xfffffffc broadcast x.x.x.x
     media: Ethernet autoselect <span style="color: #7a0874; font-weight: bold;">&#40;</span>1000baseTX <span style="color: #7a0874; font-weight: bold;">&#41;</span>
     status: active
     vlan: <span style="color: #000000;">1058</span> parent interface: em0</pre></div></div>

<p>netstat -rn</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">    Destination Gateway Flags Refs Use Netif Expire
    default x.x.x.65 UGS <span style="color: #000000;">0</span> <span style="color: #000000;">5380</span> vlan10
    10.0.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">8</span> 10.255.1.113 UGS <span style="color: #000000;">0</span> <span style="color: #000000;">65951</span> bridge
    10.12.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> 10.12.51.1 UGS <span style="color: #000000;">0</span> <span style="color: #000000;">2303745402</span> em0
    10.12.4.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#4 UC 0 0 vlan12</span>
    10.255.1.112<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">29</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#8 UC 0 0 bridge</span>
    10.255.1.113 00:1c:c0:7c:a6:<span style="color: #000000;">26</span> UHLW <span style="color: #000000;">5</span> <span style="color: #000000;">19</span> bridge <span style="color: #000000;">1185</span>
    x.x.x.x<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">30</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#9 UC 0 0 vlan10</span>
    x.x.x.65 <span style="color: #000000;">12</span>:<span style="color: #000000;">34</span>:<span style="color: #000000;">56</span>:<span style="color: #000000;">78</span>:<span style="color: #000000;">90</span>:<span style="color: #000000;">12</span> UHLW <span style="color: #000000;">2</span> <span style="color: #000000;">248</span> vlan10 <span style="color: #000000;">1137</span>
    x.x.x.66 <span style="color: #000000;">12</span>:<span style="color: #000000;">34</span>:<span style="color: #000000;">56</span>:<span style="color: #000000;">78</span>:<span style="color: #000000;">90</span>:<span style="color: #000000;">12</span> UHLW <span style="color: #000000;">1</span> <span style="color: #000000;">0</span> lo0
    127.0.0.1 127.0.0.1 UH <span style="color: #000000;">0</span> <span style="color: #000000;">8069771</span> lo0
    192.169.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> <span style="color: #c20cb9; font-weight: bold;">link</span><span style="color: #666666; font-style: italic;">#2 UC 0 0 em1</span></pre></div></div>

<p>Яндексы пингуются, и вроде даже все замечательно, но. Трафик не ходит. Ни веб, ни что-либо иное.<br />
tcpdump показывает странное:<br />
на tap-интерфейсе виды и запросы и ответы (в случае пинга). На целевом узле видно только приходящие пакеты (если пакеты icmp, видно и входящие и исходящие)<br />
на bridge видно только ответы от сервера (исходящие пакеты)<br />
на <a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">vlan</a> вообще ничего не видно</p>
<p>Разрешающие правила ipfw ситуацию не меняют ровно никак</p>
<p>А теперь внимание, вопрос, граждане читающие: где я накосячил?<br />
P.S. Пробовал менять <a href="http://snake.khd.ru/tag/mtu/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  mtu">mtu</a> на меньшее (1350), пробовал опции &#8211;fragment и &#8211;mssfix, но толку чуть &#8211; по tcpdump видно,что пинги большими пакетами ходят исправно и исправно режутся в соответствии с <a href="http://snake.khd.ru/tag/mtu/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  mtu">mtu</a>, но tcp/udp не ходит никак. Уже даже не знаю, что думать <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/02/freebsd-openvpn-tap-nid-xelp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Главное отличие VPN от VLAN</title>
		<link>http://snake.khd.ru/2011/01/glavnoe-otlichie-vpn-ot-vlan/</link>
		<comments>http://snake.khd.ru/2011/01/glavnoe-otlichie-vpn-ot-vlan/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 03:44:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Смехуечки]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[vlan]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/2011/01/glavnoe-otlichie-vpn-ot-vlan/</guid>
		<description><![CDATA[На самом деле термин VLAN произошел от английского термина &#8220;виллан&#8221; ( холоп ), то есть &#8211; сеть для смердов. А термин VPN произошел от уже от севременного &#8220;ВИП-и-Н&#8221; что означает &#8211; сеть для VIP&#8217;ов. (с) nag,ru]]></description>
			<content:encoded><![CDATA[<p>На самом деле термин <a href="http://snake.khd.ru/tag/vlan/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vlan">VLAN</a> произошел от английского термина &#8220;виллан&#8221; ( холоп ), то есть &#8211; сеть для смердов.<br />
А термин <a href="http://snake.khd.ru/tag/vpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vpn">VPN</a> произошел от уже от севременного &#8220;ВИП-и-Н&#8221; что означает &#8211; сеть для VIP&#8217;ов.<br />
(с) nag,ru</p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2011/01/glavnoe-otlichie-vpn-ot-vlan/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Нестандартное подключение. pptp в Linux</title>
		<link>http://snake.khd.ru/2009/09/nestandartnoe-podklyuchenie-pptp-v-linux/</link>
		<comments>http://snake.khd.ru/2009/09/nestandartnoe-podklyuchenie-pptp-v-linux/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 14:34:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ppp]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://snake.khd.ru/?p=86</guid>
		<description><![CDATA[Имеется &#8211; компьютер в локальной сети с Ubuntu 9.04, подключаемый к интернету с помощью двух vpn-соединений. первое нужно для связи с vpn-сервером провайдера, второе &#8211; для непосредственно выхода в инетернет. Перво-наперво ставим пакеты ppp и pptp. Затем необходимо (в моем случае) прописать необходимые маршурты к первому vpn-серверу (да, вот такие извращения&#8230;): #!/bin/sh route add -net <a href='http://snake.khd.ru/2009/09/nestandartnoe-podklyuchenie-pptp-v-linux/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Имеется &#8211; компьютер в локальной сети с Ubuntu 9.04, подключаемый к интернету с помощью двух <a href="http://snake.khd.ru/tag/vpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vpn">vpn</a>-соединений. первое нужно для связи с <a href="http://snake.khd.ru/tag/vpn/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  vpn">vpn</a>-сервером провайдера, второе &#8211; для непосредственно выхода в инетернет.<br />
<span id="more-86"></span><br />
Перво-наперво ставим пакеты <a href="http://snake.khd.ru/tag/ppp/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  ppp">ppp</a> и <a href="http://snake.khd.ru/tag/pptp/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  pptp">pptp</a>.<br />
Затем необходимо (в моем случае) прописать необходимые маршурты к первому vpn-серверу (да, вот такие извращения&#8230;):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
route add <span style="color: #660033;">-net</span> 10.12.5.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> gw 10.12.5.1
route add <span style="color: #660033;">-net</span> 10.12.51.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> gw 10.12.5.1
route add <span style="color: #660033;">-net</span> 10.12.4.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">24</span> gw 10.12.5.1
route add <span style="color: #660033;">-host</span> 10.10.10.10 gw 10.12.5.1
route add <span style="color: #660033;">-host</span> 10.10.10.78 gw 10.12.5.1</pre></div></div>

<p>Лучше всего будет прописать их в настройках ethernet соединения, чтобы вставали автоматически.</p>
<p>Затем создаем файлик /etc/ppp/peers/vpn</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">$sudo</span> <span style="color: #660033;">-i</span> <span style="color: #000000; font-weight: bold;">//</span>чтобы лишний раз не заморачиваться насчет прав
<span style="color: #666666; font-style: italic;">#cd /etc/ppp/peers</span>
<span style="color: #666666; font-style: italic;">#touch vpn</span>
<span style="color: #666666; font-style: italic;">#mcedit vpn</span></pre></div></div>

<p>Содержание файла:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pty <span style="color: #ff0000;">&quot;pptp 10.12.51.226 --nolaunchpppd&quot;</span> <span style="color: #000000; font-weight: bold;">//</span>ип сервера, с которым соединяемся
user yourlogin
password <span style="color: #ff0000;">&quot;YoUrPaSsWoRd&quot;</span> <span style="color: #000000; font-weight: bold;">//</span>обязательно в кавычках<span style="color: #000000; font-weight: bold;">!</span>
nodeflate
nobsdcomp
noauth
require-mppe-<span style="color: #000000;">128</span>
mtu <span style="color: #000000;">1460</span>
refuse-eap
refuse-chap
refuse-mschap</pre></div></div>

<p>Далее открываем файлик /etc/ppp/ip-up и добавляем в конец строки:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">route add <span style="color: #660033;">-net</span> 10.255.0.0<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">16</span> dev ppp0</pre></div></div>

<p>Этот маршрут необходим, чтобы связаться с сервером провайдера именно через это vpn-соединение</p>
<p>Пробуем:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#pppd call vpn debug nodetach</span></pre></div></div>

<p>Последние две опции необходимы для отладки. Наблюдаем в консоли примерно такую картину:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">using channel <span style="color: #000000;">2</span>
Using interface ppp0
Connect: ppp0 <span style="color: #000000; font-weight: bold;">&lt;</span>--<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>pts<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfReq <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>asyncmap 0x0<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x33368137<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>pcomp<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>accomp<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfReq <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>auth chap MD5<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x36da4966<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfAck <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>auth chap MD5<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x36da4966<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfReq <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>asyncmap 0x0<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x33368137<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>pcomp<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>accomp<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP ConfAck <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>asyncmap 0x0<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>magic 0x33368137<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>pcomp<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>accomp<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP EchoReq <span style="color: #007800;">id</span>=0x0 <span style="color: #007800;">magic</span>=0x33368137<span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>CHAP Challenge <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>f872f6df5542429b46d6cf7e89a3386c<span style="color: #000000; font-weight: bold;">&gt;</span>, name = <span style="color: #ff0000;">&quot;bras8&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>CHAP Response <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>ebb4965e871c49a07565b148dc2dbf29<span style="color: #000000; font-weight: bold;">&gt;</span>, name = <span style="color: #ff0000;">&quot;unicorn2&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>LCP EchoRep <span style="color: #007800;">id</span>=0x0 <span style="color: #007800;">magic</span>=0x36da4966<span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>CHAP Success <span style="color: #007800;">id</span>=0x1 <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
CHAP authentication succeeded
CHAP authentication succeeded
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>compress VJ 0f 01<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span>addr 0.0.0.0<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 195.14.38.8<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfAck <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 195.14.38.8<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfRej <span style="color: #007800;">id</span>=0x1 <span style="color: #000000; font-weight: bold;">&lt;</span>compress VJ 0f 01<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;">id</span>=0x2 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 0.0.0.0<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfNak <span style="color: #007800;">id</span>=0x2 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 89.178.77.182<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
sent <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfReq <span style="color: #007800;">id</span>=0x3 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 89.178.77.182<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
rcvd <span style="color: #7a0874; font-weight: bold;">&#91;</span>IPCP ConfAck <span style="color: #007800;">id</span>=0x3 <span style="color: #000000; font-weight: bold;">&lt;</span>addr 89.178.77.182<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
Cannot determine ethernet address <span style="color: #000000; font-weight: bold;">for</span> proxy ARP
<span style="color: #7a0874; font-weight: bold;">local</span>  IP address 89.178.77.182
remote IP address 195.14.38.8
Script <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ppp<span style="color: #000000; font-weight: bold;">/</span>ip-up started <span style="color: #7a0874; font-weight: bold;">&#40;</span>pid <span style="color: #000000;">4072</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Script <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ppp<span style="color: #000000; font-weight: bold;">/</span>ip-up finished <span style="color: #7a0874; font-weight: bold;">&#40;</span>pid <span style="color: #000000;">4072</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, status = 0x0</pre></div></div>

<p>У нас появилось новое сетевое устройство ppp0.</p>
<p>Пингуем vpn провайдера:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#ping 10.255.0.1</span></pre></div></div>

<p>Если ответ есть, значит все прекрасно. Если нет &#8211; проверяем маршруты и настройки соединения.</p>
<p>Далее создаем файлик /etc/ppp/peers/<a href="http://snake.khd.ru/tag/internet/" class="st_tag internal_tag" rel="tag" title="Записи, помеченные с  internet">internet</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pty <span style="color: #ff0000;">&quot;pptp 10.255.0.2 --nolaunchpppd&quot;</span> <span style="color: #000000; font-weight: bold;">//</span>адрес vpn-сервера провайдера
user yourlogin
password <span style="color: #ff0000;">&quot;YoUrPaSsWorD&quot;</span>
nodeflate
nobsdcomp
noauth
require-mppe-<span style="color: #000000;">128</span>
mtu <span style="color: #000000;">1460</span>
refuse-eap
refuse-chap
refuse-mschap</pre></div></div>

<p>В конец файла /etc/ppp/ip-up дописываем:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">route add default dev ppp1</pre></div></div>

<p>Соединяемся:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pppd call internet debug nodetach</pre></div></div>

<p>Если все прошло успешно, у нас должен появится инет. Если нет &#8211; курим маршруты и настройки соединения.</p>
<p>теперь vpn можно поднимать двумя командами:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pppd call vpn
pppd call internet</pre></div></div>

<p>Только прошу обратить внимание, что демон pppd требует рутовых прав <img src='http://snake.khd.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://snake.khd.ru/2009/09/nestandartnoe-podklyuchenie-pptp-v-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

