แแ แแแแแแแก แจแแกแแฎแแ แแแแชแฎแแแแแ
แกแขแแขแแแจแ แแฆแฌแแ แแแแ แแแแแแจแ แแแแแแแกแแแแก แแแกแขแแแชแแฃแ แ แฌแแแแแแก แแ แแแแแแแชแแ แฆแแ แแแแแก แแ แแแฃแฅแขแแแแ แแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แ แแแแ แช แกแ แฃแแแแ แแแขแแแแแแฃแ แ แกแแกแขแแแแก แแกแแจแแแแแแแ, แแกแแแ แกแแกแแ แแแแแ แแฅแแแแ แแแคแแ แแแแแแกแแแแก, แ แแแแกแแช แแ แกแแแแแก แแแชแแแแแแแแก แแแคแแชแแขแ แแ แกแแแฃแ แแแแแ แชแแฃแ แกแแกแขแแแแจแ แแ แแแกแ แจแแกแ แฃแแแแ แแ แแกแแแแแ แแกแแ.
แกแขแแขแแแก แแแแแแแ แแ แแแแแแแชแแแจแ แแแกแขแแแชแแฃแ แ แฌแแแแแแก แฃแแ แฃแแแแแกแแงแแคแแ แกแ แฃแแ แกแแกแขแแแแก แแแแแ แแแ, แ แแช แชแแขแ แแแขแแ แแแแ แ โOpenVPN 10 แฌแฃแแจแ แแแงแแแแแโ.
แจแแแแแแ, แฉแแแ แแแแแฆแแแ แกแแกแขแแแแก, แ แแแแแจแแช แกแแ แแแคแแแแขแแแ แแ (แกแฃแ แแแแแกแแแแแ ) แแแ แแแ แแขแแฃแแ Active Directory แแแแแงแแแแแฃแแ แแฅแแแแ แแแแฎแแแ แแแแแแแก แแแแแแขแแคแแแแชแแแกแแแแก. แ แแ. แฉแแแ แแแแแฆแแแ แกแแกแขแแแแก แแ แ แแแแแแแฌแแแแแก แคแแฅแขแแ แแ - แ แ แแแฅแแก (แกแแ แแแคแแแแขแ) แแ แ แ แแแชแ (แแแ แแแ).
แแแจแแแ แแแแกแ, แ แแ แแแแฎแแแ แแแแแก แแแแแแจแแ แแแแก แฃแคแแแแ แแฅแแก แแ แแก แแแกแ แฌแแแ แแแ myVPNUsr แฏแแฃแคแจแ. แกแแ แขแแคแแแแขแแก แแแขแแ แแขแแขแ แแแแแงแแแแแฃแแ แแฅแแแแ แฎแแแแแ แแจแ.
แแแแแฌแงแแแขแแก แแแแแ แแแแก แฆแแ แแแฃแแแแ แแ แแก แแฎแแแแ แแชแแ แ แขแแฅแแแแแก แ แแกแฃแ แกแ แแ แกแแกแขแแแแก แแแแแแแกแขแ แแขแแ แแก 1 แกแแแแ แแฃแจแแแแ.
แฉแแแ แแแแแแแงแแแแแ แแแ แขแฃแแแฃแ แแแแฅแแแแก OpenVPN-แแ แแ Easy-RSA แแแ แกแแแ 3 CetntOS 7-แแ, แ แแแแแกแแช แแแแแงแแคแก 100 vCPU แแ 4 GiB แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ 4 แแแแจแแ แแ.
แแแแแแแแจแ แฉแแแแ แแ แแแแแแแชแแแก แฅแกแแแแ 172.16.0.0/16, แ แแแแแจแแช VPN แกแแ แแแ แ แแแกแแแแ แแแ 172.16.19.123 แแแแแแ แแแแก แกแแแแแแขแจแ 172.16.19.0/24, DNS แกแแ แแแ แแแ 172.16.16.16 แแ 172.16.17.17, 172.16.20.0. .23/XNUMX แแแแแงแแคแแแแ VPN แแแแแแขแแแแกแแแแก .
แแแ แแแแ แแแกแแแแแจแแ แแแแแ แแแแแแงแแแแแ แแแแจแแ แ แแแ แขแแ 1194/udp แแ แฉแแแแ แกแแ แแแ แแก DNS-แจแ แจแแแฅแแแ A-record gw.abc.ru.
แแแแชแ แแ แแ แแ แแก แ แแแแแแแแแแฃแแ SELinux-แแก แแแแแ แแแ! OpenVPN แแฃแจแแแแก แฃแกแแคแ แแฎแแแแแก แแแแแขแแแแก แแแแแ แแแแก แแแ แแจแ.
แแแคแแ แแแชแแแก
OS แแ แแแแแแแชแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแกแขแแแแชแแ แแ แแแขแแแ แแคแแแก แแแงแแแแแ OpenVPN-แแก แแแงแแแแแ AD แแแแแแขแแคแแแแชแแ แแแจแแแแ แแ แแแแแแแกแขแแแ แกแแ แแแคแแแแขแแก แแแชแแแ แแ แแแฃแฅแแแแ แฅแกแแแแก แแแแคแแแฃแ แแชแแ แ แ แแ แแก แจแแแแแแ
OS แแ แแแแแแแชแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแกแขแแแแชแแ
แฉแแแ แแแงแแแแแ CentOS 7.8.2003 แแแกแขแ แแแฃแชแแแก. แฉแแแ แฃแแแ แแแแแงแแแแ OS แแแแแแแแฃแ แแแแคแแแฃแ แแชแแแจแ. แแแกแแฎแแ แฎแแแแแแ แแแแก แแแแแแแแ แแแแแงแแแแแแ
แแแกแขแแแแชแแแก แจแแแแแ, แฅแกแแแแก แแแขแแ แคแแแกแแกแแแแก แแแกแแแแ แแแก แแแแแญแแแแ (172.16.19.123 แแแแแแแแแก แแแ แแแแแแก แแแฎแแแแแ), แแแแฎแแแแ OS:
$ sudo yum update -y && reboot
แฉแแแ แแกแแแ แฃแแแ แแแแ แฌแแฃแแแแ, แ แแ แแ แแแก แกแแแฅแ แแแแแแชแแ แจแแกแ แฃแแแแฃแแแ แฉแแแแก แแแแ แแขแแ.
แแแแแแแชแแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแกแขแแแแชแแแกแแแแก, แแฅแแแ แแญแแ แแแแแ openvpn, openvpn-auth-ldap, easy-rsa แแ vim แแแแแขแแแ, แ แแแแ แช แแแแแแ แ แ แแแแฅแขแแ แ (แแฅแแแ แแแแญแแ แแแแแ EPEL แกแแชแแแ).
$ sudo yum install epel-release
$ sudo yum install openvpn openvpn-auth-ldap easy-rsa vim
แกแแกแแ แแแแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแกแแแแก แกแขแฃแแ แแก แแแแแขแแก แแแงแแแแแ:
$ sudo yum install open-vm-tools
VMware ESXi แฐแแกแขแแแแกแแแแก, แแ oVirt-แแกแแแแก
$ sudo yum install ovirt-guest-agent
แแ แแแขแแแ แแคแแแก แแแงแแแแแ
แแแแแแแ easy-rsa แแแ แแฅแขแแ แแแจแ:
$ cd /usr/share/easy-rsa/3/
แจแแฅแแแแแ แชแแแแแ แคแแแแ:
$ sudo vim vars
แจแแแแแแ แจแแแแแ แกแ:
export KEY_COUNTRY="RU"
export KEY_PROVINCE="MyRegion"
export KEY_CITY="MyCity"
export KEY_ORG="ABC LLC"
export KEY_EMAIL="[email protected]"
export KEY_CN="allUsers"
export KEY_OU="allUsers"
export KEY_NAME="gw.abc.ru"
export KEY_ALTNAMES="abc-openvpn-server"
export EASYRSA_CERT_EXPIRE=3652
แแแ แแแแแ แแ แแแแแแแชแแแก แแแ แแแแขแ แแแ แจแแก ABC แแฆแฌแแ แแแแ แแฅ, แจแแแแซแแแแ แจแแแกแฌแแ แแ แแกแแแ แ แแแแฃแ แแ แแ แแแขแแแแ แแกแแแ แแแแแแแแแแแ. แแแ แแแแขแ แแแจแ แงแแแแแแ แแแแจแแแแแแแแแ แแ แแก แแแแ แฎแแแ, แ แแแแแแช แแแแกแแแฆแแ แแแก แกแแ แขแแคแแแแขแแก แแแฅแแแแแแแก แแแแแก แแฆแแแแจแ. แแแแแแแแจแ แแแแแงแแแแแฃแแแ แแแแจแแแแแแแ 10 แฌแแแ (365*10+2 แแแฎแขแแแ แฌแแแ). แแก แแแแจแแแแแแแ แฃแแแ แแแ แแแฃแแแ แแแก แแแแฎแแแ แแแแแก แกแแ แแแคแแแแขแแแแก แแแชแแแแแแ.
แจแแแแแแ, แฉแแแ แแแแแแคแแแฃแ แแ แแแ แแแขแแแแแแฃแ แ แกแแ แขแแคแแชแแ แแแแก แแ แแแแแก.
แแแงแแแแแ แแแแชแแแก แชแแแแแแแแก แแฅแกแแแ แขแก, CA-แก แแแแชแแแแแแแชแแแก, CA root แแแกแแฆแแแแกแ แแ แกแแ แแแคแแแแขแแก แแแชแแแแก, Diffie-Hellman แแแกแแฆแแแก, TLS แแแแแแจแก แแ แกแแ แแแ แแก แแแแแแจแก แแ แกแแ แแแคแแแแขแก. CA แแแกแแฆแแแ แกแแแฃแแแแแฃแแแ แฃแแแ แแงแแก แแแชแฃแแ แแ แกแแแแฃแแแแ แแแชแฃแแ! แจแแแแแฎแแแก แงแแแแ แแแ แแแแขแ แ แจแแแซแแแแ แแแ แฉแแก แแแแฃแแแกแฎแแแแแ.
cd /usr/share/easy-rsa/3/
. ./vars
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-dh
./easyrsa gen-req myvpngw nopass
./easyrsa sign-req server myvpngw
./easyrsa gen-crl
openvpn --genkey --secret pki/ta.key
แแก แแกแ แฃแแแแก แแ แแแขแแแ แแคแแฃแแ แแแฅแแแแแแแก แแแงแแแแแแก แซแแ แแแแ แแแฌแแแก.
OpenVPN-แแก แแแงแแแแแ
แแแแแแแ OpenVPN แแแ แแฅแขแแ แแแจแ, แจแแฅแแแแแ แกแแ แแแกแแก แแแ แแฅแขแแ แแแแ แแ แแแแแแขแแ แแแฃแแ easy-rsa-แแ:
cd /etc/openvpn/
mkdir /var/log/openvpn/ /etc/openvpn/ccd /usr/share/easy-rsa/3/client
ln -s /usr/share/easy-rsa/3/pki/ /etc/openvpn/
แจแแฅแแแแแ แแแแแแ แ OpenVPN แแแแคแแแฃแ แแชแแแก แคแแแแ:
$ sudo vim server.conf
แจแแแแแแ แจแแแแแ แกแ
port 1194
proto udp
dev tun
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/myvpngw.crt
key /etc/openvpn/pki/private/myvpngw.key
crl-verify /etc/openvpn/pki/crl.pem
dh /etc/openvpn/pki/dh.pem
server 172.16.20.0 255.255.254.0
ifconfig-pool-persist ipp.txt
push "route 172.16.0.0 255.255.255.0"
push "route 172.17.0.0 255.255.255.0"
client-config-dir ccd
push "dhcp-option DNS 172.16.16.16"
push "dhcp-option DNS 172.16.17.17"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1
username-as-common-name
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so /etc/openvpn/ldap.conf
แ แแแแแแแแ แจแแแแจแแแ แแแ แแแแขแ แแแแก แจแแกแแฎแแ:
- แแฃ แแแฌแแแแแก แแแชแแแแกแแก แกแฎแแ แกแแฎแแแ แแงแ แแแแแแแแฃแแ, แแแฃแแแแแ แแแ;
- แแแฃแแแแแ แแแกแแแแ แแแแแก แฏแแฃแคแ, แ แแแแแแช แจแแแกแแแแแแแ แแฅแแแแก แแแแชแแแแแก*;
- แจแแแซแแแแ แแงแแก แแ แแ แแ แแแขแ แแแ แจแ แฃแขแ แแ DNS แกแแ แแแ แ;
- แแแแ 2 แฎแแแ แกแแญแแ แแ AD**-แจแ แแแแแแขแแคแแแแชแแแก แแแแกแแฎแแ แชแแแแแแแแ.
*แแแแแแแแจแ แจแแ แฉแแฃแแ แแแกแแแแ แแแแแก แแแแแแแแแ แกแแจแฃแแแแแแก แแแกแชแแแก 127-แแแ แแแแแแขแก แแแแแแจแแ แแแก แแ แแแ แแฃแแแ, แ แแแแแ แแ แฉแแฃแแแ /23 แฅแกแแแ แแ OpenVPN แฅแแแแก แฅแแแฅแกแแแก แแแแแแฃแแ แแแแแแขแแกแแแแก /30 แแแฆแแแก แแแแแงแแแแแแ.
แแแแกแแแฃแแ แแแแ แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแแ แขแ แแ แแ แแขแแแแแ แจแแแซแแแแ แจแแแชแแแแแก, แแฃแแชแ แฃแแแ แแแแฎแกแแแแแก, แ แแ แแแ แขแแก แแแ แขแแก แแแแ แแก แจแแชแแแ แแแแแแฌแแแแก SELinux-แแก แแแแคแแแฃแ แแชแแแก, แฎแแแ tcp แแ แแขแแแแแแก แแแแแงแแแแแ แแแแ แแแก แแแแแแแแแก, แ แแแแแ TCP แแแแแขแแก แแแฌแแแแแแก แแแแขแ แแแ แฃแแแ แจแแกแ แฃแแแแฃแแแ แแแแ แแแจแ แฉแแกแแฃแแ แแแแแขแแแแก แแแแแแ.
** แแฃ AD-แจแ แแแแแแขแแคแแแแชแแ แแ แแ แแก แกแแญแแ แ, แแแแแแแแ แแแแแแขแแ แ แแแแแ, แแแแแขแแแแ แจแแแแแแ แแแแงแแคแแแแแ แแ แจแแแแแแจแ แแแแแฆแแ auth-user-pass แฎแแแ.
AD แแแแแแขแแคแแแแชแแ
แแแแ แ แคแแฅแขแแ แแก แแฎแแ แแแกแแญแแ แแ, แฉแแแ แแแแแแแงแแแแแ แแแแแ แแจแแก แแแแแกแขแฃแ แแแแก AD-แจแ.
แฉแแแ แแแญแแ แแแแ แแแแแ แแจแ แแแแแแจแ แฉแแแฃแแแแ แแแ แแแแฎแแแ แแแแแก แแ แฏแแฃแคแแก แฃแคแแแแแแแ, แ แแแแแจแแช แฌแแแ แแแ แแแแกแแแฆแแ แแแก แแแแแแจแแ แแแแก แจแแกแแซแแแแแแแแก.
แจแแฅแแแแแ แแแแคแแแฃแ แแชแแแก แคแแแแ:
/etc/openvpn/ldap.conf
แจแแแแแแ แจแแแแแ แกแ
<LDAP>
URL "ldap://ldap.abc.ru"
BindDN "CN=bindUsr,CN=Users,DC=abc,DC=ru"
Password b1ndP@SS
Timeout 15
TLSEnable no
FollowReferrals yes
</LDAP>
<Authorization>
BaseDN "OU=allUsr,DC=abc,DC=ru"
SearchFilter "(sAMAccountName=%u)"
RequireGroup true
<Group>
BaseDN "OU=myGrp,DC=abc,DC=ru"
SearchFilter "(cn=myVPNUsr)"
MemberAttribute "member"
</Group>
</Authorization>
ะัะฝะพะฒะฝัะต ะฟะฐัะฐะผะตััั:
- URL โldap://ldap.abc.ruโ - แแแแแแแก แแแแขแ แแแแ แแก แแแกแแแแ แแ;
- BindDN โCN=bindUsr,CN=Users,DC=abc,DC=ruโ - แแแแแแแแฃแ แ แกแแฎแแแ LDAP-แแแ แจแแกแแแ แแแแแแ (UZ - bindUsr แแแแขแแแแแ แจแ abc.ru/Users);
- แแแ แแแ b1ndP@SS โ แแแแฎแแแ แแแแแก แแแ แแแ แกแแแแแแแแฃแแ;
- BaseDN โOU=allUsr,DC=abc,DC=ruโ โ แแแ, แกแแแแแแแช แฃแแแ แแแแฌแงแแก แแแแฎแแแ แแแแแก แซแแแแ;
- BaseDN โOU=myGrp,DC=abc,DC=ruโ โ แแแกแแจแแแแ แฏแแฃแคแแก แแแแขแแแแแ แ (แฏแแฃแคแ myVPNUsr แแแแขแแแแแ แจแ abc.rumyGrp);
- SearchFilter "(cn=myVPNUsr)" แแ แแก แแแกแแจแแแแ แฏแแฃแคแแก แกแแฎแแแ.
แแแจแแแแ แแ แแแแแแแกแขแแแ
แแฎแแ แฉแแแ แจแแแแแซแแแ แแชแแแแ แฉแแแแ แกแแ แแแ แแก แฉแแ แแแ แแ แแแจแแแแ:
$ sudo systemctl enable [email protected]
$ sudo systemctl start [email protected]
แแแจแแแแแก แจแแแแฌแแแแ:
systemctl status [email protected]
journalctl -xe
cat /var/log/messages
cat /var/log/openvpn/*log
แกแแ แแแคแแแแขแแก แแแชแแแ แแ แแแฃแฅแแแแ
แแแแขแแ แ แแ แแแแแ แกแแ แแแคแแแแขแแแแก แแแ แแ, แแญแแ แแแแแ แแแกแแฆแแแแแ แแ แกแฎแแ แแแ แแแแขแ แแแ, แซแแแแแ แแแกแแฎแแ แฎแแแแแแ แแ แงแแแแแคแ แแก แแ แ แแ แแคแแแแก แคแแแแจแ แแแแแขแแแ. แแก แคแแแแ แจแแแแแ แแแแแแชแแแ แแแแฎแแแ แแแแแก แแ แแ แแคแแแ แแแแแ แขแแ แแแฃแแแ OpenVPN แแแแแแขแแ. แแแแกแแแแแก แฉแแแ แจแแแฅแแแแ แแแ แแแแขแ แแแแก แจแแแแแแก แแ แกแแ แแแขแก, แ แแแแแแช แฌแแ แแแฅแแแแก แแ แแคแแแก.
แแฅแแแ แฃแแแ แแแแแแขแแ แซแแ แแฃแแ แกแแ แขแแคแแแแขแแก (ca.crt) แแ TLS แแแกแแฆแแแแก (ta.key) แคแแแแแแแก แจแแแแแแกแ แแ แแคแแแจแ.
แแแแฎแแแ แแแแแก แกแแ แแแคแแแแขแแแแก แแแชแแแแแแ แแ แแแแแแแฌแงแแแ แกแแ แขแแคแแแแขแแแแก แแแฅแแแแแแแก แกแแญแแ แ แแแแแก แแแงแแแแแ แแแ แแแแขแ แแแแก แคแแแแจแ. แซแแแแแ แแ แฃแแแ แแแฎแแแแ แซแแแแแ, แแแ แฉแแแ, แแแฅแกแแแฃแ 180 แแฆแแ แจแแแฆแฃแแแ.
vim /usr/share/easy-rsa/3/vars
...
export EASYRSA_CERT_EXPIRE=180
vim /usr/share/easy-rsa/3/client/template.ovpn
client
dev tun
proto udp
remote gw.abc.ru 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
verb 3
auth-user-pass
<ca>
-----BEGIN CERTIFICATE-----
PUT YOUR CA CERT (ca.crt) HERE
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
PUT YOUR TA KEY (ta.key) HERE
-----END OpenVPN Static key V1-----
</tls-auth>
แจแแแแจแแแแแ:
- แฎแแแแแ แแแแแแแแกแแ แแฅแแแแ... แจแแแแแ แกแแก แจแแชแแแ แกแแแฃแแแ แ แกแแ แแแคแแแแขแแแ;
- แแแกแขแแแชแแฃแ แแแ แแฅแขแแแแจแ แแแฃแแแแแ แแฅแแแแ แแแ แแแญแแก แกแแฎแแแ/แแแกแแแแ แแ;
- auth-user-pass แแแ แแฅแขแแแ แแแแแแงแแแแแ แแแแแขแแแแแ แแแ แ แแแแแแขแแคแแแแชแแแกแแแแก.
แกแแฎแแแก แแแ แแฅแขแแ แแแจแ (แแ แกแฎแแ แแแกแแฎแแ แฎแแแแ แแแแแแแก) แฉแแแ แแฅแแแแ แกแแ แแแขแก แกแแ แแแคแแแแขแแก แแแแฎแแแแแกแ แแ แแ แแคแแแแก แจแแกแแฅแแแแแแ:
vim ~/make.profile.sh
#!/bin/bash
if [ -z "$1" ] ; then
echo Missing mandatory client name. Usage: $0 vpn-username
exit 1
fi
#Set variables
basepath=/usr/share/easy-rsa/3
clntpath=$basepath/client
privpath=$basepath/pki/private
certpath=$basepath/pki/issued
profile=$clntpath/$1.ovpn
#Get current year and lowercase client name
year=`date +%F`
client=${1,,}
echo Processing $year year cert for user/device $client
cd $basepath
if [ -f client/$client* ]; then
echo "*** ERROR! ***"
echo "Certificate $client already issued!"
echo "*** ERROR! ***"
exit 1
fi
. ./vars
./easyrsa --batch --req-cn=$client gen-req $client nopass
./easyrsa --batch sign-req client $client
#Make profile
cp $clntpath/template.ovpn $profile
echo "<key>" >> $profile
cat $privpath/$1.key >> $profile
echo "</key>" >> $profile
echo -e "n" >> $profile
openssl x509 -in $certpath/$1.crt -out $basepath/$1.crt
echo "<cert>" >> $profile
cat $basepath/$1.crt >> $profile
echo "</cert>" >> $profile
echo -e "n" >> $profile
#remove tmp file
rm -f $basepath/$1.crt
echo Complete. See $profile file.
cd ~
แคแแแแแก แจแแกแ แฃแแแแแแ แแแฎแแแ:
chmod a+x ~/make.profile.sh
แแ แฉแแแ แจแแแแแซแแแ แแแแชแแ แฉแแแแ แแแ แแแแ แกแแ แแแคแแแแขแ.
~/make.profile.sh my-first-user
แแแแฎแแแแ
แกแแ แขแแคแแแแขแแก แแแแแ แแแแกแแก (แแแแแ แแแแก, แฅแฃแ แแแแแก) แจแแแแฎแแแแแจแ แแฃแชแแแแแแแแ แแ แแแฌแแแแแก แแแฃแฅแแแแ:
cd /usr/share/easy-rsa/3/
./easyrsa revoke my-first-user
./easyrsa gen-crl
แแแชแแแฃแแ แแ แแแฃแฅแแแแฃแแ แกแแ แแแคแแแแขแแแแก แแแฎแแ
แแแชแแแฃแแ แแ แแแฃแฅแแแแฃแแ แกแแ แแแคแแแแขแแแแก แกแแแแฎแแแแ, แฃแแ แแแแ แแแฎแแ แแแแแฅแกแแก แคแแแแ:
cd /usr/share/easy-rsa/3/
cat pki/index.txt
แแแแแแ แขแแแ:
- แแแ แแแแ แฎแแแ แแ แแก แกแแ แแแ แแก แกแแ แแแคแแแแขแ;
- แแแ แแแแ แแแ แกแแแแแ
- V (Valid) - แแแฅแแแแแแก;
- แ (แแแฃแฅแแแแฃแแ) - แแแแฎแกแแแ.
แฅแกแแแแก แแแแคแแแฃแ แแชแแ
แแแแ แแแแแฏแแแ แแ แแก แแแแแแชแแแ แฅแกแแแแก แแแแคแแแฃแ แแชแแ - แแแ แจแ แฃแขแแแแชแแ แแ แคแแแ แแแแแแแ.
แแแแจแแ แแแแก แแแจแแแแ แแแแแแแแ แแ แคแแแแ แแแแจแ:
$ sudo firewall-cmd --add-service=openvpn
$ sudo firewall-cmd --add-service=openvpn --permanent
แจแแแแแแ, แฉแแ แแแ IP แขแ แแคแแแแก แแแ แจแ แฃแขแแแแชแแ:
$ sudo sysctl net.ipv4.ip_forward=1
$ sudo echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/50-sysctl.conf
แแแ แแแ แแขแแฃแ แแแ แแแแจแ, แกแแแแ แแฃแแแ, แแ แกแแแแแก แฅแแแฅแกแแแฃแ แ แฅแกแแแ แแ แฉแแแ แฃแแแ แแฃแแฎแ แแ แ แแฃแขแแ (แแ)แก, แ แแแแ แแแแแแแแแ แแแแแขแแแ, แ แแแแแแแช แแแแแฃแแแแแแแ แฉแแแแ VPN แแแแแแขแแแแกแแแแก. แแ แซแแแแแแก แฎแแแแ แฉแแแ แแแกแ แฃแแแแ แแ แซแแแแแแก (แแแแแงแแแแแฃแแ แแฆแญแฃแ แแแแแแแก แแแฎแแแแแ):
# ip route 172.16.20.0 255.255.254.0 172.16.19.123
แแ แจแแแแแฎแแ แแแแคแแแฃแ แแชแแ.
แแแ แแ แแแแกแ, แกแแกแแแฆแแ แ แ แแฃแขแแ แแก แแแขแแ แคแแแกแแ, แกแแแแช แแแกแแฎแฃแ แแแ แแแ แ แแแกแแแแ แแ gw.abc.ru, แแฃแชแแแแแแแแ แแแฃแจแแแก udp/1194 แแแแแขแแแแก แแแแแ.
แแ แจแแแแฎแแแแแจแ, แแฃ แแ แแแแแแแชแแแก แแฅแแก แฃแกแแคแ แแฎแแแแแก แแแแชแ แ แฌแแกแแแ, Firewall แแกแแแ แฃแแแ แแงแแก แแแแคแแแฃแ แแ แแแฃแแ แฉแแแแก VPN แกแแ แแแ แแ. แฉแแแ แแแ แแ, แงแแแแแแ แแแแ แแแฅแแแแแแ แฃแแ แฃแแแแแงแแคแแแแ iptables FORWARD แฏแแญแแแแแก แแแงแแแแแแ, แแฃแแชแ แแแแ แแแงแแแแแ แแแแแแแแ แแแกแแฎแแ แฎแแแแแแ. แชแแขแ แแแขแ แแแแ แแแงแแแแแแก แจแแกแแฎแแ. แแแแกแแแแแก แงแแแแแแ แแแกแแฎแแ แฎแแแแแแ "แแแ แแแแแ แ แฌแแกแแแแก" แแแแแงแแแแแ - แคแแแแจแ แจแแแแฎแฃแแ แแแ แแแแแ แ แฌแแกแแแ /etc/firewalld/direct.xml. แฌแแกแแแแก แแแแแแแแ แ แแแแคแแแฃแ แแชแแ แจแแแแซแแแแ แแฎแแแแ แจแแแแแแแแแ แแ:
$ sudo firewall-cmd --direct --get-all-rule
แคแแแแแก แจแแชแแแแแแ แแแแแแแแ แแแกแ แกแแ แแแแ แแ แแกแแ:
cp /etc/firewalld/direct.xml /etc/firewalld/direct.xml.`date +%F.%T`.bak
แคแแแแแก แกแแแแ แแฃแแ แจแแแแแ แกแแ:
<?xml version="1.0" encoding="utf-8"?>
<direct>
<!--Common Remote Services-->
<!--DNS-->
<rule priority="0" table="filter" ipv="ipv4" chain="FORWARD">-i tun0 -o ens192 -p udp --dport 53 -j ACCEPT</rule>
<!--web-->
<rule priority="0" table="filter" ipv="ipv4" chain="FORWARD">-i tun0 -o eth0 -p tcp -d 172.16.19.200 --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT</rule>
<rule priority="0" table="filter" ipv="ipv4" chain="FORWARD">-i tun0 -o eth0 -p tcp -d 172.16.19.201 --dport 443 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT</rule>
<!--Some Other Systems-->
<rule priority="0" table="filter" ipv="ipv4" chain="FORWARD">-i tun0 -o eth0 -p udp -d 172.16.19.100 --dport 7000 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT</rule>
<!--just logging-->
<rule priority="1" table="filter" ipv="ipv4" chain="FORWARD">-i tun0 -o eth0 -j LOG --log-prefix 'forward_fw '</rule>
</direct>
แแแแแแ แขแแแแแ
แแก แแ แแก แแ แกแแแแแแ แ แแแฃแแแ แฃแแ iptables แฌแแกแแแ, แกแฎแแแแแแ แแ แจแแคแฃแแฃแแ Firewall-แแก แแแแแฉแแแแก แจแแแแแ.
แแแแแจแแฃแแแแแก แแแขแแ แคแแแกแ แแแแฃแแแกแฎแแแแ แแแ แแแแขแ แแแแ แแ แแก tun0, แฎแแแ แแแแ แแแแก แแแ แ แแแขแแ แคแแแกแ แจแแแซแแแแ แแงแแก แแแแกแฎแแแแแแฃแแ, แแแแแแแแแ, ens192, แแแแแงแแแแแฃแแ แแแแขแคแแ แแแก แแแฎแแแแแ.
แแแแ แฎแแแ แแ แแก แฉแแแแแแแแฃแแ แแแแแขแแแแก แแฆแ แแชแฎแแ. แแแแกแแแแก, แ แแ แแฃแ แแแแแ แแแฃแจแแแก, แแฅแแแ แฃแแแ แจแแชแแแแแ แแแแแ แแแแก แแแแ firewalld-แแก แแแแคแแแฃแ แแชแแแจแ:
vim /etc/sysconfig/firewalld
FIREWALLD_ARGS=--debug=2
แแแ แแแแขแ แแแแก แแแแแงแแแแแ แแ แแก แฉแแแฃแแแแ แแแ firewalld แแ แซแแแแแ แแแ แแแแขแ แแแแก แฎแแแแฎแแ แฌแแกแแแแแฎแแ:
$ sudo firewall-cmd --reload
แฉแแแแจแแแแฃแแ แแแแแขแแแแก แแแฎแแ แจแแแแซแแแแ แแกแ:
grep forward_fw /var/log/messages
แ แ แแ แแก แจแแแแแแ
แแก แแแแกแ แฃแแแแก แแแงแแแแแแก!
แ แฉแแแ แแฎแแแแ แแแแแแขแแก แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแงแแแแแ แแแแแแขแแก แแฎแแ แแก, แแ แแคแแแแก แแแแแ แขแ แแ แแแแแแจแแ แแแ. Windows แแแแ แแชแแฃแแ แกแแกแขแแแแแแกแแแแก, แกแแแแกแขแ แแแฃแชแแ แแแแ แแแ แแแแแแแกแแแฃแแแ
แแแแแแแก, แฉแแแ แแแแแแจแแ แแแ แฉแแแแก แแฎแแ แกแแ แแแ แก แแแแแขแแ แแแแแกแ แแ แแ แฅแแแแก แกแแกแขแแแแแก แแ แแ แแแแแแแฌแงแแแ แแแแแฎแแแแแแแก แ แแแฃแแแ แฃแแแ แแแกแขแแแแชแแ.
แกแขแแแแแฃแ แ แแแแจแแ แ!
แฌแงแแ แ: www.habr.com