Hello developers and users,

  would anyone be so kind as to review the configuration from the previous
email?

Thank you very much in advance and have a nice day
-- 
Karel Ziegler

On Wed, Feb 19, 2025 at 11:38 AM kAja Ziegler <ziegl...@gmail.com> wrote:

> Hello developers and users,
>
> I'm trying to get inspiration from the HOW-TO
> https://openvpn.net/community-resources/how-to/#configuring-client-specific-rules-and-access-policies,
> which is based on the net30 topology, and adapt it to the subnet topology.
>
> I've prepared a small PoC and everything seems to work as I expect and
> without any problems.
>
> Please, can you take a look at the configuration snippets below to see if
> there is any logical error in it and whether it will really work flawlessly
> this way?
>
>
> *- create and configure TUN interfaces using NetworkManager, including all
> IP addresses that will serve as default gateways for different classes of
> users inside the VPN tunel:*
>
> # nmcli connection add type tun tun.mode tun autoconnect yes con-name tun0
> ipv4.addresses 172.17.17.1/24 +ipv4.addresses 172.17.18.1/24 ipv4.method
> manual ipv6.method disabled ifname tun0
>
> # ip address show dev tun0
> 95: tun0: <*NO-CARRIER*,POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc
> fq_codel state *DOWN* group default qlen 500
>     link/none
>     inet 172.17.17.1/24 brd 172.17.17.255 scope global noprefixroute tun0
>        valid_lft forever preferred_lft forever
>     inet 172.17.18.1/24 brd 172.17.18.255 scope global noprefixroute tun0
>        valid_lft forever preferred_lft forever
>
>
> *- OpenVPN server configuration without directives like ifconfig and
> server and without ifconfig-pool:*
> # cat server.conf
> local AA.BB.CC.DD
>
> proto udp
> port 1194
>
> dev tun0
>
> mode server
> topology subnet
>
> tls-server
> tls-auth tlsauth.key 0
> tls-verify "/etc/openvpn/scripts/openvpn-client-verify.pl
> allowed-clients.conf"
> dh dh2048.pem
>
> remote-cert-tls client
>
> pkcs12 server.p12
>
> client-config-dir ccd
> ccd-exclusive
>
> push "topology subnet"
>
> user openvpn
> group openvpn
>
> keepalive 10 30
>
> persist-key
> persist-remote-ip
> persist-tun
>
> script-security 2
>
> *- specific configuration for the first (n-th) user from the Employee
> role:*
> # cat ccd/user-role-employee-1
> ifconfig-push 172.17.17.50 255.255.255.0
> push "route-gateway 172.17.17.1"
>
> *- specific configuration for the first (n-th) user from the System
> Administrator role:*
> # cat ccd/user-role-admin-1
> ifconfig-push 172.17.18.51 255.255.255.0
> push "route-gateway 172.17.18.1"
>
>
> *- start OpenVPN server and the status of the tun0 interface after:*
>
> # systemctl start openvpn-server.service
>
> # ip address show dev tun0
> 95: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,*LOWER_UP*> mtu 1500 qdisc
> fq_codel state *UP* group default qlen 500
>     link/none
>     inet 172.17.17.1/24 brd 172.17.17.255 scope global noprefixroute tun0
>        valid_lft forever preferred_lft forever
>     inet 172.17.18.1/24 brd 172.17.18.255 scope global noprefixroute tun0
>        valid_lft forever preferred_lft forever
>
> # ip -d link show tun0
> 95: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc
> fq_codel state UP mode DEFAULT group default qlen 500
>     link/none  promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535
>     tun type tun pi off vnet_hdr off persist on numtxqueues 1 numrxqueues
> 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs
> 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536
>
> # ip route show dev tun0
> 172.17.17.0/24 proto kernel scope link src 172.17.17.1 metric 450
> 172.17.18.0/24 proto kernel scope link src 172.17.18.1 metric 450
>
>
> *- REJECT communication/traffic between individual OpenVPN clients:*
> # iptables -I FORWARD -i tun+ -o tun+ -m state --state NEW -j REJECT
>
> *- specific firewalling rules for the Employee role, e.g.:*
> # iptables -A FORWARD -i tun0 -o enp6s19 -s 172.17.17.0/24 -d
> 192.168.17.0/24 -p tcp -m multiport --sports 80,443 -m state --state NEW
> -j ACCEPT
> ...
>
> *- specific firewalling rules for the System Administrator role, e.g.:*
> # iptables -A FORWARD -i tun0 -o enp6s19 -s 172.17.18.0/24 -d
> 192.168.0.0/16 -p tcp -m multiport --sports 80,443 -m state --state NEW
> -j ACCEPT
> ...
>
>
> There is certainly room for improvement in the configuration, but I am
> primarily concerned with the combination of configuring the TUN interface
> using NetworkManager and configuring the OpenVPN server together with CCD
> files or with some client-connect/client-disconnect scripts. But I'm
> certainly not opposed to any suggestions for improvement.
>
> Thank you very much in advance for your time, advice and comments.
>
> With best regards
> --
> Karel Ziegler
>
>  e-mail:    ziegl...@gmail.com
>
>
_______________________________________________
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to