Jump to content

[multiple guides] Lukyp's guides

To start, these guides aren't mine and aren't written by me. they're written by Lukyp, who since left the forum, and wanted to keep the guides, so i offered to repost them as a central thread. these might get updated. but when asking questions/giving suggestions, it can take a while

 

[Guide] Best gaming setup on Linux desktop and Laptops

  Reveal hidden contents

Hi, I'm creating this guide because I think there are a lot of misconceptions when gaming on Linux, so I'll show the best gaming setup you can have on Linux desktops and optimus laptops, focused with newbies

This guide will divide in two parts, the desktop section, which is somewhat general and the specific laptop section. 

 

Desktop

For laptop users: read this paragraph first

Introduction
First of all, the best setup you can have is the most supported one, so Intel or AMD CPU, no APU's, and an NVDIA graphics card. 
If you have problems, you would like to go on the most recent Linux distro you can think of.

 

Distribution

It depends, if you want the most stable and easy to use desktop experience, you would go for Ubuntu 18.04 or Linux Mint however, you would need to add some ppas to get recent drivers, and all the programs present in there would be old, exception for Snap and Flatpak packages

If you want a more "updated" cutting edge experience especially for new hardware then you may want to go with Ubuntu

18.10 or Manjaro Linux, which is based on arch, manjaro would probably have the best performance.

However, it has a slightly longer learning curve than Ubuntu when it comes to installing software.


Other distros like Fedora may be fine, but I never used them.

 

Desktop environment

Probably the most important thing of a perfect gaming experience after the driver is the desktop enviroment, contrarily to what people may think, the worst desktop environments to game with are 

  • Xfce
  • Mate
  • Cinnamon
  • Pantheon*

At this point, you are probably guessing why? Those are the lightest desktop environments.
Simple, they got a compositor which doesn't turn off when you open a fullscreen game, this may change in the future if they update their code but if you really want to use those desktops you need to turn off desktop compositing manually and this can't be possible in Cinnamon.

*Seems to perform well, not 100% sure but it seems.


Desktop compositing enabled in games causes tearing, fps drop, input lag.


The best (I tested personally) desktops for gaming are:

  • KDE Plasma
  • GNOME

I would however recommend Plasma, it's lighter on system ram, like 500MB lighter.

 

Remember: Like windows, for the best gaming performance you need to play in fullscreen mode for both wine+dxvk games or native ones.

I don't know if the same applies to LXDE, I don't use it.

 

Updated drivers

Another important thing are system drivers. If you use an ArchLinux based distro, like Manjaro you don't have to worry, it's a rolling release and probably has the most updated packages you can imagine. 

If you are on an Ubuntu based distro, there are three mainly things you may want to update

 

NVIDIA drivers

Updating NVIDIA drivers is relatively easy, all you need to do is add this PPA


sudo add-apt-repository ppa:graphics-drivers/ppa

then, update your APT cache, and go into your Driver manager and install the latest ones, at the point of this writing, the latest are the NVIDIA 410.77 ones

 

