OpenVPN рдкрд░ рджреВрд░рд╕реНрде рдХрд╛рд░реНрдп SMB рд╕рдВрдЧрдарди рдХрд╛ рд╕рдВрдЧрдарди

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рд░реВрдкрдг


рд▓реЗрдЦ рдореЗрдВ рдУрдкрди рд╕реЛрд░реНрд╕ рдЙрддреНрдкрд╛рджреЛрдВ рдкрд░ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╕рдВрдЧрдарди рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рд╛рдпрддреНрдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрдм рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рдХрдореА рд╣реИ рдпрд╛ рдЗрд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрд┐рд╕реА рд╕рдВрдЧрдарди рдХреЛ рджреВрд░рд╕реНрде рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реА рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ "10 рдорд┐рдирдЯ рдореЗрдВ рдУрдкрдирд╡реАрдкреАрдПрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ" рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИред

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдорд┐рд▓рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдФрд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ) рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдПрдЧреАред рд╕реЗрд╡рд╛ред рд╣рдореЗрдВ рджреЛ рд╕рддреНрдпрд╛рдкрди рдХрд╛рд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдорд┐рд▓рддреА рд╣реИ - рдореЗрд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ (рдкреНрд░рдорд╛рдг рдкрддреНрд░) рдФрд░ рдЬреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ (рдкрд╛рд╕рд╡рд░реНрдб)ред

рдПрдХ рд╕рдВрдХреЗрдд рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд╡рд╣ myVPNUsr рд╕рдореВрд╣ рдореЗрдВ рдЙрд╕рдХреА рд╕рджрд╕реНрдпрддрд╛ рд╣реИред рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЕрдереЙрд░рд┐рдЯреА рдХрд╛ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреЗрд╡рд▓ рдЫреЛрдЯреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрди рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ 1 рдШрдВрдЯреЗ рдХрд╛ рдХрд╛рдо рд╣реИред

рд╣рдо CetntOS 7 рдкрд░ рдУрдкрдирд╡реАрдкреАрдПрди рдФрд░ рдИрдЬрд╝реА-рдЖрд░рдПрд╕рдП 3 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ 4 рд╡реАрд╕реАрдкреАрдпреВ, 4 рдЬреАрдИрдмреА рд░реИрдо рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП 100 рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдорд╛рд░реЗ рд╕рдВрдЧрдарди рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ 172.16.0.0/16 рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 172.16.19.123 рдкрддреЗ рдХреЗ рд╕рд╛рде рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ 172.16.19.0/24 рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, DNS рд╕рд░реНрд╡рд░ 172.16.16.16 рдФрд░ 172.16.17 рд╣реИрдВ, рдФрд░ рд╕рдмрдиреЗрдЯ 172.16.20.0/23 рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред ред

рдмрд╛рд╣рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреЛрд░реНрдЯ 1194 / udp рдкрд░ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЗ DNS рдореЗрдВ A-record gw.abc.ru рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рджреГрдврд╝рддрд╛ рд╕реЗ SELinux рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ! OpenVPN рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рд╛рдордЧреНрд░реА


  1. OS рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди
  2. рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд╕реЗрдЯрд┐рдВрдЧ
  3. OpenVPN рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
  4. рд╡рд┐рдЬреНрдЮрд╛рдкрди рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг
  5. рд▓реЙрдиреНрдЪ рдФрд░ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕
  6. рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдирд╛ рдФрд░ рдирд┐рд░рд╕реНрдд рдХрд░рдирд╛
  7. рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдиреНрдпрд╛рд╕
  8. рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛


OS рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди


рд╣рдо рд╡рд┐рддрд░рдг рдХрд┐рдЯ CentOS 7.8.2003 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдиреНрдпреВрдирддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдУрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ , рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд OS рдЫрд╡рд┐, рдФрд░ рдЕрдиреНрдп рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдХреНрд▓реЛрдирд┐рдВрдЧред

рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдХрд╛рд░реНрдп 172.16.19.123 рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдХреЗ рд▓рд┐рдП рдПрдХ рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛, рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

$ sudo yum update -y && reboot

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдорд╢реАрди рдкрд░ рд╕рдордп рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореБрдЦреНрдп рд╕рдВрдкрд╛рджрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдУрдкрдирд╡реАрдкреАрдПрди, рдУрдкрдирд╡реАрдПрдирдкреАрдПрди-рд▓реЙрд░рдк, рдЖрд╕рд╛рди-рдЖрд░рдПрд╕рдП рдФрд░ рд╡реАрдЖрдИрдПрдо рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЖрдкрдХреЛ рдИрдкреАрдИрдПрд▓ рднрдВрдбрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред

$ 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


рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд╕реЗрдЯрд┐рдВрдЧ


рдЖрд╕рд╛рди-рд░реЗрд╕рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ:

$ 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="admin@abc.ru"
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

рдПрдмреАрд╕реА рдПрд▓рдПрд▓рд╕реА рдХреЗ рд╕рд╢рд░реНрдд рд╕рдВрдЧрдарди рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рд╣реИ, рдЬреЛ рджрд┐рдиреЛрдВ рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рд╡реИрдзрддрд╛ рдЕрд╡рдзрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 10 рд╡рд░реНрд╖реЛрдВ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (365 * 10 + 2 рд▓реАрдк рд╡рд░реНрд╖)ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЕрдЧрд▓рд╛, рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЪрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛, CA рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛, рд░реВрдЯ рдХреБрдВрдЬреА рдФрд░ CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдирд╛, рдбрд┐рдлреА-рд╣реЗрд▓рдореИрди рдХреБрдВрдЬреА, TLS рдХреБрдВрдЬреА, рд╕рд╛рде рд╣реА рд╕рд░реНрд╡рд░ рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА рдХреБрдВрдЬреА рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЧреБрдкреНрдд рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП! рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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 рд╕рд░реНрд╡рд░ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ;
  • AD ** рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо 2 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

