место в рейтинге
  • 1092682
  • 686
  • 86
Нравится блог?
Подписывайтесь!

Установка OpenVPN на CentOS 6.5 x32

В этой короткой записке описан процесс установки и настройки пакета OpenVPN.

Пакет OpenVPN позволяет:

1. Cвязать ваши удаленные локальные сети разных офисов в одну сеть

2. Дает возможность удаленным клиентам (например у себя дома) работать с серверами компании которые находятся в офисе на другом конце города по зашифрованному каналу.

Этот способ соедниения повышает безопасность обмена между сервером и клиентом. Сейчас связь по шифрованному VPN каналу стала классической, если зайти на компьютерный форум и спросить как организовать доступ между сервером и клиентом, то ответ на свой оставленный вопрос будет коротким и ясным ответ:

Поднимай VPN канал....

Помимо связи между клиентом и сервером, можно организовать связь сервер <-> сервер.

Настройка программного VPN сервера не занимает много времени, возьмите любой продукт, такой как Kerio Connect или MS ISA  и посмотрите документацию по настройке VPN связи. Сам раздел описывающий настройку помещается на одну страницу или на две.

Все действия выполняются под учетной записью "root".

 

Краткое содержание записки:

1. Подключение репозитория с пакетом OpenVPN

2. Установка OpenVPN на сервер

3. Подготавливаем каталоги для конфигурационных файлов

4. Создаем серверный ключ

5. Настраиваем сервер OpenVPN

6. Создаем клиентский ключ

7. Запускаем демон OpenVPN на сервере

8. Настройка клиентского подключения на Windows XP

9. Заключение

10. Часто встречающиеся ошибки и их решения при настройке OpenVPN.

 

Исходные данные:

Адрес виртуальной сети:  192.168.100.0 / 255.255.255.0

Адрес локальной сети (офис компании): 10.168.50.0 / 255.255.255.0

 

 

1. Подключение репозитория с пакетом OpenVPN

Добавляем необходимый репозиторий:

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

 

2. Установка OpenVPN на сервер

Устанавливаем Openvpn и ставим его в автозагрузку:

# yum install openvpn easy-rsa -y
# chkconfig openvpn on
 

3. Подготавливаем каталоги для конфигурационных файлов

Затем подготавливаем папки для конфигурационных файлов:

# mkdir /var/log/openvpn

# chmod 770 /var/log/openvpn

# mkdir /etc/openvpn/ccd

# mkdir /etc/openvpn/easy-rsa

# cp -Rf /usr/share/easy-rsa/2.*/* /etc/openvpn/easy-rsa

# cd /etc/openvpn/easy-rsa

# chmod 770 *

# mkdir /etc/openvpn/keys

# touch /etc/openvpn/keys/index.txt

# echo "01" > /etc/openvpn/keys/serial

 

в файле /etc/openvpn/easy-rsa/vars заменяем строку:

# vi /etc/openvpn/easy-rsa/vars

export KEY_DIR=...

на

export KEY_DIR="/etc/openvpn/keys"

4. Создаем серверный ключ

Генерируем серверный сертификат:

# cd /etc/openvpn/easy-rsa

# ln -s openssl-1.0.0.cnf openssl.cnf

# . ./vars

# ./clean-all

# ./build-ca

Generating a 2048 bit RSA private key

...+++

.........................................................+++

writing new private key to 'ca.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [US]:

State or Province Name (full name) [CA]:

Locality Name (eg, city) [SanFrancisco]:

Organization Name (eg, company) [Fort-Funston]:

Organizational Unit Name (eg, section) [MyOrganizationalUnit]:

