mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-10 08:17:53 +08:00
113 lines
3.3 KiB
Bash
Executable File
113 lines
3.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if ! uci -q get openvpn.myvpn >/dev/null; then
|
|
uci -q batch <<-EOF >/dev/null
|
|
set openvpn.myvpn=openvpn
|
|
set openvpn.myvpn.enabled='0'
|
|
set openvpn.myvpn.proto='tcp4'
|
|
set openvpn.myvpn.dev='tun'
|
|
set openvpn.myvpn.topology='subnet'
|
|
set openvpn.myvpn.server='10.8.0.0 255.255.255.0'
|
|
set openvpn.myvpn.comp_lzo='adaptive'
|
|
set openvpn.myvpn.ca='/etc/openvpn/pki/ca.crt'
|
|
set openvpn.myvpn.dh='/etc/openvpn/pki/dh.pem'
|
|
set openvpn.myvpn.cert='/etc/openvpn/pki/server.crt'
|
|
set openvpn.myvpn.key='/etc/openvpn/pki/server.key'
|
|
set openvpn.myvpn.persist_key='1'
|
|
set openvpn.myvpn.persist_tun='1'
|
|
set openvpn.myvpn.max_clients='88'
|
|
set openvpn.myvpn.keepalive='10 120'
|
|
set openvpn.myvpn.verb='3'
|
|
set openvpn.myvpn.status='/var/log/openvpn_status.log'
|
|
set openvpn.myvpn.log='/tmp/openvpn.log'
|
|
set openvpn.myvpn.port='1194'
|
|
set openvpn.myvpn.ddns='myserver.f3322.net'
|
|
set openvpn.myvpn.auth_user_pass_verify='/etc/openvpn/server/checkpsw.sh via-env'
|
|
set openvpn.myvpn.script_security='3'
|
|
add_list openvpn.myvpn.push='route 192.168.9.0 255.255.255.0'
|
|
add_list openvpn.myvpn.push='comp-lzo adaptive'
|
|
add_list openvpn.myvpn.push='redirect-gateway def1 bypass-dhcp'
|
|
add_list openvpn.myvpn.push='dhcp-option DNS 192.168.9.1'
|
|
commit openvpn
|
|
EOF
|
|
fi
|
|
|
|
if ! uci -q get openvpn.client1 >/dev/null; then
|
|
uci -q batch <<-EOF >/dev/null
|
|
set openvpn.client1=openvpn
|
|
set openvpn.client1.enabled='0'
|
|
set openvpn.client1.config='/etc/openvpn/client1.conf'
|
|
commit openvpn
|
|
EOF
|
|
fi
|
|
|
|
if ! uci -q get openvpn.client2 >/dev/null; then
|
|
uci -q batch <<-EOF >/dev/null
|
|
set openvpn.client2=openvpn
|
|
set openvpn.client2.enabled='0'
|
|
set openvpn.client2.config='/etc/openvpn/client2.conf'
|
|
commit openvpn
|
|
EOF
|
|
fi
|
|
|
|
if ! uci -q get openvpn.pwd1 >/dev/null; then
|
|
uci -q batch <<-EOF >/dev/null
|
|
set openvpn.pwd1=openvpnpassword
|
|
set openvpn.pwd1.pwdfile='/etc/openvpn/pass.txt'
|
|
commit openvpn
|
|
EOF
|
|
fi
|
|
|
|
if ! uci -q get openvpn.pwd2 >/dev/null; then
|
|
uci -q batch <<-EOF >/dev/null
|
|
set openvpn.pwd2=openvpnpassword
|
|
set openvpn.pwd2.pwdfile='/etc/openvpn/pass2.txt'
|
|
commit openvpn
|
|
EOF
|
|
fi
|
|
|
|
openvpn_port="$(uci -q get openvpn.myvpn.port)"
|
|
[ -z "$openvpn_port" ] && openvpn_port=1194
|
|
|
|
uci -q batch <<-EOF >/dev/null
|
|
delete network.vpn0
|
|
set network.vpn0=interface
|
|
set network.vpn0.device='tun0'
|
|
set network.vpn0.proto='none'
|
|
|
|
commit network
|
|
delete firewall.openvpn
|
|
set firewall.openvpn=rule
|
|
set firewall.openvpn.name='openvpn'
|
|
set firewall.openvpn.target='ACCEPT'
|
|
set firewall.openvpn.src='wan'
|
|
set firewall.openvpn.proto='tcp udp'
|
|
set firewall.openvpn.dest_port="$openvpn_port"
|
|
delete firewall.vpn
|
|
set firewall.vpn=zone
|
|
set firewall.vpn.name='vpn'
|
|
set firewall.vpn.input='ACCEPT'
|
|
set firewall.vpn.forward='ACCEPT'
|
|
set firewall.vpn.output='ACCEPT'
|
|
set firewall.vpn.masq='1'
|
|
set firewall.vpn.network='vpn0'
|
|
delete firewall.vpntowan
|
|
set firewall.vpntowan=forwarding
|
|
set firewall.vpntowan.src='vpn'
|
|
set firewall.vpntowan.dest='wan'
|
|
delete firewall.vpntolan
|
|
set firewall.vpntolan=forwarding
|
|
set firewall.vpntolan.src='vpn'
|
|
set firewall.vpntolan.dest='lan'
|
|
delete firewall.lantovpn
|
|
set firewall.lantovpn=forwarding
|
|
set firewall.lantovpn.src='lan'
|
|
set firewall.lantovpn.dest='vpn'
|
|
commit firewall
|
|
EOF
|
|
|
|
chmod 0777 /etc/openvpn/server/checkpsw.sh
|
|
|
|
rm -f /tmp/luci-indexcache
|
|
exit 0
|