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 | ||
| + | |||
| + | ``` | ||
| </ | </ | ||
| + | |||