Common Name (eg, your name or your server's hostname) [Fort-Funston CA]:

Name [EasyRSA]:

Email Address [me@myhost.mydomain]:

# ./build-key-server vpnserver

Generating a 2048 bit RSA private key

......................................................+++

...............+++

writing new private key to 'vpnserver.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [US]:

State or Province Name (full name) [CA]:

Locality Name (eg, city) [SanFrancisco]:

Organization Name (eg, company) [Fort-Funston]:

Organizational Unit Name (eg, section) [MyOrganizationalUnit]:

Common Name (eg, your name or your server's hostname) [vpnserver]:

Name [EasyRSA]:

Email Address [me@myhost.mydomain]:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf

Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

countryName           :PRINTABLE:'US'

stateOrProvinceName   :PRINTABLE:'CA'

localityName          :PRINTABLE:'SanFrancisco'

organizationName      :PRINTABLE:'Fort-Funston'

organizationalUnitName:PRINTABLE:'MyOrganizationalUnit'

commonName            :PRINTABLE:'vpnserver'

name                  :PRINTABLE:'EasyRSA'

emailAddress          :IA5STRING:'me@myhost.mydomain'

Certificate is to be certified until Aug  2 06:56:00 2024 GMT (3650 days)

Sign the certificate? [y/n]:y

 

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

# ./build-dh

В процессе генерации сертификата можно ничего не вводить, хотя лучше конечно ввести свой домен  и другие реквизиты.

Можно все оставить по умолчанию, самое главное не пропустите два предложения по подписыванию сертификатов (ключей), надо ответить ДА:

Certificate is to be certified until Aug  2 06:56:00 2024 GMT (3650 days)

Sign the certificate? [y/n]:y

 

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

 

Обязательно проверьте дату на вашем сервере, чтобы она была актуальной в противной случае  – подключение не пройдет.

Включаем форвардинг:

# vi /etc/sysctl.conf

inet.ipv4.ip_forward = 1

# sysctl -p

5. Настраиваем сервер OpenVPN

Серверный конфигурационный файл /etc/openvpn/server.conf

port 1194
proto tcp
dev tun
tls-server
server 192.168.100.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
topology subnet
status openvpn-status.log
client-config-dir /etc/openvpn/ccd
push "route 10.168.50.0 255.255.255.0"
duplicate-cn
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpnserver.crt
key /etc/openvpn/keys/vpnserver.key
dh /etc/openvpn/keys/dh2048.pem

В строке push "route 10.168.50.0 255.255.255.0" ставите адрес своей под сети где установлен

VPN сервер (локальная сеть офиса компании), в противном случаем клиенты не смогут

увидеть удаленные компьютеры. У меня это сеть имеет адрес 10.168.50.0 255.255.255.0.

Вот более полный конфиг:

port 1194

proto udp

dev tun

tls-server

server 192.168.100.0 255.255.255.0

topology subnet

persist-key

persist-tun

status openvpn-status.log

#ifconfig-pool 192.168.100.1 192.168.100.254 255.255.255.0

client-config-dir /etc/openvpn/ccd

push "route 10.168.50.0 255.255.255.0"

#duplicate-cn

client-to-client

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/vpnserver.crt

key /etc/openvpn/keys/vpnserver.key

dh /etc/openvpn/keys/dh2048.pem

##Tuning Speed##

#cipher none

tcp-nodelay

#comp-lzo

fast-io

tun-mtu 1500

mssfix

fragment 1200

keepalive 15 120

 

6. Создаем клиентский ключ

Теперь осталось создать клиентские ключи, сделаем один ключ, для одного клиента.

Пропишем клиента в /etc/openvpn/ccd

# touch /etc/openvpn/ccd/client01

# echo "ifconfig-push 192.168.100.101 255.255.255.0" > /etc/openvpn/ccd/client01

# cd /etc/openvpn/easy-rsa

# ./build-key client01

 

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

 

Команда "ifconfig-push 192.168.100.101 255.255.255.0" присваивает статический IP адрес удаленному клиенту (машине).

Аналогичным образом добавляйте клиентов прописывая статический IP адрес, например "ifconfig-push 192.168.100.102 255.255.255.0" или "ifconfig-push 192.168.100.109 255.255.255.0". Если требуется создать еще одно подключение (клиента) к VPN серверу, повторяем генерацию ключей которая выше, столько раз - сколько у нас клиентов.

Например вот таким образом:

# touch /etc/openvpn/ccd/client999

# cd /etc/openvpn/easy-rsa

# source ./vars

# echo "ifconfig-push 192.168.100.250 255.255.255.0" > /etc/openvpn/ccd/client0999

# cd /etc/openvpn/easy-rsa

# ./build-key client0999

 

7. Запускаем демон OpenVPN на сервере

Запустим демон:

# service openvpn start

 

Настройка серверной части выполнена, осталось настроить удаленный клиентский

компьютер (WinXP) на подключение с нашим сервером.

 

8. Настройка клиентского подключения на Windows XP

Для этого сделайте следующее:

1. Скачайте OpenVPN клиент с официального сайта:

http://swupdate.openvpn.org/community/releases/openvpn-2.2.2-install.exe

http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe

Установите его.

2. Создайте папку на рабочем столе, дайте ей имя, например "Connect"
3. Потом положите в эту папку файлы ca.crt, client01.crt, key client01.key

которые лежат в директории вашего сервера /etc/openvpn/keys/
4. Создайте текстовый файл с именем "connect.ovpn" в папке "Connect" которая на рабочем столе...
5. Далее откройте этот файл в блокноте, и вставьте в него следующий текст:

client
tls-client
verb 3
dev tun
proto tcp
remote 111.111.111.111 1194
nobind
persist-key
persist-tun
ca ca.crt
cert client01.crt
key client01.key

В строка remote 111.111.111.111 1194 меняем IP адрес на свой, порт оставляем по умолчанию.

Вот более полный конфигурационный файл:

client
tls-client
verb 3
dev tun
proto udp
remote 111.111.111.111 1194
nobind
persist-key
persist-tun
ca ca1.crt
cert client03.crt
key client03.key
##Tuning Speed##
#cipher none
#comp-lzo
tun-mtu 1500
mssfix
fragment 1200

Сохраните файл.

6. После щелкните на этом файле правой кнопкой мыши, при этом выйдет

контекстное меню "Start OVPN on this config file", шелкние эту надпись.
7. Все, теперь вы соединены с удаленным офисом !!!

8. Проверьте доступность удаленных хостов командой ping <ip адрес>, если все хорошо переходим к следующему шагу

9. Осталось проверить терминальное подключение к серверу, для этого запустите "Подключение к удаленному рабочему столу" которое находится в меню Пуск -> Все программы -> Стандартные ->  Подключение к удаленному рабочему столу
10. В открывшемся окне, введите IP адрес сервера
11. Если все прошло хорошо, поздравляю!

Для Windows Vista, Windows 7 запускать клиента надо с админскими правами через батник:

cd c:\vpn\
"c:\program files\openvpn\bin\openvpn.exe" c:\vpn\client1.ovpn
pause

Если Вам надоело постоянно кликать по файлу "connect.ovpn", можно процесс подключения автоматизировать, для этого просто положите содержимое папки "Connect" в каталог "C:\Program Files (x86)\OpenVPN\config". После чего соединение по VPN будет происходить автоматически при загрузке службы "openvpn". Кстати в оснастке "Службы" не забудьте включить авто запуск сервиса "openvpn".

 

9. Заключение

Как видите настройка шифрованного канала к удаленной сети офиса делается просто. Работает такая система уже не один год и практически не сбоит. Был один глюк при обновлении пакетов, но после перенастройки все опять заработало в штатном режиме. Обычно настройка VPN сервера проста, что в Windows, что в Linux\Unix. Начинающие бояться этого грозного слова VPN, хотя на самом деле как в поговорке: Глаза боятся, а руки делают!

Не бойтесь  и у Вас все получится...

 

Часто встречающиеся ошибки и их решения при настройке OpenVPN.

Проблема №1: No route to host

Решение:

1.1. Появляется обычно тогда, когда компьютер имеет другую подсеть

Поменяйте маску в свойствах адаптера если вы соединяетесь из под компьютера в локальной сети. Если соединение проходит через Интернет, звоните провайдеру...

 

Проблема №2: Connection refused

Решение:

2.1. Появляется тогда, когда отключен адаптер TAP-Win32 в сетевых устройствах.

Включите адаптер на компьютере клиента

Меню ПУСК -> Сетевые адаптеры -> Подключение по локальной сети Tap-Win32 V9

2.2. Не верно установлено системное время

Введите текущее время, если требуется поменять батарейку на мат. плате, поменяйте ее.

2.3. Служба Openvpn не запущена или не слушается порт (по умолчанию 1194)

В файле /etc/openvpn/*.conf  не указан порт 1194:

port 1194

Еще бывает что задан другой порт, например 5666. Запомните этот порт, он вам понадобится для настройки клиентской утилиты.

2.4. Не создан серверный файл настроек /etc/openvpn/*.conf или он имеет пустое содержимое

2.5. Не создан каталог /var/log/openvpn/ и файл в нем /var/log/openvpn/openvpn-status.log

mkdir /var/log/openvpn

touch /var/log/openvpn/openvpn-status.log

chmod -R 777 /var/log/openvpn/

Проблема №3: TCP/UDP: Socket bind failed on local address 111.111.111.11:5002: Cannot assign requested address

Решение:

Вероятно указанный порт занят другой программой, укажите другой порт.

Самое действенное, это убрать строчку в конфиг файле /etc/openvpn/your_vpn.conf:

local 111.111.111.111

 

Проблема №4:

Появляется сообщение:

VERIFY ERROR: depth=1, error=certificate is not yet val id

или VERIFY ERROR: depth=1, error=self signed certificate in  certificate chain

Решение:

4.1. Не верно установлено системное время

Укажите правильное время.

4.2. Действенный способ обхода, сегенерировать ключи на другом компьютере, потом скопировать их в папку вашего сервера /etc/openvpn/keys/*

4.3. Поменять значение переменной в файле /etc/openvpn/easy-rsa/keys/openssl.cnf на :

[ CA_default ]

dir        = /etc/openvpn/keys

 

Проблема №5: Как сгенерировать новый клиентский ключ?

Решение:

Допустим мы хотим сделать ключ для пятого клиента VPN - client05

# cd /etc/openvpn/easy-rsa/

# source ./vars

# ./build-key client05

# touch /etc/openvpn/ccd/client05
# echo "ifconfig-push 192.168.100.105 192.168.100.106" > /etc/openvpn/ccd/client05

Здесь:

192.168.100.105 - статический IP адрес удаленной клиентской машины

192.168.100.106 - адрес шлюза IP адрес шлюза виртуальной сети

Итого, если вам нужно генерировать дополнительные ключи, повторите операции выше, но только с измененным названием клиента и его IP адреса. Меняются только переменные "clientXX" и IP адрес "192.168.100.1XX". За место символов XX ставится инкрементное цифровое значение.

Если хотите чтобы IP адрес присваивался автоматически, не создавайте файлов в папке /etc/openvpn/ccd и не вводите команду "echo".

Проблема 6: При генерации клиентского ключа появляется ошибка

failed to update database

TXT_DB

error number 2

Решение:

5.1. В файле /etc/openvpn/keys/index.txt.attr поменять значение переменной на:

unique_subject = no
5.2. При генерации забить другие данные игнорировав по умолчанию предлагаемые:
The Subject's Distinguished Name is as follows
countryName PRINTABLE 'KZ'
stateOrProvinceName PRINTABLE 'ALM'
localityName PRINTABLE '111'
organizationName PRINTABLE 'Almaty'
organizationalUnitName PRINTABLE 'Almaty'
commonName PRINTABLE 'client02'
name PRINTABLE 'Almas'
emailAddress IA5STRING aaa@kozel.kz'
Certificate is to be certified until Jul  7 10 57 45 2023 GMT (3650 days)
Sign the certificate? [y/n] y

Проблема 7: Как настроить серверный фаервол чтобы можно было соединятся по OpenVPN?

Решение:

Добавляем в скрипт с правилами iptables следующие строчки:

iptables -A INPUT -i eth0 -p tcp --dport 1194 -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 1194 -j ACCEPT

Проблема 8: Как избавится от ошибки:

**************************************************************

No /etc/openvpn/easy-rsa/openssl.cnf file could be found

Further invocations will fail

**************************************************************

Решение:

cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0 /etc/openvpn/easy-rsa

cd /etc/openvpn/easy-rsa

ln -s openssl-1.0.0.cnf openssl.cnf

Проблема 8: Как можно увеличит скорость соединения:

Открываем файл /etc/openvpn/server.conf и добавляем строчки:

При UDP соединение стабильно, пинг фактически соответствует реальному, но скорость на половину и даже больше - ниже!

proto udp

dev tun

# Выбор криптографического сертификата

cipher BF-CBC

# Сжатие можно выключить

comp-lzo

# Параметр fast-io ускоряет UDP соединение

fast-io

# Размер MTU

tun-mtu 1500

mssfix 1400

fragment 1200

tcp-nodelay

При TCP соединении пинги при копировании растут, но скорость по выше, больше средней.

dev  tun

proto tcp

cipher BF-CBC

tcp-nodelay

comp-lzo

fast-io

tun-mtu 1500

mssfix

 

keepalive 15 120

 

Надо играться с параметрами MTU, но у меня так и не получилось выжать всю доступную скорость. Выходило половина....

Эти же настройки за исключением fast-io, должны быть на клиентском конфиге.

И самое главное - у меня если сменить например порт с 1194 на 443 или 124, скорость соединения становится близка к реальной))). Пинги при смене порта стали маленькие, вывод: провайдер режет скорость на других портах. Используйте другие порты отличные от стандартного 1194, проверяйте скорость на разных портах.

Бывает так что надо менять "dev tun" на "dev tap" и ставить "proto tcp".

_________________________________________________________________________________

Если вы установили TraffPro (Linbilling), то надо в traffpro_rule.cfg прописать следующие правила iptables:

iptables -I FORWARD 1 -i eth1 -o tun0 -j ACCEPT
iptables -I FORWARD 1 -o eth1 -i tun0 -j ACCEPT

Адаптер eth1 смотрит в локальную сеть.

И открыть порт RDP - 3389 на клиенте в настройках TraffPro...



Almas AkeHayc
Пишу для себя, блог как записная книжка. Со временем все забывается, а у меня оно все в бложике. Будьте упертым глухим и веселым бегемотиком :)
7 ноября 2011, 21:30
9663

Загрузка...
Loading...

Комментарии

А как настроить подключение не на Windows на Linux? Что бы подключение было между 2-мя Linux-ми?
Между двумя Линукс машинами не настраивал, но там тоже должно быть все стандартно.
Один комп должен выступать как сервер, второй как клиент.
Сервер настраиваете по инструкции, клиентский комп, настраваете так же как и Windows комп, только с отличием, каталоги разные.
У меня показывает ошибку No route to host! У вас написано звонить провайдеру, как он решит эту проблему ?
Лучше покажите свои настройки, у вас как-то странно все работает.
Вот настройки на сервере:
local 172.16.1.36
port 1194

proto tcp
dev tun

ca ca.crt

cert openvpn.abdi.kz.crt

key openvpn.abdi.kz.key

dh dh1024.pem

server 10.10.10.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "route 0.0.0.0 255.255.255.0"

push "dhcp-option DNS 172.16.0.1"

push "redirect-gateway def1"

client-to-client

keepalive 10 120

comp-lzo

user nobody

group nobody

persist-key

persist-tun

status openvpn-status.log

log /var/log/openvpn.log

verb 3

mute 10


Вот клиент:

client
dev tun
proto tcp
remote 92.46.89.47 1194 # Тут у меня внешний ip
resolv-retry infi nite
user nobody
group nobody
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
log-append /var/log/openvpn.log
comp-lz
На клиенте ещё не подымается tun0
А вы стандартные проверки делали?
Ну например проверки:
telnet 1194
netstat -nlp | grep 1194

И другие.
Конечно желательно это надо увидить своими глазами
Mysyk
0
0
Скажите. А для игровых серверов это подойдет?
Смысла для игрового сервера не вижу.
Кому нужен игровой трафик.
Mysyk
0
0
Зря вы так думаете. Очень даже пригодилось бы.
Упс, не в ту запись ответил) Через OpenVPN можно играть по локальной сети через Интернет в старые игры.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
15 авг. 2017 / 17:21
  • 38998
  • 63
СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

Инцидент с пьяным киргизским гостем на борту Air Astana, наверное, остался бы только во внутренних сводках авиакомпании, если бы г-н Доган, не поднял громкий крик о государственном языке.
openqazaqstan
17 авг. 2017 / 14:43
  • 11676
  • 177
Казахский национализм раньше выглядел несовременно. Теперь он другой

Казахский национализм раньше выглядел несовременно. Теперь он другой

Националисты стали совсем другими. По-английски хорошо говорят, русскую классику цитируют. Очень современные, образованные, адекватные. А после Крыма в националисты уже чуть ли не любой казах готов был записаться.
Aidan_Karibzhanov
16 авг. 2017 / 16:52
Имеющий уши да услышит. Латиница касается только казахского языка

Имеющий уши да услышит. Латиница касается только казахского языка

Президент Назарбаев наконец-то разъяснил для всех, кто ещё не понял, очевидный вопрос, который всем в Казахстане очевиден. Елбасы повторил: на латиницу мы переводим казахский язык, и это не означает отказ от русского языка.
openqazaqstan
18 авг. 2017 / 16:23
  • 3393
  • 52
Дайте Байбеку сломать и переделать город. Он хочет шагнуть вверх, а не бабло украсть

Дайте Байбеку сломать и переделать город. Он хочет шагнуть вверх, а не бабло украсть

Я в тогдашней Алма-Ате родился, вырос. В школу начал ходить пешком. Весь центр опползал. Все эти знаковые места помню как ещё не знаковые места. Никаких этих ностальгических страданий у меня нет.
Aidan_Karibzhanov
вчера / 16:25
  • 2798
  • 25
«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

Из множества грустных откровений постепенно сложился перечень самых распространённых уловок охотников за нашими деньгами. В нём ожидаемо лидировали профессиональные попрошайки.
caravan_kz
16 авг. 2017 / 15:05
  • 2288
  • 4
Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

При полном отсутствии бюджетного жилищного строительства, целые аулы оседают в ветхих домишках, сквозь заборы которых насмешливо возвышаются башни "коктемов", "риц карлтонов" и "есентаев".
niyazov
19 авг. 2017 / 11:16
  • 2421
  • 67
В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

Общая площадь парка составляет 25 гектаров. На территории предусмотрено устройство прогулочных дорожек, площадок для установки аттракционов и павильонов различного назначения, цветников.
zhasakmola
17 авг. 2017 / 17:13
  • 2102
  • 1
«Нас и здесь неплохо кормят», или почему я не собираюсь уезжать из Казахстана

«Нас и здесь неплохо кормят», или почему я не собираюсь уезжать из Казахстана

Я всегда теряюсь, когда слышу этот вопрос, потому что я так и не сумел выразить причину одной фразой. Давайте рассмотрим популярные варианты, и я объясню, что именно мне в них не нравится.
convoluted
вчера / 12:29