mirror of https://github.com/wg-easy/wg-easy
9 changed files with 178 additions and 18 deletions
@ -1,31 +1,29 @@ |
|||
'use strict'; |
|||
|
|||
const { release } = require('./package.json'); |
|||
const path = require('path'); |
|||
const dirFullPath = path.resolve(__dirname); |
|||
|
|||
module.exports.RELEASE = release; |
|||
module.exports.PORT = process.env.PORT || 51821; |
|||
module.exports.WEBUI_HOST = process.env.WEBUI_HOST || '0.0.0.0'; |
|||
module.exports.PASSWORD = process.env.PASSWORD; |
|||
module.exports.PASSWORD = process.env.PASSWORD || ''; |
|||
module.exports.WG_PATH = process.env.WG_PATH || '/etc/wireguard/'; |
|||
module.exports.WG_DEVICE = process.env.WG_DEVICE || 'eth0'; |
|||
module.exports.WG_HOST = process.env.WG_HOST; |
|||
module.exports.WG_PORT = process.env.WG_PORT || 51820; |
|||
module.exports.WG_MTU = process.env.WG_MTU || null; |
|||
module.exports.WG_PERSISTENT_KEEPALIVE = process.env.WG_PERSISTENT_KEEPALIVE || 0; |
|||
module.exports.WG_DEFAULT_ADDRESS = process.env.WG_DEFAULT_ADDRESS || '10.8.0.x'; |
|||
module.exports.WG_DEVICE = process.env.WG_DEVICE || 'ens3'; |
|||
module.exports.WG_HOST = process.env.WG_HOST || 'oracle-test.duckdns.org'; |
|||
module.exports.WG_PORT = 51820; |
|||
module.exports.WG_MTU = process.env.WG_MTU || 1412; |
|||
module.exports.WG_PERSISTENT_KEEPALIVE = process.env.WG_PERSISTENT_KEEPALIVE || 25; |
|||
module.exports.WG_DEFAULT_ADDRESS = process.env.WG_DEFAULT_ADDRESS || '10.250.1.x'; |
|||
module.exports.WG_DEFAULT_DNS = typeof process.env.WG_DEFAULT_DNS === 'string' |
|||
? process.env.WG_DEFAULT_DNS |
|||
: '1.1.1.1'; |
|||
module.exports.WG_ALLOWED_IPS = process.env.WG_ALLOWED_IPS || '0.0.0.0/0, ::/0'; |
|||
: '10.250.0.2'; |
|||
module.exports.WG_ALLOWED_IPS = process.env.WG_ALLOWED_IPS || '10.250.0.0/22, 10.254.1.0/24'; |
|||
|
|||
module.exports.WG_PRE_UP = process.env.WG_PRE_UP || ''; |
|||
module.exports.WG_POST_UP = process.env.WG_POST_UP || ` |
|||
iptables -t nat -A POSTROUTING -s ${module.exports.WG_DEFAULT_ADDRESS.replace('x', '0')}/24 -o ${module.exports.WG_DEVICE} -j MASQUERADE; |
|||
iptables -A INPUT -p udp -m udp --dport 51820 -j ACCEPT; |
|||
iptables -A FORWARD -i wg0 -j ACCEPT; |
|||
iptables -A FORWARD -o wg0 -j ACCEPT; |
|||
`.split('\n').join(' ');
|
|||
// module.exports.WG_POST_UP = '/app/wg0-post-up.sh';
|
|||
module.exports.WG_POST_UP = path.resolve(__dirname, './wgsh/wg0-post-up.sh'); |
|||
|
|||
module.exports.WG_PRE_DOWN = process.env.WG_PRE_DOWN || ''; |
|||
module.exports.WG_POST_DOWN = process.env.WG_POST_DOWN || ''; |
|||
module.exports.WG_PRE_DOWN = path.resolve(__dirname, './wgsh/wg0-pre-down.sh'); |
|||
module.exports.WG_POST_DOWN = process.env.WG_PRE_DOWN || ''; |
|||
module.exports.LANG = process.env.LANG || 'en'; |
|||
|
|||
@ -0,0 +1,9 @@ |
|||
const path = require('path'); |
|||
|
|||
// Relative path to the file
|
|||
const relativePath = './app/wg0-post-up.sh'; |
|||
|
|||
// Resolve the full path
|
|||
const fullPath = path.resolve(__dirname, relativePath); |
|||
|
|||
console.log('Full path of ./app/wg0-post-up.sh:', fullPath); |
|||
@ -0,0 +1,25 @@ |
|||
#!/bin/bash |
|||
set +e |
|||
|
|||
IPT="/sbin/iptables" |
|||
|
|||
IN_FACE="ens3" # NIC connected to the internet |
|||
WG_FACE="wg1" # WG NIC |
|||
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR |
|||
WG_PORT="51820" # WG udp port |
|||
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net |
|||
|
|||
# IPv4 rules # |
|||
$IPT -t nat -D POSTROUTING -s 0.0.0.0/1 -o $IN_FACE -j MASQUERADE |
|||
$IPT -D FORWARD -i $WG_FACE -j ACCEPT |
|||
$IPT -D FORWARD -o $WG_FACE -j ACCEPT |
|||
|
|||
# $IPT -D OUTPUT -o $WG_FACE -j ACCEPT |
|||
# $IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT |
|||
# $IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT |
|||
# $IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT |
|||
|
|||
ip route del 10.250.1.0/24 via 10.250.1.1 dev wg0 table wg priority 1 |
|||
ip route del 10.254.1.0/24 via 10.254.1.1 dev ens3 table wg priority 2 |
|||
|
|||
set -e |
|||
@ -0,0 +1,15 @@ |
|||
#!/bin/bash |
|||
set +e |
|||
|
|||
IPT="/sbin/iptables" |
|||
|
|||
IN_FACE="ens3" # NIC connected to the internet |
|||
WG_FACE="wg1" # WG NIC |
|||
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR |
|||
WG_PORT="51820" # WG udp port |
|||
|
|||
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $WG_FACE -j MASQUERADE |
|||
$IPT -I FORWARD 1 -i $WG_FACE -o wg0 -j ACCEPT #for internet |
|||
$IPT -I FORWARD 1 -i wg0 -o $WG_FACE -j ACCEPT #for internet |
|||
wg set wg0 fwmark 51820 |
|||
set -e |
|||
@ -0,0 +1,28 @@ |
|||
#!/bin/bash |
|||
set +e |
|||
|
|||
IPT="/sbin/iptables" |
|||
|
|||
IN_FACE="ens3" # NIC connected to the internet |
|||
WG_FACE="wg1" # WG NIC |
|||
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR |
|||
WG_PORT="51820" # WG udp port |
|||
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net |
|||
|
|||
# IPv4 rules # |
|||
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $WG_FACE -j MASQUERADE |
|||
$IPT -D FORWARD -i $WG_FACE -o wg0 -j ACCEPT #for internet |
|||
$IPT -D FORWARD -i wg0 -o $WG_FACE -j ACCEPT #for internet |
|||
|
|||
# $IPT -t nat -D POSTROUTING -s 0.0.0.0/1 -o $IN_FACE -j MASQUERADE |
|||
# $IPT -D OUTPUT -o $WG_FACE -j ACCEPT |
|||
# $IPT -D FORWARD -i $WG_FACE -j ACCEPT |
|||
# $IPT -D FORWARD -o $WG_FACE -j ACCEPT |
|||
# $IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT |
|||
# $IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT |
|||
# $IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT |
|||
|
|||
# ip route del 10.250.1.0/24 via 10.250.1.1 dev wg0 table wg priority 1 |
|||
# ip route del 10.254.1.0/24 via 10.254.1.1 dev ens3 table wg priority 2 |
|||
|
|||
set -e |
|||
@ -0,0 +1,24 @@ |
|||
#!/bin/bash |
|||
set +e |
|||
|
|||
IPT="/sbin/iptables" |
|||
IPT6="/sbin/ip6tables" |
|||
|
|||
IN_FACE="ens3" # NIC connected to the internet |
|||
WG_FACE="wg0" # WG NIC |
|||
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR |
|||
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net |
|||
|
|||
# IPv4 rules # |
|||
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $IN_FACE -j MASQUERADE |
|||
$IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT |
|||
$IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT |
|||
# ip rule del from all lookup $WG_TABLE pref 10 |
|||
|
|||
# IPv6 rules (uncomment) # |
|||
# $IPT6 -t nat -D POSTROUTING -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE |
|||
# $IPT6 -D INPUT -i $WG_FACE -j ACCEPT |
|||
# $IPT6 -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT |
|||
# $IPT6 -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT |
|||
|
|||
set -e |
|||
@ -0,0 +1,27 @@ |
|||
#!/bin/bash |
|||
set +e |
|||
|
|||
IPT="/sbin/iptables" |
|||
IPT6="/sbin/ip6tables" |
|||
|
|||
IN_FACE="ens3" # NIC connected to the internet |
|||
WG_FACE="wg0" # WG NIC |
|||
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR |
|||
#SUB_NET_6="fd42:42:42::/64" # WG IPv6 sub/net |
|||
WG_PORT="61820" # WG udp port |
|||
WG_TABLE='10' |
|||
|
|||
# IPv4 rules # |
|||
$IPT -t nat -D POSTROUTING -s $SUB_NET -o $IN_FACE -j MASQUERADE |
|||
$IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT |
|||
$IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT |
|||
$IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT |
|||
ip rule del from all lookup $WG_TABLE pref 10 |
|||
|
|||
# IPv6 rules (uncomment) # |
|||
# $IPT6 -t nat -D POSTROUTING -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE |
|||
# $IPT6 -D INPUT -i $WG_FACE -j ACCEPT |
|||
# $IPT6 -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT |
|||
# $IPT6 -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT |
|||
|
|||
set -e |
|||
@ -0,0 +1,29 @@ |
|||
#!/bin/bash |
|||
set +e |
|||
|
|||
IPT="/sbin/iptables" |
|||
IPT6="/sbin/ip6tables" |
|||
|
|||
IN_FACE="ens3" # NIC connected to the internet |
|||
WG_FACE="wg0" # WG NIC |
|||
SUB_NET="10.250.1.0/24" # WG IPv4 sub/net aka CIDR |
|||
# SUB_NET_6="" # Change this according |
|||
WG_PORT="51820" # WG udp port |
|||
WG_TABLE='10' |
|||
|
|||
## IPv4 ## working with single tunnel |
|||
$IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE |
|||
$IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT #for internet |
|||
$IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT #for internet |
|||
$IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT # for incoming connection |
|||
$IPT -I INPUT 1 -i $IN_FACE -p tcp --dport 51821 -j ACCEPT |
|||
# $IPT -I INPUT 1 -i $WG_FACE -p tcp --dport 51821 -j ACCEPT |
|||
wg set wg0 fwmark 51820 |
|||
|
|||
## IPv6 (Uncomment) ## |
|||
# $IPT6 -t nat -I POSTROUTING 1 -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE |
|||
# $IPT6 -I INPUT 1 -i $WG_FACE -j ACCEPT |
|||
# $IPT6 -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT |
|||
# $IPT6 -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT |
|||
|
|||
set -e |
|||
Loading…
Reference in new issue