Linux Kernel (AMD and Intel GPU's drivers)

There are several ways to do that, the first is to use Ukuu which has a GUI! Follow those instructions https://github.com/teejee2008/ukuu

 

Please note that installing new kernels is dangerous, be sure to have at least one stable kernel, don't remove any! If you got problems on your new kernel, boot to the previous one

OpenGL stack (AMD and Intel GPU's)

 

If you are using an open source driver, the opengl stack is updated differently from the drivers, to update them add this ppa


sudo add-apt-repository ppa:ubuntu-x-swat/updates

then, reload your APT cache and 


sudo apt-get dist-upgrade

 

That's all for Desktops, and what about laptops?

 

Laptops

 

Introduction

Things are much harder on laptops. If you have a single graphics card,  just follow the desktop paragraph.

 

Intel/AMD CPU + AMD GPU/APU

Just follow the desktop paragraph, but remember that you need to set an environment variable before the game executable, you'll be using DRI_PRIME=1. 
Lutris has an option to enable it, in Steam/Proton you would need to modify the argument by right-clicking on the game and adding 


DRI_PRIME=1 %command%

Anyway, never owned such laptops so I don't think if this is gonna work, follow this guide instead https://wiki.archlinux.org/index.php/PRIME#Open-source_drivers 
I don't even know if the battery life is any good since it would need to switch off the drivers.

 

Intel CPU + NVIDIA card

This is the most common setup, and probably the most complicated just because of two things. The "Official" nvidia support for Optimus is jut for Ubuntu and it's called NVIDIA PRIME and it's not present or supported on other distros not based on Ubuntu, and it's the only way to get Vulkan games working on the discrete GPU.

Important note. At least for me, this setup it is suffering from a strange form of screen tearing + choppy performance, not on fps but on the "overall experience", so I would honestly suggests to game on a dual-boot environment, I think the PRIME syncronization between Intel GPU + nvidia is messed up, and not the same.
 

Basically it just let you choose which GPU to use from nvidia-settings GUI (also called NVIDIA X server settings) but only for the current X.org session, so you'll need to logoff every time you have to use a different GPU. 
Sometimes it's buggy and requires a reboot.

 

There is also another Windows-like and DRI_PRIME like method called bumblebee but only supports OpenGL at it's current state, there is a program called primus_vk but it's in an alpha state, on other distros you could also try nvidia-xrun or messing around with X config to use just the NVIDIA card but that's not the purpose of this guide, I'll just show the easiest way possible


NVIDIA-PRIME method*

With newer nvidia drivers(So when Using Ubuntu 18.10 or Ubuntu 18.04 with repos)

The only desktop+display manager combination which is working fine with Vulkan/DXVK is KDE plasma+SDDM,

So for Optimus laptops, would just need to use a distro like Kubuntu 18.04 or 18.10.

 

Or if you are an experienced user, just switch for a display manager which is not GDM3 and use GNOME.


Or you can just stick with Ubuntu 18.04 without upgrading NVIDIA drivers (Unless they ubuntu devs update them even on 18.04) 

 

* Workaround for nvidia-settings not opening anymore when on Intel GPU after the update
Before upgrading nvidia drivers, go into /usr/bin and save the nvidia-settings binary somewhere, like in the same folder and calling it nvidia-settings.390

Also into /usr/lib  save all libnvidia-gtk* libs, you need to restore those after the update because newer drivers will mess up with nvidia-prime GUI functionality, so after the update just copy those files back.

 

Fix NVIDIA-PRIME screen tearing

 

add this parameter to /etc/modprobe.d/*.conf


options nvidia-drm modeset=1

or


nvidia-drm.modeset=1
to /etc/default/grub in GRUB_CMDLINE_LINUX_DEFAULT


Suggestions

  • Always use the latest DXVK version when using lutris, or the latest Proton one. Old versions are not less stable than new ones... 
  • Always use the latest Wine version, I suggest the tkg one, this one disables the desktop compositor (Don't need to worry with Proton, it already does that)

 

[GUIDE] Linux PCI GPU VFIO Passthrough

  Reveal hidden contents

So, you've probably seen the gaming on Linux Linus/Wendell video, and you probably figured out how hard it is to make it actually work through PCI passthrough, especially when searching on google how to do so, most of the guides are outdated and they don't explain too much. Exception obv.
I'm here to explain the simplest method available. I'm not covering everything, just the basis. You still need to search some specific workaround by yourself, of course I will tell you where to search and the most updated materials.

Prerequisites

  • Motherboard I/O Virtualization support
  • CPU with Intel VT-d or AMD-Vi support, and option enabled in the BIOS
  • Two video cards (Can be an iGPU as well)
  • Desktop PC (Some laptops are working but the list is sooo small, refer to this)
  • Knowing what you are doing, this is not 100% guaranteed to work
  • GNU/Linux distro with a decent kernel version
  • Decent PC knowledge, basic Linux command line usage (You though you could do this without touching the terminal? Too bad.)
  • UEFI bios and UEFI GPU

    If you don't meet those requirements you can stop reading, go back using windows if you care playing games (bad joke, not even funny)
     

Recommended setup

  • Intel CPU (AMD has some issues getting the right core count to work in QEMU)
  • NVIDIA GPU (Does not suffer from soft reset issues)
  • Dedicated PCI slot lanes (Will explain that later)

 

Useful materials


Getting started

PCI Passthroughing is available on Linux thanks to vfio and KVM, and gives the possibility to attach PCI devices like GPUs.
We basically want to play games on a virtualized Windows virtual machine by dedicating one PCI GPU slot to the virtual machine, this is possibile thanks to VFIO. The virtualized environment we are going to use is the KVM Hypervisor, and the actual Linux programs to use are called QEMU and libvirt (libvirt supports more hypervisors, but we are still going to use KVM), we are going to use libvirt + virt-manager which is the Red Hat linux solution to make it easier to manage virtual machines. Why? Because it has a GUI called virt-manager libvirt has a different way to manage VM settings through XML which is different from the QEMU bash style and has a lot of features.
 

  • First of all, install libvirt and qemu, in ubuntu you can do that by 

sudo apt-get install virt-manager ovmf

(Will also install libvirt)
Don't want to use the terminal? Good. You can still use the GUI but that is way faster and less frustrating, so stop crying like a little baby. All OS have a command line too. You can use synaptic or the ubuntu store to install programs, did you know? 

 

  • Checking if IOMMU is correctly loaded and enabled

 


dmesg | grep IOMMU

This should give us something like


[    0.000000] Intel-IOMMU: enabled
[    0.028879] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
[    0.028883] dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap d2008c20660462 ecap f010da
[    0.536229] IOMMU 0 0xfed90000: using Queued invalidation
[    0.536230] IOMMU 1 0xfed91000: using Queued invalidation
[    0.536231] IOMMU: Setting RMRR:
[    0.536241] IOMMU: Setting identity map for device 0000:00:02.0 [0xbf000000 - 0xcf1fffff]
[    0.537490] IOMMU: Setting identity map for device 0000:00:14.0 [0xbdea8000 - 0xbdeb6fff]
[    0.537512] IOMMU: Setting identity map for device 0000:00:1a.0 [0xbdea8000 - 0xbdeb6fff]
[    0.537530] IOMMU: Setting identity map for device 0000:00:1d.0 [0xbdea8000 - 0xbdeb6fff]
[    0.537543] IOMMU: Prepare 0-16MiB unity mapping for LPC
[    0.537549] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]

 

If you have problems, check if IOMMU is enabled in the bios, either you have unsupported CPU or MOBO. You can force Linux to load iommu by putting those kernel parameters in /etc/default/grub `intel_iommu=on` for intel CPUs or `amd_iommu=on` for AMD

 

  • Checking IOMMU groups

#!/bin/bash
shopt -s nullglob
for d in /sys/kernel/iommu_groups/*/devices/*; do 
    n=${d#*/iommu_groups/*}; n=${n%%/*}
    printf 'IOMMU Group %s ' "$n"
    lspci -nns "${d##*/}"
done;

This is a simple bash script that should tell us which IOMMU groups are available, search for your GPU, if your GPU IOMMU group shares something with other devices, you must pass them as well. More on that later.
 


IOMMU Group 1 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
IOMMU Group 1 01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750] (rev a2)
IOMMU Group 1 01:00.1 Audio device: NVIDIA Corporation Device 0fbc (rev a1)