* 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 = рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, DC = abc, DC = ru" - LDAP (UZ - рдХрдВрдЯреЗрдирд░ рдореЗрдВ bindUsr рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╣рд┐рдд рдирд╛рдо) abc.ru/Users);
  • рдкрд╛рд╕рд╡рд░реНрдб b1ndP @ рдПрд╕рдПрд╕ - рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб;
  • BaseDN "OU = allUsr, DC = abc, DC = ru" - рд╡рд╣ рдорд╛рд░реНрдЧ рдЬрд╣рд╛рдБ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ;
  • BaseDN "OU = myGrp, DC = abc, DC = ru" - рдЕрдиреБрдорддрд┐ рд╕рдореВрд╣ рдХрд╛ рдХрдВрдЯреЗрдирд░ (рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рдореВрд╣ myVPNUsr abc.ru \ myGrp);
  • SearchFilter "(cn = myVPNUsr)" рд╕рдВрдХрд▓реНрдк рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо рд╣реИред


рд▓реЙрдиреНрдЪ рдФрд░ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕


рдЕрдм рд╣рдо рдЕрдкрдирд╛ рд╕рд░реНрд╡рд░ рдЪрд╛рд▓реВ рдФрд░ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$ sudo systemctl enable openvpn@server.service
$ sudo systemctl start openvpn@server.service

рдЪреЗрдХ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:

systemctl status openvpn@server.service
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>

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:

  • рдЕрдкрдирд╛ ... рдЕрдкрдиреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рддрд╛рд░ рдмрджрд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ;
  • рджрд┐рд╢рд╛рддреНрдордХ рд░рд┐рдореЛрдЯ рдореЗрдВ рдЕрдкрдиреЗ рдЧреЗрдЯрд╡реЗ рдХрд╛ рдирд╛рдо / рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ;
  • рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рд╣рд░реА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд╛рд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА (рдпрд╛ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЬрдЧрд╣) рдореЗрдВ рд╣рдо рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ:

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

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг:

  • рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реИ;
  • рдкрд╣рд▓рд╛ рдЪрд░рд┐рддреНрд░
    • рд╡реА (рдорд╛рдиреНрдп) - рд╡реИрдз;
    • рдЖрд░ (рдирд┐рд░рд╕реНрдд) - рд╡рд╛рдкрд╕ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ред


рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдиреНрдпрд╛рд╕


рдЕрдВрддрд┐рдо рдЪрд░рдг рдПрдХ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рд░реВрдЯрд┐рдВрдЧ рдФрд░ рдлрд╛рдпрд░рд╡реЙрд▓ред

рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐:

$ 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

рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рд╢рд╛рдпрдж рд╕рдмрдиреЗрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИ рдФрд░ рд╣рдореЗрдВ рд░рд╛рдЙрдЯрд░ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╡реАрдкреАрдПрди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдкреИрдХреЗрдЯ рдХреИрд╕реЗ рднреЗрдЬреЗрдВред рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░, рдХрдорд╛рдВрдб рдХреЛ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ):

# ip route 172.16.20.0 255.255.254.0 172.16.19.123

рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣реЗрдЬреЗрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреЙрд░реНрдбрд░ рд░рд╛рдЙрдЯрд░ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░, рдЬрд╣рд╛рдВ рдмрд╛рд╣рд░реА рдкрддрд╛ gw.abc.ru рдкрд░реЛрд╕рд╛ рдЬрд╛рддрд╛ рд╣реИ, udp / 1194 рдкреИрдХреЗрдЯ рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЗ рд╕рдВрдЧрдарди рдореЗрдВ рд╕рдЦреНрдд рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдо рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, iptables рдлреЙрд░рд╡рд░реНрдб рдЪреЗрди рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдХрдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ред рдЗрд╕рдХреЗ рд▓рд┐рдП, "рдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рдпрдо" - /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 рдирд┐рдпрдо рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рдж рдкреИрдХ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЧрдВрддрд╡реНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ tun0 рд╣реИ, рдФрд░ рд╕реБрд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ens192, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдЧрд┐рд░рд╛ рдкреИрдХреЗрдЯ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реИред рдХрд╛рд░реНрдп рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдбреАрдмрдЧрд┐рдВрдЧ рд╕реНрддрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

vim /etc/sysconfig/firewalld
FIREWALLD_ARGS=--debug=2

рд╕реЗрдЯрд┐рдВрдЧ рд▓рд╛рдЧреВ рдХрд░реЗрдВ - рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХрдорд╛рдВрдб:

$ sudo firewall-cmd --reload

рдирд┐рдореНрди рдкреИрдХреЗрдЯ рдХреЛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

grep forward_fw /var/log/messages


рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛


рд╕реЗрдЯрдЕрдк рд╣реЛ рдЧрдпрд╛ рд╣реИ!

рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдУрд░ рд░рд╣рддрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдЬреИрд╕реЗ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП, рд╡рд┐рддрд░рдг рдбреЗрд╡рд▓рдкрд░ рдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ ред

рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдирдП рд╕рд░реНрд╡рд░ рдХреЛ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдФрд░ рдЖрд░реНрдХрд╛рдЗрд╡рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдирд╣реАрдВ рднреВрд▓рддреЗред

рд╕реНрдерд┐рд░ рдХрдиреЗрдХреНрд╢рди!

All Articles