This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
technical:vpn:tinc [2023/05/12 07:37] – jc | technical:vpn:tinc [2023/05/13 18:14] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
< | < | ||
# Tinc VPN | # Tinc VPN | ||
+ | |||
## Install Tinc | ## Install Tinc | ||
- | Arch Linux | + | |
- | ``` | + | ### Arch Linux |
+ | |||
+ | ```bash | ||
sudo pacman -S tinc | sudo pacman -S tinc | ||
``` | ``` | ||
- | Slackware Linux | + | |
- | ``` | + | ### Slackware Linux |
+ | |||
+ | ```bash | ||
wget https:// | wget https:// | ||
tar xzvf tinc.tar.gz | tar xzvf tinc.tar.gz | ||
Line 14: | Line 19: | ||
wget $DOWNLOAD | wget $DOWNLOAD | ||
sudo ./ | sudo ./ | ||
- | installpkg tinc-1.0.36-x86_64-1_SBo.tgz | + | sudo installpkg tinc-1.0.36-x86_64-1_SBo.tgz |
- | ## Generate Keys | + | |
``` | ``` | ||
+ | |||
+ | ## Generate Keys | ||
+ | |||
+ | ```bash | ||
tincd -n < | tincd -n < | ||
``` | ``` | ||
+ | |||
## Config | ## Config | ||
- | Copy keys to / | + | |
- | ``` | + | Copy keys to `/ |
+ | |||
+ | |||
+ | ```bash | ||
sudo mkdir -p / | sudo mkdir -p / | ||
- | cp rsa_key.* / | + | cp rsa_key.* / |
``` | ``` | ||
- | Create `tinc-up` and `tinc-down` scripts | ||
- | / | + | |
+ | Create tinc-up and tinc-down scripts. | ||
+ | |||
+ | `/ | ||
``` | ``` | ||
#!/bin/bash | #!/bin/bash | ||
Line 39: | Line 54: | ||
``` | ``` | ||
- | / | + | `/ |
``` | ``` | ||
#!/bin/bash | #!/bin/bash | ||
Line 53: | Line 69: | ||
Create tinc configuration | Create tinc configuration | ||
- | / | + | `/ |
``` | ``` | ||
- | #!/bin/bash | ||
- | # | ||
- | # | ||
- | # | ||
- | #ip addr add $IP dev $TUN | ||
- | #ip route add $SUB dev $TUN | ||
- | #ip link set $TUN up | ||
- | |||
- | ip link set tinc0 up | ||
- | ip addr add 192.168.70.17 dev tinc0 | ||
- | ip route add 192.168.70.0/ | ||
- | jc@lilit:/ | ||
Name = < | Name = < | ||
Device = / | Device = / | ||
Line 77: | Line 82: | ||
Add tinc peers | Add tinc peers | ||
+ | |||
+ | `/ | ||
+ | |||
``` | ``` | ||
- | Subnet = <tinc_ip_address> | + | Subnet = <peer_ip_address> |
- | Address = <wan_ip_address> | + | Address = <peer_wan_address> |
< | < | ||
``` | ``` | ||
+ | |||
## Startup | ## Startup | ||
+ | |||
+ | Start tincd | ||
+ | |||
+ | ```bash | ||
+ | VPN=$(ls /etc/tinc/) | ||
+ | for VPN in $VPNS; do | ||
+ | echo " | ||
+ | / | ||
+ | done | ||
+ | ``` | ||
+ | |||
## Shell Script | ## Shell Script | ||
+ | |||
+ | ```bash | ||
+ | #!/bin/sh | ||
+ | |||
+ | VPNS=$(ls /etc/tinc) | ||
+ | |||
+ | start () { | ||
+ | for VPN in $VPNS; do | ||
+ | echo " | ||
+ | / | ||
+ | done | ||
+ | } | ||
+ | |||
+ | stop () { | ||
+ | for VPN in $VPNS; do | ||
+ | echo " | ||
+ | / | ||
+ | done | ||
+ | } | ||
+ | |||
+ | restart () { | ||
+ | stop | ||
+ | sleep 1 | ||
+ | start | ||
+ | } | ||
+ | |||
+ | case " | ||
+ | (" | ||
+ | start | ||
+ | ;; | ||
+ | (" | ||
+ | stop | ||
+ | ;; | ||
+ | (" | ||
+ | restart | ||
+ | ;; | ||
+ | (*) | ||
+ | echo " | ||
+ | exit 1 | ||
+ | esac | ||
+ | |||
+ | exit 0 | ||
+ | |||
+ | ``` | ||
</ | </ | ||
+ |