<?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; CentOS</title>
	<atom:link href="http://wiki.dodex.org/tag/centos/feed/" rel="self" type="application/rss+xml" />
	<link>http://wiki.dodex.org</link>
	<description>Что-то новое пришедшее в голову или интересное, найденное в интернете</description>
	<lastBuildDate>Tue, 08 Nov 2011 10:16:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>VPN-сервер (pptpd/xl2tpd+mysql+radius) на CentOS 6</title>
		<link>http://wiki.dodex.org/2011/10/31/vpn-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-pptpdxl2tpdmysqlradius-%d0%bd%d0%b0-centos-6/</link>
		<comments>http://wiki.dodex.org/2011/10/31/vpn-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-pptpdxl2tpdmysqlradius-%d0%bd%d0%b0-centos-6/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 17:35:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Операционные системы]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[freeradius]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=814</guid>
		<description><![CDATA[Здесь я постараюсь описать процесс установки и настройки VPN-сервера на CentOS6 с пользователями в MySQL и авторизацией через radius по chap для xl2tpd и для шифрованного соединения по ms-chap-v2 и mppe для pptpd. Дано Виртуальная машина на KVM со свежеустановленной CentOS6 x86_64 minimal. Задача 1. Установить и настроить в связке pptpd/xl2tpd, freeradius2, radiusclient-ng и mysql. [...]]]></description>
			<content:encoded><![CDATA[<p>Здесь я постараюсь описать процесс установки и настройки VPN-сервера на CentOS6 с пользователями в MySQL и авторизацией через radius по chap для xl2tpd и для шифрованного соединения по ms-chap-v2 и mppe для pptpd.</p>
<h4>Дано</h4>
<p>Виртуальная машина на KVM со свежеустановленной CentOS6 x86_64 minimal.</p>
<h4>Задача</h4>
<p>1. Установить и настроить в связке pptpd/xl2tpd, freeradius2, radiusclient-ng и mysql.<br />
2. Создать 2-х клиентов для подключения к настроенному VPN-серверу, с выходом в нет четез NAT. Один клиент с динамическим получением адреса, второй с постоянным IP.<br />
3. Перенести pool адресов для раздачи динамическим клиентам из pptpd в radius. <span id="more-814"></span></p>
<h4>Решение</h4>
<p>Первым делом необходимо установить все необходимые пакеты. radiusclient-ng, pptpd и xl2tpd нет в стандартных репозиториях, поэтому для radiusclient-ng и xl2tpd мы подключим EPEL-репозиторий, а pptpd-пакет скачаем напрямую.</p>
<blockquote><p><code># rpm -Uhv http://fedora-epel.mirror.lstn.net/6/x86_64/epel-release-6-5.noarch.rpm<br />
# yum install freeradius freeradius-mysql xl2tpd radiusclient-ng radiusclient-ng-utils freeradius-utils mysql mysql-devel mysql-server<br />
# rpm -Uhv http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm</code></p></blockquote>
<p>далее настроим mysql и зададим пароль:</p>
<blockquote><p><code># mysql_secure_installation</code></p></blockquote>
<p>Собственно, перейдем к настройке pptpd. Приводим файлы настройки к следующему виду:</p>
<blockquote><p><code># cat /etc/pptpd.conf<br />
option /etc/ppp/options.pptpd<br />
logwtmp<br />
localip 192.168.80.1<br />
remoteip 192.168.80.5-35</code></p></blockquote>
<blockquote><p><code># cat /etc/ppp/options.pptpd<br />
name pptpd<br />
refuse-pap<br />
refuse-chap<br />
refuse-mschap<br />
require-mschap-v2<br />
require-mppe-128<br />
proxyarp<br />
ms-dns 8.8.8.8<br />
ms-dns 8.8.4.4<br />
lock<br />
nobsdcomp<br />
novj<br />
novjccomp<br />
nologfd<br />
lcp-echo-failure 30<br />
lcp-echo-interval 5<br />
ipcp-accept-local<br />
ipcp-accept-remote<br />
plugin radius.so<br />
plugin radattr.so</code></p></blockquote>
<p>если решили использовать не pptpd , а xl2tpd, то файлы будут иметь следующий вид:</p>
<blockquote><p><code># cat /etc/xl2tpd/xl2tpd.conf<br />
[global]<br />
port = 1701<br />
auth file = /etc/xl2tpd/l2tp-secrets<br />
access control = no<br />
rand source = dev<br />
[lns default]<br />
exclusive = no<br />
ip range = 192.168.80.5-192.168.81.35<br />
local ip = 192.168.80.1<br />
require chap = yes<br />
refuse pap = yes<br />
require authentication = yes<br />
name = VPNserver<br />
ppp debug = yes<br />
pppoptfile = /etc/ppp/options.xl2tpd<br />
length bit = yes<br />
flow bit = yes </code></p></blockquote>
<blockquote><p><code># cat /etc/ppp/options.xl2tpd<br />
ipcp-accept-local<br />
ipcp-accept-remote<br />
lcp-echo-failure 30<br />
lcp-echo-interval 5<br />
ms-dns 8.8.8.8<br />
ms-dns 8.8.4.4<br />
noccp<br />
nodeflate<br />
auth<br />
crtscts<br />
idle 1800<br />
mtu 1410<br />
mru 1410<br />
defaultroute<br />
debug<br />
proxyarp<br />
connect-delay 5000<br />
lock<br />
plugin radius.so<br />
plugin radattr.so</code></p></blockquote>
<p>с pptpd/xl2tpd закончено, переходим к настройке radiusclient-ng:<br />
Первая проблема с которой мы столкнулись, это нежелание pptpd работать с radiusclient-ng из-за путей куда он установлен, поэтому создаем софт-линк следующим образом</p>
<blockquote><p><code># ln -s /etc/radiusclient-ng /etc/radiusclient</code></p></blockquote>
<p>и закоментируем в файле /etc/radiusclient-ng/radiusclient.conf строчку</p>
<blockquote><p><code>#bindaddr *</code></p></blockquote>
<p>иначе ругается на неизвестный параметр.<br />
редактируем /etc/radiusclient-ng/servers , добавляем локальный radius-сервер, к которому будет обращаться клиент</p>
<blockquote><p><code>localhost YouRsUpErpAAs</code></p></blockquote>
<p>Вторая проблема, с которой нам пришлось столкнуться, это отсутствие в пакете radiusclient-ng атрибутов от mircosoft, после гугления, необходимые артибуты были найдены. Копируем имеющиеся файлы с атрибутами из /usr/share/radiusclient-ng/ в /etc/radiusclient-ng/</p>
<blockquote><p><code>cp /usr/share/radiusclient-ng/diction* /etc/radiusclient-ng/</code></p></blockquote>
<p>в /etc/radiusclient-ng/ создаем файл dictionary.microsoft со следующим содержимым:</p>
<blockquote><p>&nbsp;</p>
<p><code> </code></p>
<pre>VENDOR          Microsoft       311     Microsoft

ATTRIBUTE       MS-CHAP-Response        1       string  Microsoft
ATTRIBUTE       MS-CHAP-Error           2       string  Microsoft
ATTRIBUTE       MS-CHAP-CPW-1           3       string  Microsoft
ATTRIBUTE       MS-CHAP-CPW-2           4       string  Microsoft
ATTRIBUTE       MS-CHAP-LM-Enc-PW       5       string  Microsoft
ATTRIBUTE       MS-CHAP-NT-Enc-PW       6       string  Microsoft
ATTRIBUTE       MS-MPPE-Encryption-Policy 7     string  Microsoft
ATTRIBUTE       MS-MPPE-Encryption-Type 8       string  Microsoft
ATTRIBUTE       MS-MPPE-Encryption-Types  8     string  Microsoft
ATTRIBUTE       MS-RAS-Vendor           9       integer Microsoft
ATTRIBUTE       MS-CHAP-Domain          10      string  Microsoft
ATTRIBUTE       MS-CHAP-Challenge       11      string  Microsoft
ATTRIBUTE       MS-CHAP-MPPE-Keys       12      string  Microsoft
ATTRIBUTE       MS-BAP-Usage            13      integer Microsoft
ATTRIBUTE       MS-Link-Utilization-Threshold 14 integer        Microsoft
ATTRIBUTE       MS-Link-Drop-Time-Limit 15      integer Microsoft
ATTRIBUTE       MS-MPPE-Send-Key        16      string  Microsoft
ATTRIBUTE       MS-MPPE-Recv-Key        17      string  Microsoft
ATTRIBUTE       MS-RAS-Version          18      string  Microsoft
ATTRIBUTE       MS-Old-ARAP-Password    19      string  Microsoft
ATTRIBUTE       MS-New-ARAP-Password    20      string  Microsoft
ATTRIBUTE       MS-ARAP-PW-Change-Reason 21     integer Microsoft
ATTRIBUTE       MS-Filter               22      string  Microsoft
ATTRIBUTE       MS-Acct-Auth-Type       23      integer Microsoft
ATTRIBUTE       MS-Acct-EAP-Type        24      integer Microsoft
ATTRIBUTE       MS-CHAP2-Response       25      string  Microsoft
ATTRIBUTE       MS-CHAP2-Success        26      string  Microsoft
ATTRIBUTE       MS-CHAP2-CPW            27      string  Microsoft
ATTRIBUTE       MS-Primary-DNS-Server   28      ipaddr  Microsoft
ATTRIBUTE       MS-Secondary-DNS-Server 29      ipaddr  Microsoft
ATTRIBUTE       MS-Primary-NBNS-Server  30      ipaddr  Microsoft
ATTRIBUTE       MS-Secondary-NBNS-Server 31     ipaddr  Microsoft
VALUE           MS-BAP-Usage            Not-Allowed     0
VALUE           MS-BAP-Usage            Allowed         1
VALUE           MS-BAP-Usage            Required        2
VALUE   MS-ARAP-PW-Change-Reason        Just-Change-Password            1
VALUE   MS-ARAP-PW-Change-Reason        Expired-Password                2
VALUE   MS-ARAP-PW-Change-Reason        Admin-Requires-Password-Change  3
VALUE   MS-ARAP-PW-Change-Reason        Password-Too-Short              4
VALUE           MS-Acct-Auth-Type       PAP             1
VALUE           MS-Acct-Auth-Type       CHAP            2
VALUE           MS-Acct-Auth-Type       MS-CHAP-1       3
VALUE           MS-Acct-Auth-Type       MS-CHAP-2       4
VALUE           MS-Acct-Auth-Type       EAP             5
VALUE           MS-Acct-EAP-Type        MD5             4
VALUE           MS-Acct-EAP-Type        OTP             5
VALUE           MS-Acct-EAP-Type        Generic-Token-Card      6
VALUE           MS-Acct-EAP-Type        TLS             13</pre>
<p>&nbsp;</p></blockquote>
<p>редактируем файл /etc/radiusclient-ng/radiusclient.conf на предмет</p>
<blockquote><p><code>dictionary /etc/radiusclient-ng/dictionary</code></p></blockquote>
<p>редактируем файл /etc/radiusclient-ng/dictionary , добавляя в конец</p>
<blockquote><p><code>INCLUDE /etc/radiusclient-ng/dictionary.microsoft<br />
INCLUDE /etc/radiusclient-ng/dictionary.merit</code></p></blockquote>
<p>с клиентом тоже закончили, переходим к настройке mysql:<br />
пакет freeradius-mysql содержит необходимые файлы для импорта их в mysql, находятся они в /etc/raddb/sql/mysql/<br />
подредактируем файл admin.sql , что бы задать пароль отличный от стандартного</p>
<blockquote><p><code>vim admin.sql<br />
:%s/radpass/radpass235/g<br />
:wq</code></p></blockquote>
<p>подключаемся к mysql, создаем DB, импортируем таблицы и создаем пользователей</p>
<blockquote><p><code>mysql -p<br />
mysql&gt; create database radius;<br />
mysql&gt; \. admin.sql<br />
mysql&gt; use radius;<br />
mysql&gt; \. schema.sql</code></p></blockquote>
<p>далее создаем пользователей и их настройки</p>
<blockquote><p><code>mysql&gt; INSERT INTO radusergroup (username,groupname) values ('user1','static-ip-vpn');<br />
mysql&gt; INSERT INTO radusergroup (username,groupname) values ('user2','dinamic-ip-vpn');</code></p></blockquote>
<p>должно получится следующее</p>
<blockquote><p><code>mysql&gt; select * from radusergroup;</code></p>
<p><code> </code></p>
<pre>+----------+----------------+----------+
| username |   groupname    | priority |
+----------+----------------+----------+
| user1    | static-ip-vpn  | 1        |
| user2    | dinamic-ip-vpn | 1        |
+----------+----------------+----------+</pre>
<p>&nbsp;</p></blockquote>
<blockquote><p><code>mysql&gt; INSERT INTO radcheck (username,attribute,op,value) values ('user1','User-Password','==','pass1');<br />
mysql&gt; INSERT INTO radcheck (username,attribute,op,value) values ('user2','User-Password','==','pass2');</code></p></blockquote>
<blockquote><p><code>mysql&gt; select * from radcheck;</code></p>
<p><code> </code></p>
<pre>+----+----------+---------------+----+-------+
| id | username | attribute     | op | value |
+----+----------+---------------+----+-------+
|  1 | user1    | User-Password | == | pass1 |
|  2 | user2    | User-Password | == | pass2 |
+----+----------+---------------+----+-------+</pre>
<p>&nbsp;</p></blockquote>
<p>заполняем таблицу radgroupreply</p>
<blockquote><p><code>mysql&gt; INSERT INTO radgroupreply (groupname, attribute, op, value) values ('dinamic-ip-vpn','Service-Type',':=','Framed-User');</code></p></blockquote>
<p>и так далее, чтоб получить следующее</p>
<blockquote><p><code>mysql&gt; select * from radgroupreply;</code></p>
<p><code> </code></p>
<pre>+----+----------------+--------------------+----+---------------------+
| id | groupname      | attribute          | op | value               |
+----+----------------+--------------------+----+---------------------+
|  1 | dinamic-ip-vpn | Service-Type       | := | Framed-User         |
|  2 | dinamic-ip-vpn | Framed-Protocol    | := | PPP                 |
|  3 | dinamic-ip-vpn | Framed-Compression | := | Van-Jacobsen-TCP-IP |
|  4 | static-ip-vpn  | Framed-Compression | := | Van-Jacobsen-TCP-IP |
|  5 | static-ip-vpn  | Framed-Protocol    | := | PPP                 |
|  6 | static-ip-vpn  | Service-Type       | := | Framed-User         |
+----+----------------+--------------------+----+---------------------+</pre>
<p>&nbsp;</p></blockquote>
<p>заполняем таблицу radreply чтобы задать постоянный ip для первого клиента user1</p>
<blockquote><p><code>mysql&gt; INSERT INTO radreply (username, attribute, op, value) values ('user1','Framed-IP-Netmask',':=','255.255.255.255');<br />
mysql&gt; INSERT INTO radreply (username, attribute, op, value) values ('user1','Framed-IP-Address',':=','192.168.80.90');<br />
mysql&gt; select * from radreply;</code></p>
<p><code> </code></p>
<pre>+----+----------+-------------------+----+-----------------+
| id | username |     attribute     | op |     value       |
+----+----------+-------------------+----+-----------------+
| 1  | user1    | Framed-IP-Netmask | := | 255.255.255.255 |
| 2  | user1    | Framed-IP-Address | := | 192.168.80.90   |
+----+----------+-------------------+----+-----------------+</pre>
<p>&nbsp;</p></blockquote>
<p>В итоге, мы занесли в базу данный 2-х клиентов, user1 с паролем pass1 и статическим ip – 192.168.80.90, и user2 с паролем pass2 и получением динамического ip из пула указанного в настройках pptpd. Здесь намеренно пользователи разнесены по группам, с учетом дальшейшего увеличения клиентов, можно было просто создать все атрибуты для обоих клиентов в таблице radreply, но при большом количестве клиентов, удобнее использовать группы, где указываются одинаковые для клиентов группы атрибуты. Так же, в группах можно указывать разные пулы адресов и еще многое другое, но об этом сейчас не будем.</p>
<p>Переходим к настрокам radius. Здесь я приведу примеры файлов, в которых производились изменения:</p>
<blockquote><p><code>/etc/raddb/clients.conf<br />
client 127.0.0.1 {<br />
secret = YouRsUpErpAAs<br />
shortname = localhost<br />
nastype = other<br />
}</code></p></blockquote>
<p>Третья проблема, на момент отладки, когда еще radius не был подключен к mysql, столкнулись с тем, что если в файле /etc/raddb/users , если клиенты оказывались прописанными не в начале файла, ничего не работало.</p>
<blockquote><p><code>/etc/raddb/users<br />
DEFAULT Simultaneous-Use := 1<br />
Fall-Through = 1</code></p></blockquote>
<p>Это необходимо прописать, чтоб не было нескольких подключений с одним и тем же логином одновременно</p>
<p>/etc/raddb/radiusd.conf<br />
в секции modules уберем комментарии с</p>
<blockquote><p><code>$INCLUDE sql.conf</code></p></blockquote>
<p>/etc/raddb/sql.conf<br />
прописываем данные для подключения к mysql</p>
<blockquote><p><code>password = "radpass235"</code></p></blockquote>
<p>/etc/raddb/sites-enabled/default<br />
в секциях <code>authorize, session, post-auth и accounting</code> включаем sql<br />
в секции <code>authorize</code> включаем mschap</p>
<blockquote><p><code>/etc/raddb/modules/mschap<br />
mschap {<br />
use_mppe = yes<br />
require_encryption = yes<br />
require_strong = yes<br />
}</code></p></blockquote>
<p>Пожалуй, задача практически решена, остались некоторые штрихи:</p>
<p>Настроить iptables и разрешить форвард, чтоб выпустить клиентов в мир</p>
<blockquote><p><code>iptables -I INPUT -p gre -j ACCEPT<br />
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT<br />
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br />
iptables -I FORWARD -s 192.168.80.0/24 -o eth0 -j ACCEPT<br />
iptables -I FORWARD -d 192.168.80.0/24 -i eth0 -j ACCEPT<br />
iptables -t nat -I POSTROUTING -s 192.168.80.0/24 -o eth0 -j MASQUERADE</code></p></blockquote>
<blockquote><p><code>/etc/sysctl.conf<br />
net.ipv4.ip_forward = 1<br />
sysctl -p</code></p></blockquote>
<p>Уже на данной стадии, если мы запустим установленные сервисы, мы сможем подключится к нашей машине по vpn, осталось только перенести пул адресов выдаваемых динамическим клиентам из pptpd в radius. Для этого есть несколько вариантов, вплоть до помещения пула в mysql. Мы используем простой вариант.</p>
<p>/etc/raddb/modules/ippool<br />
в секции ippool main_pool , делаем правки для своего пула адресов</p>
<blockquote><p><code>range-start = 192.168.80.35<br />
range-stop = 192.168.80.65</code></p></blockquote>
<p>в файле /etc/raddb/sites-enabled/default добавляем с соответствующие секции</p>
<blockquote><p><code>accounting {<br />
main_pool<br />
}</code></p>
<p><code> </code><code>post-auth {<br />
main_pool<br />
}</code></p></blockquote>
<p>далее, создаем файлы, где пул будет храниться</p>
<blockquote><p><code>touch /etc/raddb/db.ipindex /etc/raddb/db.ippool<br />
chmod 664 /etc/raddb/db.ipindex /etc/raddb/db.ippool<br />
chown root:radiusd /etc/raddb/db.ipindex /etc/raddb/db.ippool</code></p></blockquote>
<p>и добавляем в /etc/raddb/users</p>
<blockquote><p><code>DEFAULT Pool-Name := main_pool<br />
Fall-Through = Yes</code></p></blockquote>
<p>перезапускаем radius, и пробуем подключится к машине по vpn, все должно работать. Подробную статистику подключений мы можем увидеть в таблице radius.radacct<br />
выделенные адреса из пула, можно посмотреть командой</p>
<blockquote><p><code>rlm_ippool_tool -av /etc/raddbdb/db.ippool /etc/raddbdb/db.ipindex</code></p></blockquote>
<p>Можно также одновременно использовать и pptpd и xl2tp. И если мы хотим разделить клиентов, мы можем добавить атрибуты, и в MySQL сделать соответствие группам, на основании этих атрибутов, например:<br />
в /etc/ppp/options.pptpd</p>
<blockquote><p><code>avpair Connect-Info=pptp</code></p></blockquote>
<p>а в /etc/ppp/options.xl2tpd</p>
<blockquote><p><code>avpair Connect-Info=l2tp</code></p></blockquote>
<p>Соответственно, при запросе к радиусу эти атрибуты будут посланы. Останется только сделать проверку в radcheck таблице, если для конкретного клиента, или в radgroupcheck, если для группы.</p>
<p>Вот и все.</p>
<p>Удачи в настройках.<br />
<a href="http://twitter.com/shadow_alone">© shadow_alone</a></p>
<p>Оригинал: <a title="http://andrey.org/pptpd-mysql-radius/" href="http://andrey.org/pptpd-mysql-radius/" target="_blank">http://andrey.org/pptpd-mysql-radius/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2011/10/31/vpn-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-pptpdxl2tpdmysqlradius-%d0%bd%d0%b0-centos-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hetzner и IPv6</title>
		<link>http://wiki.dodex.org/2011/01/03/hetzner-and-ipv6/</link>
		<comments>http://wiki.dodex.org/2011/01/03/hetzner-and-ipv6/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 20:27:11 +0000</pubDate>
		<dc:creator>shad</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Операционные системы]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Hetzner]]></category>
		<category><![CDATA[ip6tables]]></category>
		<category><![CDATA[IPv6]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=754</guid>
		<description><![CDATA[При заказе на Hetzner блока IPv6, Вы получите письмо примерно следующего содержания: IPs: 2a01:4f8:110:4121:: /64 Gateway: 2a01:4f8:110:4116::1 /59 Теперь необходимо всё это дело прописать у себя. У меня на одной из машин крутится несколько виртуальных, соответственно адреса выдадим и им. Все машины на CentOS. Для начала пропишем на основной машине (добавляем записи, если их нет): [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-591" title="tux-2" src="http://wiki.dodex.org/wp-content/uploads/2009/08/tux-2.png" alt="" width="100" height="111" /><br />
При заказе на Hetzner блока IPv6, Вы получите письмо примерно следующего содержания:<br />
<strong>IPs: 2a01:4f8:110:4121:: /64<br />
Gateway: 2a01:4f8:110:4116::1 /59</strong><br />
Теперь необходимо всё это дело прописать у себя. У меня на одной из машин крутится несколько виртуальных, соответственно адреса выдадим и им. Все машины на CentOS.<br />
<span id="more-754"></span></p>
<p>Для начала пропишем на основной машине (добавляем записи, если их нет):</p>
<blockquote><p><span style="color: #339966;">/etc/sysconfig/network</span><br />
NETWORKING_IPV6=yes</p>
<p><span style="color: #339966;">/etc/sysconfig/network-scripts/ifcfg-eth0</span><br />
IPV6INIT=yes<br />
IPV6ADDR=2a01:4f8:110:4121::1</p>
<p><span style="color: #339966;">/etc/sysconfig/network-scripts/route6-eth0</span><br />
2a01:4f8:110:4116::1 dev eth0<br />
::/0 via 2a01:4f8:110:4116::1</p></blockquote>
<p>и выполняем<br />
<span style="color: #339966;"># /etc/init.d/network restart</span><br />
Проверяем:<br />
<span style="color: #339966;"># ping6 ipv6.google.com</span><br />
С основной машиной почти закончили, осталось включить forwarding, чтобы виртуальные машины могли использовать IPv6 адреса. В данном случае, адрес Вашей основной машины &#8211; <strong>[2a01:4f8:110:4121::1]</strong>.</p>
<blockquote><p><span style="color: #339966;">/etc/sysctl.conf</span><br />
net.ipv6.conf.all.forwarding=1</p></blockquote>
<p>выполняем:<br />
<span style="color: #339966;"># sysctl -p</span><br />
Теперь к настройке виртуальных машин, там все просто, достаточно дать адрес и шлюз.</p>
<blockquote><p><span style="color: #339966;">/etc/sysconfig/network</span><br />
NETWORKING_IPV6=yes</p>
<p><span style="color: #339966;">/etc/sysconfig/network-scripts/ifcfg-eth0</span><br />
IPV6INIT=yes<br />
IPV6ADDR=2a01:4f8:110:4121::2<br />
IPV6_DEFAULTGW=2a01:4f8:110:4121::1</p></blockquote>
<p>выполняем:<br />
<span style="color: #339966;"># /etc/init.d/network restart</span><br />
Машина получила адрес <strong>[2a01:4f8:110:4121::2]</strong>. Для других виртуальных машин проделайте тоже самое, меняя адрес.</p>
<p>Ну и приведу пример простейшей настройки ip6tables &#8211; файлвол для IPv6.<br />
создайте файл примерно следующего содержания, каждому своё, кто-то что-то добавит или уберет:</p>
<blockquote><p><span style="color: #339966;">/etc/sysconfig/ip6tables</span><br />
#<br />
*filter<br />
:INPUT ACCEPT [0:0]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [0:0]<br />
# Разрешаем все подключения из своей подсети<br />
-A INPUT -s 2a01:4f8:110:4121::/64 -d ::/0 -j ACCEPT<br />
-A INPUT -s ::/0 -d ::/0 -i lo -j ACCEPT<br />
# Разрешаем соединения для уже установленных соединений<br />
-A INPUT -s ::/0 -d ::/0 -m state &#8211;state RELATED,ESTABLISHED -j ACCEPT<br />
# Разрешаем icmp<br />
-A INPUT -s ::/0 -d ::/0 -p ipv6-icmp -j ACCEPT<br />
# Разрешаем необходимые нам порты<br />
-A INPUT -s ::/0 -d ::/0 -p tcp -m tcp &#8211;dport 22 -j ACCEPT<br />
-A INPUT -s ::/0 -d ::/0 -p tcp -m tcp &#8211;dport 80 -j ACCEPT<br />
-A INPUT -s ::/0 -d ::/0 -p tcp -m tcp &#8211;dport 53 -j ACCEPT<br />
-A INPUT -s ::/0 -d ::/0 -p udp -m udp &#8211;dport 53 -j ACCEPT<br />
-A INPUT -s ::/0 -d ::/0 -p tcp -m tcp &#8211;dport 443 -j ACCEPT<br />
-A INPUT -s ::/0 -d ::/0 -p tcp -m tcp &#8211;dport 25 -j ACCEPT<br />
-A INPUT -s ::/0 -d ::/0 -p tcp -m tcp &#8211;dport 110 -j ACCEPT<br />
# Все остальное отклоняем<br />
-A INPUT -s ::/0 -d ::/0 -j REJECT &#8211;reject-with icmp6-adm-prohibited<br />
COMMIT<br />
#
</p></blockquote>
<p>Перезапускаем файрвол:<br />
<span style="color: #339966;"># /etc/init.d/ip6tables restart</span></p>
<p>Вот и все готово. Теперь Ваши машины имеют IPv6 адреса и защищены файрволом.</p>
<p>Удачи в настройках.<br />
<a href="http://twitter.com/shadow_alone">© shadow_alone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2011/01/03/hetzner-and-ipv6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Синхронизация DNS-зон c сервера с Plesk-панелью</title>
		<link>http://wiki.dodex.org/2010/12/17/dns-plesk/</link>
		<comments>http://wiki.dodex.org/2010/12/17/dns-plesk/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 15:01:06 +0000</pubDate>
		<dc:creator>shad</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[plesk]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=723</guid>
		<description><![CDATA[Задача может возникнуть когда на сервере с Plesk-панелью имеется всего один IP-адрес. В данном случае, что-бы не заводить slave-зоны на другом сервере каждый раз вручную, можно в крон поставить скрипт, который и будет производить синхронизацию зон. Причем, не только добавлять новые зоны, но и удалять старые, а также не только основные домены,но и алиасы к [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-468" title="tux" src="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png" alt="" width="100" height="117" /> Задача может возникнуть когда на сервере с Plesk-панелью имеется всего один IP-адрес. В данном случае, что-бы не заводить slave-зоны на другом сервере каждый раз вручную, можно в крон поставить скрипт, который и будет производить синхронизацию зон. Причем, не только добавлять новые зоны, но и удалять старые, а также не только основные домены,но и алиасы к ним.</p>
<p>Для начала нам понадобиться создать юзера в mysql на сервере с Plesk-панелью, и дать ему права на чтение из нужных таблиц.<br />
<span id="more-723"></span></p>
<blockquote><p><code>grant select on psa.domains to dsnuser@'%' identified by 'You_paSSword';<br />
grant select on psa.domainaliases to dsnuser@'%' identified by 'You_paSSword';</code></p></blockquote>
<p>Можете вместо % использовать конкретный хост, так безопаснее, и так же не забудьте открыть для этого хоста mysql-порт(3306) на файрволе.<br />
Все остальные действия проводятся уже на сервере где должны быть slave-зоны.<br />
Далее создадим следующий скрипт, назовем его dnssync:<br />
<code> </code></p>
<blockquote><p><code><br />
#!/bin/bash</code></p>
<p><code>if [ -f /tmp/plesk-domains.txt ];then<br />
/bin/mv -f /tmp/plesk-domains.txt /tmp/plesk-domains.txt.old<br />
fi</p>
<p>/usr/bin/mysql -h plesk.server.name -u dssuser --password="You_paSSword"  -Bse "SELECT name from domains where status=0 UNION SELECT name from domainaliases where status=0 " psa &gt;/tmp/plesk-domains.txt<br />
OUT1=$?</p>
<p>if [ $OUT1 -eq 0 ];then</p>
<p>/usr/bin/diff -q /tmp/plesk-domains.txt /tmp/plesk-domains.txt.old &gt; /dev/null<br />
OUT2=$?<br />
if [ $OUT2 -ne 0 ];then<br />
echo "" &gt;/var/named/chroot/etc/plesk-zones.conf<br />
while read line<br />
do<br />
domain=$line<br />
echo "zone \"$domain\" { type slave; masters {ip_of_plesk_server;}; file \"/var/named/slaves/$domain.hosts\"; };" &gt;&gt;/var/named/chroot/etc/plesk-zones.conf<br />
done &lt; "/tmp/plesk-domains.txt"</p>
<p>echo "" &gt;&gt;/var/named/chroot/etc/plesk-zones.conf<br />
/etc/init.d/named restart &gt; /dev/null</p>
<p>fi<br />
else<br />
if [ -f /tmp/plesk-domains.txt.old ];then<br />
/bin/mv -f /tmp/plesk-domains.txt.old /tmp/plesk-domains.txt<br />
fi<br />
fi</p>
<p></code></p></blockquote>
<p><code> </code><br />
Обратите внимание на пути, в данном примере bind запущен в chroot окружении, на CentOS 5.5. У Вас пути могут отличатся, и Вам необходимо исправить их на свои. Также замените ip_of_plesk_server и plesk.server.name на IP сервера с Plesk-панелью.</p>
<p>Осталось добавить в named.conf</p>
<blockquote><p><code>include "/etc/plesk-zones.conf"; </code></p></blockquote>
<p>дать права на выполнение файлу dnssync,и поставить задание в cron, например, делать проверку каждый час:</p>
<blockquote><p><code>0 * * * * /path_to_script/dnssync </code></p></blockquote>
<p>запускаем один раз /path_to_script/dnssync<br />
рестартуем bind<br />
И все работает на ура.<br />
Больше лишних телодвижений не потребуется.<br />
Я всегда задумываюсь: все-таки именно лень заставляет нас что-то сделать, чтоб потом ничего не делать.</p>
<p>Удачи в настройках.<br />
<a href="http://twitter.com/shadow_alone">© shadow_alone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2010/12/17/dns-plesk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nginx с php на CentOS</title>
		<link>http://wiki.dodex.org/2010/04/26/nginx-php-centos/</link>
		<comments>http://wiki.dodex.org/2010/04/26/nginx-php-centos/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 14:54:46 +0000</pubDate>
		<dc:creator>shad</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Операционные системы]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=690</guid>
		<description><![CDATA[Установим и настроем Nginx с PHP на примере CentOS 5.4. Все делается довольно быстро и просто. Первым делом ставим репозитарий epel: # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/$(uname -m)/epel-release-5-3.noarch.rpm Устанавливаем nginx: # yum install nginx Ставим PHP и необходимые модули: # yum install php-pear-Net-Socket php-pear php-common php-gd php-devel php php-mbstring php-pear-Mail php-cli php-imap php-snmp php-pdo php-xml php-pear-Auth-SASL php-ldap [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png"><img class="size-full wp-image-468 alignright" title="tux" src="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png" alt="" width="70" height="82" /></a> Установим и настроем Nginx с PHP на примере CentOS 5.4. Все делается довольно быстро и просто.</p>
<p>Первым делом ставим репозитарий epel:</p>
<blockquote><p># rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/$(uname -m)/epel-release-5-3.noarch.rpm</p></blockquote>
<p>Устанавливаем nginx:</p>
<blockquote><p># yum install nginx</p></blockquote>
<p><span id="more-690"></span></p>
<p>Ставим PHP и необходимые модули:</p>
<blockquote><p># yum install php-pear-Net-Socket php-pear php-common php-gd php-devel php php-mbstring php-pear-Mail php-cli php-imap php-snmp php-pdo php-xml php-pear-Auth-SASL php-ldap php-pear-Net-SMTP php-mysql</p></blockquote>
<p>Ставим spawn-fcgi:</p>
<blockquote><p># yum install spawn-fcgi</p></blockquote>
<p>Скачиваем и настраиваем скрипт для init.d:</p>
<blockquote><p># wget http://andrey.org/nginx-daemon.sh.gz</p>
<p># gunzip nginx-daemon.sh.gz</p>
<p># mv nginx-daemon.sh /etc/init.d/php_cgi</p>
<p># chmod +x /etc/init.d/php_cgi</p></blockquote>
<p>Запускаем php app :</p>
<blockquote><p># /etc/init.d/php_cgi start</p></blockquote>
<p>Проверяем:</p>
<blockquote><p># netstat -tulpn | grep :9000</p></blockquote>
<p>Получаем:</p>
<p><code>tcp     0      0 127.0.0.1:9000       0.0.0.0:*      LISTEN    15196/php-cgi</code></p>
<p>Вносим изменения в <em>/etc/nginx/nginx.conf </em>:</p>
<blockquote><p>location ~ \.php$ {</p>
<p>root           html;</p>
<p>fastcgi_pass   127.0.0.1:9000;</p>
<p>fastcgi_index  index.php;</p>
<p>fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;</p>
<p>include        fastcgi_params;</p>
<p>}</p></blockquote>
<p>Рестартуем Nginx:</p>
<blockquote><p># service nginx restart</p></blockquote>
<p>Создаем тестовый файл для проверки работы php &#8211; <em>/usr/share/nginx/html/info.php</em>:</p>
<blockquote><p>&lt;?php</p>
<p>phpinfo();</p>
<p>?&gt;</p></blockquote>
<p>Проверяем в браузере. Все должно работать.</p>
<p>Удачи в настройках.</p>
<p>© shadow_alone</p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2010/04/26/nginx-php-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Некоторые тонкости по настройке сервера под себя</title>
		<link>http://wiki.dodex.org/2010/03/09/zaduj/</link>
		<comments>http://wiki.dodex.org/2010/03/09/zaduj/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 02:00:57 +0000</pubDate>
		<dc:creator>shad</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[logwatch]]></category>
		<category><![CDATA[ssh-copy-id]]></category>
		<category><![CDATA[ssh-keygen]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=664</guid>
		<description><![CDATA[Статья про то, как упростить жизнь админа. Ни в коем случай не претендует на учебное пособие, а основана на личном опыте, как и написано в топике &#8220;под себя&#8221;. Мы получили новый сервер, не важно, арендовали, взяли на колокейшн или ставим у себя в офисе. Я не буду вдаваться в подробности установки OS, выбора RAID и [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste"><a href="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png"><img class="alignleft size-full wp-image-468" title="tux" src="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png" alt="" width="100" height="117" /></a>Статья про то, как упростить жизнь админа. Ни в коем случай не претендует на учебное пособие, а основана на личном опыте, как и написано в топике &#8220;под себя&#8221;.</div>
<div id="_mcePaste">Мы получили новый сервер, не важно, арендовали, взяли на колокейшн или ставим у себя в офисе.</div>
<div id="_mcePaste">Я не буду вдаваться в подробности установки OS, выбора RAID и прочего, каждому свое. Так же я не буду здесь описывать как установить LAMP или тому подобное.</div>
<div id="_mcePaste">В данном примере будет рассмотрена изначальная настройка CentOS, на сегодняшний день актуальная версия 5.4. Писать буду от первого лица.</div>
<div><span id="more-664"></span></div>
<div id="_mcePaste">И так, есть сервер, есть %admin%, приступим:</div>
<div id="_mcePaste">Первым долгом, упрощаю себе работу с консолью, я предпочитаю bash, хотя и знаю о всех прелестях zsh.</div>
<blockquote>
<div id="_mcePaste"># vim ~/.inputrc</div>
</blockquote>
<div id="_mcePaste">и добавляем туда пару строчек</div>
<blockquote>
<div id="_mcePaste">&#8220;\e[A&#8221;:history-search-backward</div>
<div id="_mcePaste">&#8220;\e[B&#8221;:history-search-forward</div>
</blockquote>
<div id="_mcePaste">сохраняем файл и закрываем</div>
<div id="_mcePaste">Эти настройки существенно упростят работу с консолью, при наборе начала комманды и нажитии стрелок (вверх-вниз), будут проявляться уже набранные команды начинающиеся с набранного начала (каломбур какой-то получился).</div>
<div id="_mcePaste">далее ставим очень нужный репозиторий отсюда - <a title="RPMforge" href="https://rpmrepo.org/RPMforge/Using" target="_blank">RPMforge</a> и обновляем систему:</div>
<blockquote>
<div id="_mcePaste"># yum update</div>
</blockquote>
<div id="_mcePaste">Следующим этапом меняем порт на ssh-сервер, для этого, редактирум файл <em>/etc/ssh/sshd_config</em> :</div>
<blockquote>
<div id="_mcePaste">#меняем на понравившийся Вам порт. например 3522</div>
<div id="_mcePaste">Port 3522</div>
<div id="_mcePaste">#отключаем возможность захода по ssh из под root</div>
<div id="_mcePaste">PermitRootLogin no</div>
<div id="_mcePaste">#Разрешаем вход по ssh только user (если нужно несколько пользователей пускать по ssh, то лучше для этого создать отдельную группу, добавить этих пользователей в нее и сделать AllowGroups)</div>
<div id="_mcePaste">AllowUsers user</div>
<div id="_mcePaste">#Проверяем что не разрешен вход с пустым паролем (по умолчанию отключено)</div>
<div id="_mcePaste">PermitEmptyPasswords no</div>
</blockquote>
<div id="_mcePaste">сохраняем и закрываем</div>
<div id="_mcePaste">перезагружаем ssh-сервер</div>
<blockquote>
<div id="_mcePaste"># /etc/init.d/sshd restart</div>
</blockquote>
<div id="_mcePaste">выходим из системы и заходим заного по новому порту. Здесь надо быть внимательным, чтоб не остаться без доступа к серваку, вдруг файрволом закрыт этот порт. Проверяйте заранее.</div>
<div id="_mcePaste">проверяем что у нас в правилах firewall</div>
<blockquote>
<div id="_mcePaste"># iptables -L -n -v &#8211;line-numbers (так нагляднее)</div>
</blockquote>
<div id="_mcePaste">обычно изначально правила пусты, сейчас будем их добавлять:</div>
<blockquote>
<div id="_mcePaste">iptables -A INPUT -s ваш_IP -j ACCEPT # разрешаем полный доступ себе, если конечно ip постоянный</div>
<div id="_mcePaste">iptables -A INPUT -m state &#8211;state ESTABLISHED -j ACCEPT # разрешаем уже имеющиеся соединения</div>
<div id="_mcePaste">iptables -A INPUT -m state &#8211;state RELATED -j ACCEPT</div>
<div id="_mcePaste">iptables -A -i lo -j ACCEPT # разрешаем соединения с локально интерфейса</div>
<div id="_mcePaste"># далее небольшая махинация с входом по ssh, защищает от попытки перебора паролей</div>
<div id="_mcePaste"># разрешаем попытки входа по ssh не более 3-х, если привысило, IP заблокируется на 60 сек, заодно логируем и метим,удобно видеть в логах</div>
<div id="_mcePaste">iptables -A INPUT -p tcp &#8211;dport 3522 -m recent &#8211;set &#8211;name SEC &#8211;syn -m state &#8211;state NEW -j ACCEPT</div>
<div id="_mcePaste">iptables -A INPUT -p tcp &#8211;dport 3522 -m recent &#8211;update &#8211;seconds 60 &#8211;hitcount 3 &#8211;rttl &#8211;name SEC -j LOG &#8211;log-prefix &#8220;BRUTE FORCE &#8220;</div>
<div id="_mcePaste">iptables -A INPUT -p tcp &#8211;dport 3522 -m recent &#8211;update &#8211;seconds 60 &#8211;hitcount 3 &#8211;rttl &#8211;name SEC -j DROP</div>
<div id="_mcePaste"># далее, надо открыть порты которые будут у нас доступны из-вне</div>
<div id="_mcePaste">iptables -A INPUT -p tcp -m tcp &#8211;dport 80 -j ACCEPT # http-сервер</div>
<div id="_mcePaste">iptables -A INPUT -p tcp -m tcp &#8211;dport 110 -j ACCEPT # pop3-сервер</div>
<div id="_mcePaste">iptables -A INPUT -p tcp -m tcp &#8211;dport 25 -j ACCEPT # smtp-сервер</div>
<div id="_mcePaste"># короче открываем кому что надо.</div>
<div id="_mcePaste"># ну и в конце, поставим на цепочки DROP по умолчинию</div>
<div id="_mcePaste">iptables -P INPUT DROP</div>
<div id="_mcePaste">iptables -P FORWARD DROP</div>
<div id="_mcePaste"># цепочку OUTPUT я оставляю в ACCEPT</div>
</blockquote>
<div id="_mcePaste">теперь все это сохраним:</div>
<blockquote>
<div id="_mcePaste"># iptables-save &gt;/etc/sysconfig/iptables</div>
</blockquote>
<div id="_mcePaste">В будущем мы можем отредактировать файл /etc/sysconfig/iptables, добавив что понадобиться, и перезагрузить файрвол:</div>
<blockquote>
<div id="_mcePaste"># /etc/init.d/iptables restart</div>
</blockquote>
<div id="_mcePaste">Надеюсь не надо объяснять что пароли нужно делать как можно более сложными, лично я их не использую вообще, вход по ключам. Для этого на домашней машине:</div>
<blockquote>
<div id="_mcePaste"># ssh-keygen</div>
<div id="_mcePaste"># ssh-copy-id &#8220;-p 3522 ip_вашего сервера&#8221;</div>
</blockquote>
<div id="_mcePaste">наберете пароль, и key окажеться на сервере в разрешенных, после этого не придеться каждый раз набирать пароль.</div>
<div id="_mcePaste">Ну, вроде с безопастностью всё.</div>
<div id="_mcePaste">При наличии кучи серверов, а у меня их около полусотни в целом, просто не имеется физической возможности отслеживать все, и даж заходить на каждый хотя бы раз в день. А следить за всем как-то ведь надо. Для этого прикручиваем logwatch, который будет слать на мыло отчеты за сутки. В итоге мы получим около 50-и писем в день, но просмотреть их одним глазком легче чем заходить на сам сервер. Я приблизительно знаю размеры приходящих логов с каждого сервера, и потому при увеличении или уменьшени размера, просматриваю данный лог более тщательно и при необходимости уже захожу на сервер, чтоб исправить что-то, если это необходимо. Итак</div>
<blockquote>
<div id="_mcePaste"># yum install logwatch</div>
<div id="_mcePaste"># cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/</div>
</blockquote>
<div id="_mcePaste">правим файл под себя</div>
<blockquote>
<div id="_mcePaste"># vim /etc/logwatch/conf/logwatch.conf</div>
<div id="_mcePaste">MailTo = ваш_email</div>
<div id="_mcePaste">MailFrom = Logwatch_server_name #(чтоб нагляднее было по приходу писем)</div>
<div id="_mcePaste">Detail = High #(чтоб подробнее было)</div>
</blockquote>
<div id="_mcePaste">сохраняем и закрываем файл.</div>
<div id="_mcePaste">проверить работу logwatch можно так:</div>
<blockquote>
<div id="_mcePaste">/etc/cron.daily/0logwatch</div>
</blockquote>
<div id="_mcePaste">отчет сформируется и придет Вам на почту</div>
<div id="_mcePaste">С логами вроде тож разобрались</div>
<div id="_mcePaste">Если на сервере есть FTP, то необходимо открыть возможность работы с ним в файрволе, но тут есть некоторая тонкость, если FTP в пассивном режиме, используються высшие порты, поэтому лучше в демоне ftp указать эти порты конкретно, количество портов расчитывается согласно использованию демона, в данном случае выделяется 236 портов:</div>
<div id="_mcePaste">для proftpd, в секции &lt;Global&gt;:</div>
<blockquote>
<div id="_mcePaste">PassivePorts  60000 60235</div>
</blockquote>
<div id="_mcePaste">для vsftpd:</div>
<blockquote>
<div id="_mcePaste">pasv_min_port=60000</div>
<div id="_mcePaste">pasv_max_port=60235</div>
</blockquote>
<div id="_mcePaste">далее, открываем всё это дело на файрволе:</div>
<blockquote>
<div id="_mcePaste">iptables -A INPUT -p tcp -m tcp &#8211;dport 21 -j ACCEPT # ftp-сервер</div>
<div id="_mcePaste">iptables -A INPUT -p tcp -m tcp &#8211;dport 20 -j ACCEPT # ftp-data для активного режима</div>
<div id="_mcePaste">iptables -A INPUT -p tcp -m tcp &#8211;dport 60000:60235 -j ACCEPT</div>
</blockquote>
<div id="_mcePaste">не забываем сохранить:</div>
<blockquote>
<div id="_mcePaste"># iptables-save &gt;/etc/sysconfig/iptables</div>
</blockquote>
<p><span style="font-family: arial, sans; line-height: 25px; color: #222222;"> </span></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: arial, sans; font-size: 14px; padding: 0px;">Вот и все. Далее уже можно ставить необходимое программное обеспечение. Удачи в настройках.</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: arial, sans; font-size: 14px; padding: 0px;">© shadow_alone</p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2010/03/09/zaduj/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CDP на Linux</title>
		<link>http://wiki.dodex.org/2010/03/08/cdp-%d0%bd%d0%b0-linux/</link>
		<comments>http://wiki.dodex.org/2010/03/08/cdp-%d0%bd%d0%b0-linux/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:31:25 +0000</pubDate>
		<dc:creator>shad</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cdp]]></category>
		<category><![CDATA[cdpr]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[lldp]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=650</guid>
		<description><![CDATA[Всем известно про замечательный протокол CDP (Cisco Discovery Protocol) для Cisco. Оказывается что и для Linux тоже есть возможность использовать его прелести. Есть проект LLDP, который нам в этом и поможет. Для тех, кто в танке: на cisco можно посмотреть соседей с включенным CDP коммандой sh cdp nei. Комманда выведет оборудование которое подключено, на каком [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png"><img class="alignleft size-full wp-image-468" title="tux" src="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png" alt="" width="100" height="117" /></a>Всем известно про замечательный протокол CDP (Cisco Discovery Protocol) для Cisco. Оказывается что и для Linux тоже есть возможность использовать его прелести. Есть проект <a title="LLDP" href="https://trac.luffy.cx/lldpd/" target="_blank">LLDP</a>, который нам в этом и поможет.</p>
<p>Для тех, кто в танке: на cisco можно посмотреть соседей с включенным CDP коммандой<em> sh cdp nei</em>. Комманда выведет оборудование которое подключено, на каком порту и т.д., более подробно <em>sh cdp ent Device_ID</em>, уже по конкретному девайсу.</p>
<p>Так вот, мы сейчас попробуем включить это и в Linux, в данном, конкретном случае, настраивать будем на CentOS 5.4, на Debian-подобных дистрах почти тож самое, за исключением процесса сборки и расположения файлов.</p>
<p><span id="more-650"></span></p>
<div id="_mcePaste">Для начала скачаем <a title="src.rpm" href="http://www.luffy.cx/lldpd/lldpd-0.4.0-1.fc10.src.rpm" target="_blank">src.rpm</a>, установим его:</div>
<blockquote>
<div id="_mcePaste"># rpm -Uhv lldpd-0.4.0-1.fc10.src.rpm</div>
</blockquote>
<div id="_mcePaste">появится файл спецификаций /usr/src/redhat/SPECS/lldpd.spec, кому нужно, может его править по своему усмотрению, если надо.</div>
<div id="_mcePaste">Далее нам собственно надо собрать сам пакет:</div>
<blockquote>
<div id="_mcePaste"># rpmbuild -bb /usr/src/redhat/SPECS/lldpd.spec</div>
</blockquote>
<div id="_mcePaste">устанавливаем вновь собранный пакет:</div>
<blockquote>
<div id="_mcePaste"># rpm -Uhv /usr/src/redhat/RPMS/i386/lldpd-0.4.0-1.i386.rpm</div>
</blockquote>
<p>настраиваем опции запуска демона, открываем файл:</p>
<blockquote><p># vim /etc/sysconfig/lldpd</p></blockquote>
<p>и правим</p>
<blockquote><p>OPTIONS=&#8221;-v -c&#8221;</p></blockquote>
<p><strong>-v</strong> &#8211; включаем поддержку vlan если они у Вас есть на машине с Linux</p>
<p><strong>-c</strong> &#8211; включаем протокол CDP</p>
<p>более подробную информацию можно посмотреть по man lldpd</p>
<p>запускаем демон:</p>
<blockquote><p># /etc/init.d/lldpd start</p></blockquote>
<p>после запуска, в файле /var/log/messages мы увидим приблизительно такие строки:</p>
<blockquote><p>lldpd[30206]: lldpd_decode: switching to CDPv2 on port eth1<br />
lldpd[30206]: lldpd_decode: switching to CDPv2 on port eth0</p></blockquote>
<p>всё в порядке, демон стартанул.</p>
<p>Чтоб все работало, на оборудовании с другой стороны, на порту, должен быть включен CDP, то есть не должно стоять no cdp enable на интерфейсе.</p>
<p>Собственно, осталось только проверить как все работает и получить информацию.</p>
<blockquote><p># lldpctl</p></blockquote>
<pre>получаем:
-------------------------------------------------------------------------------
    LLDP neighbors
-------------------------------------------------------------------------------
Interface: eth0
 ChassisID: sw-b-48 (local)
 SysName:   sw-b-48
 SysDescr:
   cisco WS-C2960-48TT-L running on
   Cisco IOS Software, C2960 Software (C2960-LANBASE-M)
   Copyright (c) 1986-2007 by Cisco Systems, Inc.
   Compiled Thu 19-Jul-07 20:06 by nachen
 MgmtIP:    172.16.25.48
 Caps:      Bridge(E)
 PortID:    FastEthernet0/4 (ifName)
 PortDescr: FastEthernet0/4
-------------------------------------------------------------------------------</pre>
<p>видим , что на другой стороне у нас свитч C2960, версию IOS, порт свитча, к которуму подключена машина с Linux.</p>
<p>Для остроты ощущений, посмотрим вывод на cisco, у нас там появилось:</p>
<blockquote><p>my.linux.machine<br />
Fas 0/4           92             R       Linux     eth0</p></blockquote>
<p>то есть, опять таки , видим, что у нас на порту fa0/4 подключена машина с Linux, сетевое имя машины, и её сетевушка eth0.</p>
<p><em>Добавлю</em>: можно собрать пакет из сорсов tar.gz и самому, но в моем случае это не true-way, все должно быть упорядочено. В Debian-подобных дистрах, файл настройки демона расположен в /etc/default/</p>
<p>стоит отметить еще утилиту cdpr, но с её помощью можно только получать информацию по CDP, а не обмениваться ей, для RH-дистров она есть в репозитарии rpmforge.</p>
<p>Вот и все. Удачи в настройках.</p>
<p>© shadow_alone<br />
это мой крос-пост с <a title="qwerty.az" href="http://qwerty.az/blog/linux/863.html" target="_blank">qwerty</a> и <a href="http://shadowalone.habrahabr.ru/blog/86773/">habr.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2010/03/08/cdp-%d0%bd%d0%b0-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XEN в CentOS</title>
		<link>http://wiki.dodex.org/2009/10/18/xen-%d0%b2-centos/</link>
		<comments>http://wiki.dodex.org/2009/10/18/xen-%d0%b2-centos/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 11:56:17 +0000</pubDate>
		<dc:creator>shad</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Операционные системы]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[qemu]]></category>
		<category><![CDATA[XEN]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=603</guid>
		<description><![CDATA[В общих чертах про установку XEN и вирутальных машин под CentOS. Начнем с того, поддерживает ли процессор виртуализацию: если у Вас Интел (VT-x), то # grep -i vmx /proc/cpuinfo если АМД (SVM), то # grep -i svm /proc/cpuinfo ну и наконец, на предмет HVM, уже после того как загрузились с ядром XEN # grep -i [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-592" title="tux-3" src="http://wiki.dodex.org/wp-content/uploads/2009/08/tux-3.png" alt="tux-3" width="100" height="111" />В общих чертах про установку XEN и вирутальных машин под CentOS.<br />
Начнем с того, поддерживает ли процессор виртуализацию:<br />
если у Вас Интел (VT-x), то<br />
# <em>grep -i vmx /proc/cpuinfo</em><br />
если АМД (SVM), то<br />
# <em>grep -i svm /proc/cpuinfo</em></p>
<p><em></em><span id="more-603"></span><br />
ну и наконец, на предмет HVM, уже после того как загрузились с ядром XEN<br />
# <em>grep -i hvm /sys/hypervisor/properties/capabilities</em></p>
<p><span style="background-color: #ffffff;">Если поддержка есть, то можно использовать полноценную виртуализацию, если нет, не отчаивайтесь, можно использовать паравиртуализацию.</span></p>
<p>И так, приступим.</p>
<p>Устанавливаем XEN-новское ядро и сам XEN<br />
# <em>yum install kernel-xen xen</em></p>
<p>правим /boot/grub/menu.lst на предмет того, чтоб грузилось именно XEN-новское ядро (можно и руками конечно выбрать при загрузке).</p>
<p>ставим всю группу виртуализации (необязательно)<br />
# <em>yum groupinstall &#8220;Virtualization&#8221;</em></p>
<p>ставим QEMU<br />
# <em>yum install qemu</em></p>
<p>перезагружаемся с новым ядром. при выводе uname -r, должны получить примерно такое 2.6.18-164.el5xen.</p>
<blockquote>
<pre>теперь посмотрим <em>xm list</em> , получим следующее:
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1398     2 r-----   1048.5</pre>
</blockquote>
<p>Создадим папку для имеджей виртуальных машин<br />
#<em> mkdir /vm</em><br />
Можно использовать не файлы имиджей , а LVM тома.</p>
<p>Теперь можно переходить к установке виртуальной машины. Сначала будем устанавливать машину с CentOS в режиме паравиртуализации. Установка будет по сети.</p>
<p># <em>virt-install</em><br />
и отвечаем на вопросы, примерно так</p>
<p>Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. &lt;&#8211; <span style="color: #0000ff;">no</span> (отказываемся от полной виртуализации)</p>
<p>What is the name of your virtual machine? &lt;&#8211; <span style="color: #0000ff;">v1</span> (имя виртуальной машины) How much RAM should be allocated (in megabytes)? &lt;&#8211; <span style="color: #0000ff;">384</span> (количество памяти)</p>
<p>What would you like to use as the disk (file path)? &lt;&#8211; <span style="color: #0000ff;">/vm/v1.img</span> (файл имиджа на диске или LVM-том)</p>
<p>How large would you like the disk (/vm/v1.img) to be (in gigabytes)? &lt;&#8211; <span style="color: #0000ff;">10</span> (размер диска в Гб)</p>
<p>Would you like to enable graphics support? (yes or no) &lt;&#8211; no (поддержка графического режима) What is the virtual CD image, CD device or install location? &lt;&#8211; <span style="color: #0000ff;">http://mirror.centos.org/centos/5.3/os/i386</span> (откуда собственно будем ставить)</p>
<p>Если нет у вас хороший, то ждать придеться не очень долго, в противном случае запаситесь терпением, заминка на stage2 (чуть больше 100 Мб)</p>
<p>Далее вы попадете в консоль устанавливаемой машины, где начнется установка в текстовом режиме, в псевдографике. Само-собой ставим только минимальный набор, все равно потом обновляться из сети.</p>
<p>Выйти из консоли данной машины можно по <em>Ctrl-]</em>, а попасть обратно</p>
<p># <em>xm console v1</em></p>
<p>Следует заметить, что при такой установке, сетевая карта в создаваемой машине садиться бриджем на ваш первый интерфейс, можно поменять настройки в файле /etc/xen/xend-config.sxp<br />
например , мне нужно было, что б виртуальные машины были бриджом не с eth0, а с eth1, правим параметр<br />
<em> (network-script &#8216;network-bridge netdev=eth1&#8242;) </em></p>
<p>Вообще в этом файле много интересных настроек, так что, внимательно читаем примеры.</p>
<p>После того как машина установилась, перезагружаемся (имею ввиду виртуальную машину), и если вы при установке правильно настроили сеть, можем зайти на нее уже по ssh. В противном случае, заходим в консоль<br />
# <em>xm console v1</em><br />
заходим рутом, настраиваем сеть.</p>
<blockquote>
<pre>#<em> xm list</em>
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1398     2 r-----   1052.3
v1                                        42      384     2 r-----      2.3</pre>
</blockquote>
<p>Наша машина запущена и работает. Советую посмотреть вывод команды <em>xm -h</em>, тогда вы будете знать как запустить и остановить виртуальную машину :)</p>
<p>В принципе, ничего сложного, все должно получиться без проблем.<br />
Мы установили гостевую машину в режиме паравиртуализации. Теперь приступим к установке машины в режиме полной виртуализации, а это значит, что можно установить даже винду :), но это только в том случае, если ваш процессор поддерживает это (см. начало статьи).</p>
<p>Подготовим iso-образ инсталяционного диска w2k3, положим его в /root/w2k3.iso<br />
Нам понадобиться так же vncviewer (у каждого на свой вкус и цвет). Я настраивал все это на удаленной машине, а на локальной для подключение во vnc использовал Vinagre.<br />
Правим файл /etc/xen/xend-config.sxp на предмет:<br />
(vnc-listen &#8217;0.0.0.0&#8242;) &#8211; чтоб слушало на всех интерфейсах, по дефолту 127.0.0.1<br />
(vncpasswd &#8216;pipec_parol&#8217;) &#8211; пароль<br />
запускаем установку:<br />
# <em>virt-install &#8211;noautoconsole &#8211;cdrom /root/w2k3.iso</em><br />
отвечаем на вопросы:</p>
<pre>Would you like a fully virtualized guest (yes or no)? <span style="background-color: #ffffff;">
This will allow you to run unmodified operating systems. &lt;-- <span style="color: #0000ff;">yes</span> </span></pre>
<pre>What is the name of your virtual machine? &lt;-- <span style="color: #0000ff;">w2k</span> (имя виртуальной машины)
How much RAM should be allocated (in megabytes)? &lt;-- <span style="color: #0000ff;">768</span> (количество памяти)
What would you like to use as the disk (file path)? &lt;-- <span style="color: #0000ff;">/vm/w2k.img</span>
How large would you like the disk (/vm/v1.img) to be (in gigabytes)? &lt;-- <span style="color: #0000ff;">10</span>
Would you like to enable graphics support? (yes or no) &lt;-- <span style="color: #0000ff;">yes</span> (графический режим)</pre>
<p>Начнеться установка. Теперь надо подключиться к этому процесу по vnc. порты назначаються на первый свободный начиная с 5900, можно посмотреть, какой порт слушает родительсткая машина по netstat.</p>
<p>Подключаемся, видем процесс установки, отвечаем на вопросы, разбиваем диск и т.д. Начнеться копирование файлов, после которого будет перезагрузка и &#8230;.. не стоит отчаиваться все ни так уже и плохо, во первых просто поменялся порт vnc на +1 (опять таки посмотреть можно по netstat), во вторых винда сказала, что мля нет диска в cdrom и она не может продолжить установку. Не беда. Останавливаем машину<br />
# <em>xm shutdown w2k</em><br />
правим файл /etc/xen/w2k</p>
<blockquote><p><strong> было</strong>: <em>disk = [ "file:/vm/w2k.img,hda,w", ",hdc:cdrom,r" ]</em><br />
<strong> стало</strong>: <em>disk = [ "file:/vm/w2k.img,hda,w", "file:/root/w2k3.iso,hdc:cdrom,r" ]</em></p></blockquote>
<p>и запускам машину опять<br />
# <em>xm create w2k</em><br />
подключаемся по vnc и продолжаем установку.<br />
После удачной установки, настраиваем сеть, ставим на винду радмин или разрешаем терминальный доступ, кому как удобно. Выключаем машину. Возвращаем на место:</p>
<blockquote><p><strong> было</strong>: <em>disk = [ "file:/vm/w2k.img,hda,w", "file:/root/w2k3.iso,hdc:cdrom,r" ]</em> &#8211;  вы теперь занете как подключить к винде iso-образ<br />
<strong> стало</strong>: <em>disk = [ "file:/vm/w2k.img,hda,w", ",hdc:cdrom,r" ]</em></p></blockquote>
<p><em></em>комментируем<br />
# <em>vnc = 1</em><br />
# <em>vncunused = 1</em><br />
нам не понадобиться больше vnc<br />
Запускаем машину<br />
# <em>xm create w2k</em><br />
Подключаемся к ней терминалкой или радмином.<br />
Чтоб виртуальные машины автоматически загружались, при загрузке родительской, создаем символические ссылки:</p>
<blockquote><p>#<em> ln -s /etc/xen/w2k /etc/xen/auto/<br />
<span style="font-style: normal;"># </span>ln -s /etc/xen/v1 /etc/xen/auto/</em></p></blockquote>
<p>Вот и все. Удачи в настройках.<br />
© shadow_alone</p>
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2009/10/18/xen-%d0%b2-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeRadius+MySQL</title>
		<link>http://wiki.dodex.org/2009/07/21/freeradiusmysql/</link>
		<comments>http://wiki.dodex.org/2009/07/21/freeradiusmysql/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 09:29:08 +0000</pubDate>
		<dc:creator>shad</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Операционные системы]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[freeradius]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[radius]]></category>

		<guid isPermaLink="false">http://wiki.dodex.org/?p=549</guid>
		<description><![CDATA[Рассмотрим как настроить радиус-сервер с привязкой к базе данных в MySQL на примере CentOS, FreeRadius и MySQL. Сейчас очень многие девайсы поддерживают работу через радиус, например точки доступа Wi-Fi. Устанавливаем MySQL, если он конечно у Вас уже не стоит #yum install mysql mysql-devel mysql-server #chkconfig &#8211;levels 235 mysqld on #/etc/init.d/mysqld start #netstat -tap &#124; grep [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-468" title="tux" src="http://wiki.dodex.org/wp-content/uploads/2008/12/tux.png" alt="tux" width="100" height="117" />Рассмотрим как настроить радиус-сервер с привязкой к базе данных в MySQL на примере CentOS, FreeRadius и MySQL.</p>
<p>Сейчас очень многие девайсы поддерживают работу через радиус, например точки доступа Wi-Fi.</p>
<p>Устанавливаем MySQL, если он конечно у Вас уже не стоит</p>
<p><strong>#yum install mysql mysql-devel mysql-server</strong></p>
<p><strong>#chkconfig &#8211;levels 235 mysqld on<br />
#/etc/init.d/mysqld start</strong><br />
<span id="more-549"></span></p>
<p><strong>#netstat -tap | grep mysql</strong><br />
получаем:<br />
<em>[root@nx ~]# netstat -tap | grep mysql<br />
tcp        0      0 *:mysql                     *:*                         LISTEN      2793/mysqld </em></p>
<p>установим пароль для пользователя root для MySQL:<br />
<strong>mysqladmin -u root password 123456</strong></p>
<p>Устанавливаем FreeRadius<br />
<strong>yum install freeradius freeradius-mysql</strong></p>
<p>Правим файл /<strong>etc/raddb/users</strong>, добавляем:</p>
<p><em>shad  Auth-Type := Local, User-Password == &#8220;test&#8221;<br />
Service-Type = Framed-User,<br />
Framed-Protocol = PPP,<br />
Framed-IP-Address = 192.168.0.7,<br />
Framed-IP-Netmask = 255.255.255.0,</em></p>
<p>правим <strong>/etc/raddb/clients.conf</strong><br />
раздел client 127.0.0.1 должен выглядеть вот так:</p>
<p><em>client 127.0.0.1 {<br />
secret          = 123<br />
shortname       = localhost<br />
nastype     = other<br />
}</em></p>
<p>проверяем:<br />
<strong>#radiusd -X</strong><br />
на другой консоли<br />
<strong>#radtest shad test localhost 1812 123</strong><br />
получаем:<br />
<em>Sending Access-Request of id 35 to 127.0.0.1 port 1812<br />
User-Name = &#8220;shad&#8221;<br />
User-Password = &#8220;test&#8221;<br />
NAS-IP-Address = 255.255.255.255<br />
NAS-Port = 1812<br />
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=35, length=44<br />
Service-Type = Framed-User<br />
Framed-Protocol = PPP<br />
Framed-IP-Address = 192.168.0.7<br />
Framed-IP-Netmask = 255.255.255.0<br />
</em>Радиус работает и отвечает</p>
<p>перейдем к настройкам MySQL<br />
<strong>#mysql -u root -p<br />
mysql&gt;CREATE DATABASE radius;<br />
mysql&gt;GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY &#8220;123&#8243;;<br />
mysql&gt;\q</strong></p>
<p><strong>#mysql -u root -p radius &lt;/usr/share/doc/freeradius-1.1.3/examples/mysql.sql</strong></p>
<p>проверяем:</p>
<p><strong>mysql -u root -p<br />
mysql&gt;use database radius;<br />
mysql&gt;show tables;<br />
mysql&gt;\q</strong></p>
<p>правим <strong>/etc/raddb/sql.conf</strong>, раскомментируем<br />
<em>readclients = yes</em></p>
<p>правим <strong>/etc/raddb/radiusd.conf</strong><br />
в секциях <em>authorize{},accounting{}, session{}, post-auth{}</em> раскомментируем<br />
<em>sql</em><br />
получиться примерно так:<br />
<em> authorize {<br />
preprocess<br />
chap<br />
mschap<br />
suffix<br />
eap<br />
sql<br />
pap<br />
} </em></p>
<p>Заполним базу в MySQL:<br />
<strong>#mysql -u root -p<br />
mysql&gt; use database radius;<br />
mysql&gt; INSERT INTO radcheck (UserName, Attribute, Value) VALUES (&#8216;testsql&#8217;, &#8216;Password&#8217;, &#8216;test123&#8242;);</strong><br />
проверяем:<br />
<strong>mysql&gt; select * from radcheck where UserName=&#8217;testsql&#8217;;<br />
mysql&gt;\q</strong></p>
<p>правим <strong>/etc/raddb/sql.conf</strong><br />
выставляем правильные значения:<br />
<em> server = &#8220;localhost&#8221;<br />
login = &#8220;radius&#8221;<br />
password = &#8220;123&#8243;<br />
radius_db = &#8220;radius&#8221;</em></p>
<p>в файле <strong>/etc/raddb/users</strong> комментируем строки<br />
<em>#DEFAULT        Auth-Type = System<br />
#       Fall-Through = 1</em></p>
<p>запускаем<strong> radiusd -X</strong><br />
на другой консоли<br />
<strong>#radtest testsql test123 localhost 1812 123</strong></p>
<p>если получили <em>Access-Accept</em>, то всё в порядке, связка FreeRadius+MySQL работает, теперь можете заполнять таблицы DB нужными значениями и использовать в своих устройствах авторизыции через Ваш радиус, для этого IP устройства надо добавить в <strong>/etc/raddb/clients.conf</strong>, примерно так:</p>
<p><em>client 192.168.0.55 {<br />
secret          = MysUp3rseCr3t<br />
shortname       = my_device_name<br />
nastype     = other<br />
}</em></p>
<p>Удачной работы!!!</p>
<h4>© shadow_alone</h4>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://wiki.dodex.org/2009/07/21/freeradiusmysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

