Представим ситуацию, когда пользователям вашей организации понадобился доступ извне к корпоративной почте или каким-либо другим данным. Я уверен, что вы можете настроить RPC over HTTPS, но есть и другие способы для достижения цели. Например, OpenVPN, который я нахожу достаточно удобным и надежным.
В этом простейшем HOWTO я покажу, как настроить это все хозяйство. Опытные пользователи вряд ли найдут здесь что-то интересное для себя.
В качесте допущения примем, что мы работаем с правами пользователя root и Selinux отключен, что указано в /etc/selinux/config. На случай, если OpenVPN не найдется в основном репозитарии, необходимо добавить репозитарий rpmforge (не описано в этой статье).
yum install openvpncd /etc/openvpn/ cp -R /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/ cd /etc/openvpn/easy-rsa/2.0/ ../vars chmod +rwx * ./clean-all source ./vars
Изменим значения вверху файла, чтобы они соответствовали нашим параметрам
vi ../vars
Изменим значения вверху файла, чтобы они соответствовали нашим параметрам
vi vars
Создаем сертификат CA:
./build-ca
Создаем файл server.key:
source ./vars./clean-all ./build-ca ./build-key-server server
Редактируем файл openvpn.conf:
vi /etc/openvpn/openvpn.conf
Хотя в файле конфигурации указано использовать tcp, считается, что на медленных линиях udp работает быстрее.
port 1723 # (1194 is the default but on some APN networks this is blocked)proto tcp dev tun ca ca.crt cert server.crt key server.key dh dh1024.pem server 172.16.0.0 255.255.255.0 push "dhcp-option DNS 192.168.168.1" push "dhcp-option DNS 168.210.2.2" #push "dhcp-option WINS 192.168.1.2" push "route 192.168.168.0 255.255.255.0" ifconfig-pool-persist ipp.txt keepalive 10 120 comp-lzo user nobody group users persist-key persist-tun status openvpn-status.log
Копируем ключи и запускаем OpenVPN:
cp keys/{ca.crt,ca.key,server.crt,server.key} /etc/openvpn/./build-dh cp keys/dh1024.pem /etc/openvpn/ /etc/init.d/openvpn start chkconfig --list | grep vpn
Генерируем ключи по одному на каждого клиента:
./build-key <name>
Рассылаем ключи клиентам:
cd keys/zip keys.zip ca.crt ca.key <name>.crt <name>.csr <name>.key yum install -y nail nail -s “Keys" -a keys.zip me@mydomain.co.za
Проверяем, запустился ли OpenVPN:
netstat -ntpl | grep 1723
Настраиваем правила iptables:
# External Interface for VPN # VPN Interface VPNIF="tun0" VPNNET="172.16.0.0/24" VPNIP="172.16.0.1" ### OpenVPN $IPTABLES -A INPUT -i $EXTIF -p tcp -s $UNIVERSE -d $EXTIP --destination-port 1723 -j ACCEPT # OpenVPN $IPTABLES -A INPUT -i $EXTIF -p tcp -s $UNIVERSE -d $EXTIP --destination-port 1723 -j ACCEPT # OpenVPN # Allow TUN interface connections to OpenVPN server $IPTABLES -A OUTPUT -o $INTIF -s $EXTIP -d $VPNNET -j ACCEPT $IPTABLES -A OUTPUT -o $VPNIF -s $EXTIP -d $VPNNET -j ACCEPT # OpenVPN $IPTABLES -A FORWARD -i $EXTIF -o $VPNIF -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -o $INTIF -s $EXTIP -d $VPNNET -j ACCEPT $IPTABLES -A FORWARD -o $VPNIF -s $EXTIP -d $VPNIP -j ACCEPT $IPTABLES -A FORWARD -o $EXTIF -s $EXTIP -d $VPNNET -j ACCEPT $IPTABLES -A FORWARD -o $VPNIF -s $INTNET -d $VPNNET -j ACCEPT
Устанавливаем OpenVPN GUI на Windows XP
Поскольку OpenVPN сервер у нас установлен и ключи для клиентов сгенерированы, применим полученные знания на практике и осчастливим кого-нибудь установкой клиентской части.
- Скачиваем клиентскую часть вот отсюда
- Устанавливаем ее
- В каталог C:\Program Files\OpenVPN\config выкладываем наши ключи и смотрим вообще, что там есть:
ca.crtca.key <name>.crt (eg. johnl.crt) <name>.csr <name>.key
# The hostname/IP and port of the server.# You can have multiple remote entries # to load balance between the servers. remote <myserver> 1723 ;remote my-server-2 1194 # SSL/TLS parms. # See the server config file for more # description. It's best to use # a separate .crt/.key file pair # for each client. A single ca # file can be used for all clients. ca ca.crt cert.crt key.key
Вот это собственно и все. Не забудьте настроить маршрутизацию!
Оригинал: http://howtoforge.com/openvpn-server-on-centos-5.2
Перевод: Сгибнев Михаил. Оригинал перевода
Разное
Усиленно подыскиваю для себя машину. В связи с кризисом уже не получается новую купить, поэтому беру б/у. Пока остановился на шевроле авео, ещё из вариантов опель мерива, думаю…
Вам интересно откуда появился телефон? Читайте статью по ссылке, довольно познавательно.
One Comment