This is an output example, you would need to pass everything on that group. Having an audio device shared with the GPU makes sense because it is the HDMI audio of your GPU, you should start to worry if you are seeing other devices.

 


There are several ways to try separating the GPU from an IOMMU group, like swapping the PCI-e slot with another one, then run again that command.
If you want to mess up your system, you can use ACS but I'm not covering that, refer to the arch wiki please. It is however complicated, you'll need to patch your kernel. If you are on arch you can use the linux-vfio one from the AUR, but note that this just makes the kernel trick IOMMU groups are all separated  each other for each device when they are not, strange things may happen

 

  • Passing the actual PCI devices

Now you are almost good to go, what you are gonna need is to enable vfio from in the ramdisk to ensure it will load on the kernel startup.
So you need on Ubuntu to edit the following file /etc/initramfs-tools/modules as root and add those drivers


vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

On arch the procedure is similiar, it is just a different file. After that, update your initramfs (just an ubuntu thing)  by 


sudo update-initramfs -u 


Obviously they will stop working from your host PC when you unbind them.

Now the passing procedure consists in editing a file, we'll call it vfio.conf, in /etc/modprobe.d/vfio.conf


o

ptions vfio-pci ids=xxxx:yyyy,xxxx:yyyz

where the ids are your hardware ids you need to pass through, you can find them by typing `lspci -nn` and then searching for your required devices needed from into the IOMMU group, most of the time you just need the ID of the graphics card and the graphics card audio id.
https://linustechtips.com/main/uploads/monthly_2018_10/image.png.9125fa7ffe2c5b543e9d336c2a0e2bea.png
Its format is xxxx:yyyy as you can see from that picture. Different ids needs to be separated with a comma
If you still can't get it working, go to the troubleshooting section.


If everything went smooth, reboot and the vfio-pci driver should have binded to your card, you can check this by typing `sudo lspci -v`
The result should be something like 


1c:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 3GB] (rev a1) (prog-if 00 [VGA controller])
        ...
        Kernel driver in use: vfio_pci
        ...

