This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
technical:vpn:tinc [2023/05/13 17:53] – jc | technical:vpn:tinc [2023/05/13 18:14] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 6: | Line 6: | ||
### Arch Linux | ### Arch Linux | ||
- | ``` | + | ```bash |
sudo pacman -S tinc | sudo pacman -S tinc | ||
``` | ``` | ||
Line 12: | Line 12: | ||
### Slackware Linux | ### Slackware Linux | ||
- | ``` | + | ```bash |
wget https:// | wget https:// | ||
tar xzvf tinc.tar.gz | tar xzvf tinc.tar.gz | ||
Line 21: | Line 21: | ||
sudo installpkg tinc-1.0.36-x86_64-1_SBo.tgz | sudo installpkg tinc-1.0.36-x86_64-1_SBo.tgz | ||
``` | ``` | ||
- | |||
- | ### MacOS | ||
## Generate Keys | ## Generate Keys | ||
- | ``` | + | ```bash |
tincd -n < | tincd -n < | ||
``` | ``` | ||
Line 32: | Line 30: | ||
## 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. | ||
- | / | + | `/ |
``` | ``` | ||
Line 54: | Line 54: | ||
``` | ``` | ||
- | / | + | `/ |
``` | ``` | ||
Line 66: | Line 66: | ||
ip addr del $IP dev $TUN | ip addr del $IP dev $TUN | ||
``` | ``` | ||
- | </ | ||
Create tinc configuration | Create tinc configuration | ||
- | / | + | `/ |
``` | ``` | ||
Line 83: | Line 82: | ||
Add tinc peers | Add tinc peers | ||
+ | |||
+ | `/ | ||
``` | ``` | ||
- | Subnet = <tinc_ip_address> | + | Subnet = <peer_ip_address> |
- | Address = <wan_ip_address> | + | Address = <peer_wan_address> |
< | < | ||
Line 92: | Line 93: | ||
## 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 | ||
+ | |||
+ | ``` | ||
+ | </ | ||