In that case, the GPU binding was successful. Check this for all your devices you need to pass.

Virtual machine configuration

 

Now this should be the easiest part, once you passed your devices to the vfio driver, we just need to build a decent virtual machine.
As I said earlier, this could be done by just using plain qemu, but I'm doing the libvirt thing using virt-manager, so once you installed the virt-manager program, open it! (You don't even need terminal commands...To start it)
But too bad;

 

  • before opening it, we need to first edit /etc/libvirt/qemu.conf as sudo


https://linustechtips.com/main/uploads/monthly_2018_10/image.png.0c3bc47fce9ad12f729c8d7ed220231b.png

 

  • Uncomment this whole part of text by just removing the "#", we need that to enable the UEFI bios in the virtual machine.
     
  • Reboot your PC after saving that file. Proceed to the virtual machine configuration wizard.
    Configure as the following.

 

Configure the vm as you want, the most important thing is to choose the UEFI firmware.

  • Start your Windows installation.

Now it is time to get serious.

  • Time to add the video card and all the devices you passed to vfio

https://linustechtips.com/main/uploads/monthly_2018_10/image.png.ea7d3995c087de0c181dd708c99d66d6.png

https://linustechtips.com/main/uploads/monthly_2018_10/image.png.6482ecd4c8b0406bbcdf09902eb4fc28.png


Don't mind my video card, I'm just showing how to do that on another PC. You need to pass your NVIDIA GPU and all the other devices required for your IOMMU group.

Note that to check if the video card is working, you should check its video output.
What you have on the virtual machine window is an emulated software video card.

  • Start your vm
  • If you have an NVIDIA gpu and from the Windows devices manager you are getting "error 43" its normal. You need to hide the windows NVIDIA driver you are using a VM.
  • You can to that by editing /etc/libvirt/qemu/yourvmname.xml

    This is like editing an HTML file. You need to edit the file as the following


 

...
<features>
	<hyperv>
		...
		<vendor_id state='on' value='1234567890ab'/>
		...
	</hyperv>
	...
	<kvm>
	<hidden state='on'/>
	</kvm>
</features>
...

 

Just make sure you are on the right section. vendor_id state must me inside the <hyperv> and kvm inside <features>
Save the file, you may need to reboot your PC for the changes to be applied. If something is wrong with the syntax, starting virt-manager will not show the vm in the list.

That's all for the basic configuration

Final notes


You may want to disable the emulated Cirrus or QXL software video card to just use the dedicated video card, I repeat, just check the video card output. You can choose other ports on your monitor. And there you will have your virtualized Gaming OS! Also, you may not want to use the virtualized mouse pointer and the keyboard, you can choose to pass-through the hardware one by just putting the mouse like you did with the GPU, just use USB instead of PCI you may not need to use vfio. Just use virt-manager. Just make sure to have another mouse unplugged for the VM, or you ha


Reboot, and now the graphics card should be working and everything should be fine.

 

I'm not covering LookingGlass since that this guide is meant to be intended just for the basic configuration. I'm not saying I won't add it in the future.


Troubleshooting
As for other configurations here is a list of issues and solutions. First of all, you should check the arch wiki. It has really a good list. I can't really cover every thing. But I will try my best.



Still error 43: First of all, check the video card output, if you see the OVMF bios logo, there is something misconfigured with the QEMU config as you need to hide KVM as I said before.
If there is a blank screen, you may probably need to extract your GPU vbios. This is required on some configurations. I personally needed it for example.
You can use nvflash for that purpose. The syntax is `./nvflash_linux --save vbios.rom` Once you extracted the bios, if the IFR Size is more than 0, it needs to be removed. If the IFR size if 1536 byte, for example, remove it by using dd, the syntax is `dd if=vbios.rom of=vbios.fixed.rom bs=1536 skip=1`
Now you can put your GPU bios into libvirt by editing the .xml, first of all under your GPU <hostdev> put the following


<hostdev>
     ...
     <rom file='/path/to/your/gpu/bios.bin'/>
     ...
   </hostdev>

Be sure the .bin file is readable. That's it, save and reboot.

Wrong CPU core count on AMD cpus: That is a known issue, there is no clear solution. You may choose older CPU configuration like Skylake or Core2duo and have at least 4 core count enabled on windows. You can also try to update QEMU to version 3 as there seem to be a fix, that basically consist to make changes to the the xml file to something like


<cpu mode='host-passthrough' check='none'>
  <topology sockets='1' cores='8' threads='2'/>
  <cache mode='passthrough'/>
  <feature policy='require' name='topoext'/>
</cpu>

For a ryzen 7 that should be enough. 
On older versions of QEMU you could try the solution listed there http://mathiashueber.com/amd-ryzen-based-passthrough-setup-between-xubuntu-16-04-and-windows-10/ There are also some Ryzen tricks.

Still can't bind the GPU to vfio: There may be the efi framebuffer that uses the primary GPU, maybe it is the first PCI slot? Try with the kernel parameter `video=vesafb:off,efifb:off` by editing /etc/default/grub

 

[GUIDE] Set up a OpenVPN Server on Windows

  Reveal hidden contents

Intro

Hi, first of all this guide will focus particularly for one use case.
Use a VPN from an unsecure network (ex, your school, public hotspots, etc) and tunnel ALL the data over your server ISP, note that MiM attacks are still possible on the server network, presumably your home one.

 

Useful troubleshoot links

https://community.openvpn.net/openvpn/wiki/Easy_Windows_Guide

https://forums.openvpn.net/viewtopic.php?t=20765

https://openvpn.net/community-resources/how-to/

https://wiki.archlinux.org/index.php/Easy-RSA

https://wiki.archlinux.org/index.php/OpenVPN

https://site.elastichosts.com/blog/windows-l2tpipsec-vpn-server/

 

Server Setup-Guide

  • OpenVPN Download ---> https://openvpn.net/community-downloads/
  • Install it with all the features (easy-rsa, etc)
  • Remember to disable Windows Firewall, or create a specific rule for the server port you choose

Now open the cmd, and go into this directory with cd


 C:\Program Files\OpenVPN\easy-rsa


and run 


init-config.bat

now open the vars.bat file with


notepad vars.bat

And edit the file at the bottom, and change the following settings to the one you like

 


set KEY_COUNTRY=US
set KEY_PROVINCE=CA 
set KEY_CITY=SanFrancisco 
set KEY_ORG=OpenVPN 
set KEY_EMAIL=mail@host.domain

Save the file, and run vars.bat, then clean-all.bat

Now we begin creating the certificates

Now, run 


build-ca.bat


Edit or confirm the settings you put before

Then run

 


build-key-server.bat my-server

Make sure to put into Common Name the name of your server, which has to be different from the client or it will give an error
When prompted, sign the certificate and commit with "y"


Now we create the client certificates, you need one for each client are going to connect, with 


build-key.bat x-client

As I said, make sure to choose another "common name" when prompted.

Now, create the dh file, it will take some time depending on the length you choose on the vars.bat file (defaults to 2048)


build-dh.bat


And for the last one, the ta.key 


openvpn --genkey --secret ta.key


Server config

 

Now begin copying the certificates/keys you made into the OpenVPN/config folder


ca ca.crt 

cert my-server.crt 

key my-server.key

dh dh2048.pem

ta ta.key

Also, copy from the OpenVPN/sample-config folder the server.ovpn file into the OpenVPN/config folder, and begin modifying it

The config file is easy to read, the parameters you may need to modify are:

  • Port number
  • certificates location (make sure to fix all the names for: ca ca.crt, cert my-server.crt, key my-server.key, dh dh.pem, ta ta.key)
  • LZ4 compression (uncomment the compress lz4-v2 and push compress lz4-v2 by removing the ";")

Enabling the all-tunnel-traffic

 

Probably the major feature of the guide, without of this you will able to comunicate only with the server.

Go finding into the server.ovpn config


;push "redirect-gateway def1 bypass-dhcp"

and uncomment it by removing the ";"

If needed, also tell the clients to use the DNS you like by adding
Note: You'll need this if you are not using DCHP for getting the DNS, tweak the server config first by using the DNS you like in there


push "dhcp-option DNS 8.8.8.8"


Enable Windows ipv4 forwarding

Some steps are required in order to to this, first we need to use netsh

open a cmd and execute


netsh

then 


int ipv4

 


show int

Then


show int X

where X is your TAP and/or Internet interface index number, this will show if the ipv4 forwarding is enabled

Once you found the X index number of your interfaces, type this


set interface X forwarding="enabled"

Do that for both interfaces if you like, just to be sure


 

 

 

NAT forwarding for Windows Server (Requires manual feature  install called Routing and Remote Access Services on Windows Server from the server manager) --> https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff687740(v=ws.10)  

 

Open services.msc
Search for "Routing and Remote access"
Right click on it, and set it to run automatically
Also manually start it

Make sure to set a restart policy to restart everytime an error occurs, like this (I know it isn't the right service, but the same applies) 

 

https://linustechtips.com/main/uploads/monthly_2018_11/image.png.783d19882855c40803276d18a7205fe4.png

Now open Routing and Remote access


Right click on your server name (Local) ---> Configure and enable Routing and Remote access  ---> NAT 

https://linustechtips.com/main/uploads/monthly_2018_11/image.png.bdafb15abb4495fe193a1d399426af68.png

 

Select your main internet interface

https://linustechtips.com/main/uploads/monthly_2018_11/image.png.8225a7007a0b74439e202b7601c4ea35.png

 

Then your OpenVPN tap one

 

https://linustechtips.com/main/uploads/monthly_2018_11/image.png.a8cf68b04c0d2f4ec7a15feb2579cb23.png

Make sure the service is enabled and started. That's it

 

 

Alternative method for NAT forwarding (Not recommended, use it at last resort)

Open regedit and go into
 


HKLM\System\CurrentControlSet\Services\Tcpip\Parameters

And set IPEnableRouter parameter from 0 to 1

 

This should be an easy step, however it is a bit bugged, if you are using it on a server so you won't reboot frequently not a problem, because you will need to re-do this every time you reboot due to a never-solved ICS bug.
In windows server you can try this ---> 
https://site.elastichosts.com/blog/windows-l2tpipsec-vpn-server/ (Follow just the NAT part)

The steps consist in:

- Open Network Connection Manager 

Right click into your main net interface

- Share this connection through --> Select your TAP/OVPN network interface

https://linustechtips.com/main/uploads/monthly_2018_11/image.png.c6a784d02701cf19874310ad2112f192.png


Make OpenVPN Server start automatically

  • Open services.msc
  • Then find OpenVPNService, right click on it and set it to start Automatically (Delayed), it won't work for me if I set just Automatic
  • Make sure to make it restart automatically if an error occurs, as I said before, something like this

https://linustechtips.com/main/uploads/monthly_2018_11/image.png.e2a40800113c0aa372fe3bf0f491ea79.png

Note that this will run the server.ovpn file into OpenVPN/config


Create client .OVPN file

The .ovpn syntax is the following. Refer also to the client config in OpenVPN/sample-config. Also 

https://wiki.archlinux.org/index.php/OpenVPN#The_server_configuration_file
https://wiki.archlinux.org/index.php/OpenVPN#The_client_config_profile


client
proto udp
remote openvpnserver.example.com
port 1194
dev tun
nobind



key-direction 1


<ca>
-----BEGIN CERTIFICATE-----
# insert base64 blob from ca.crt
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
# insert base64 blob from client1.crt
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
# insert base64 blob from client1.key
-----END PRIVATE KEY-----
</key>

<tls-auth>
-----BEGIN OpenVPN Static key V1-----
# insert ta.key
-----END OpenVPN Static key V1-----
</tls-auth>

Basically is like the server file configuration, but you'll need to embed into the <tags> all the client keys and certificates mentioned, from ca.crt, x-client.crt, x-client.key and the ta.key

Once you are done, save the .ovpn and run it on an Android phone or on a OpenVPN client in your PC and test it.

https://linustechtips.com/main/uploads/monthly_2018_11/image.png.1e9a6205fc8e4ae512ea295d1bb9f878.png

 

[GUIDE] Solving most common Linux issues - FAQ, general troubleshooting megathread reference, noob friendly

  Reveal hidden contents
Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, LukeSavenije said:

they're written by Lukyp, who since left the forum

The Linux dude left the forum? RIP

CPU: Intel Core i7-950 Motherboard: Gigabyte GA-X58A-UD3R CPU Cooler: NZXT HAVIK 140 RAM: Corsair Dominator DDR3-1600 (1x2GB), Crucial DDR3-1600 (2x4GB), Crucial Ballistix Sport DDR3-1600 (1x4GB) GPU: ASUS GeForce GTX 770 DirectCU II 2GB SSD: Samsung 860 EVO 2.5" 1TB HDDs: WD Green 3.5" 1TB, WD Blue 3.5" 1TB PSU: Corsair AX860i & CableMod ModFlex Cables Case: Fractal Design Meshify C TG (White) Fans: 2x Dynamic X2 GP-12 Monitors: LG 24GL600F, Samsung S24D390 Keyboard: Logitech G710+ Mouse: Logitech G502 Proteus Spectrum Mouse Pad: Steelseries QcK Audio: Bose SoundSport In-Ear Headphones

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×