mirror of
				https://github.com/angristan/openvpn-install.git
				synced 2025-11-04 16:07:36 +01:00 
			
		
		
		
	Add custom IP range
This commit is contained in:
		@@ -104,8 +104,8 @@ function installUnbound () {
 | 
			
		||||
			apt-get install -y unbound
 | 
			
		||||
 | 
			
		||||
			# Configuration
 | 
			
		||||
			echo 'interface: 10.8.0.1
 | 
			
		||||
access-control: 10.8.0.1/24 allow
 | 
			
		||||
			echo 'interface: ${VAR: : -1}1
 | 
			
		||||
access-control: ${VAR: : -1}1/24 allow
 | 
			
		||||
hide-identity: yes
 | 
			
		||||
hide-version: yes
 | 
			
		||||
use-caps-for-id: yes
 | 
			
		||||
@@ -115,8 +115,8 @@ prefetch: yes' >> /etc/unbound/unbound.conf
 | 
			
		||||
			yum install -y unbound
 | 
			
		||||
 | 
			
		||||
			# Configuration
 | 
			
		||||
			sed -i 's|# interface: 0.0.0.0$|interface: 10.8.0.1|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# access-control: 127.0.0.0/8 allow|access-control: 10.8.0.1/24 allow|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# interface: 0.0.0.0$|interface: ${VAR: : -1}1|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# access-control: 127.0.0.0/8 allow|access-control: ${VAR: : -1}1/24 allow|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# hide-identity: no|hide-identity: yes|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# hide-version: no|hide-version: yes|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|use-caps-for-id: no|use-caps-for-id: yes|' /etc/unbound/unbound.conf
 | 
			
		||||
@@ -125,8 +125,8 @@ prefetch: yes' >> /etc/unbound/unbound.conf
 | 
			
		||||
			dnf install -y unbound
 | 
			
		||||
 | 
			
		||||
			# Configuration
 | 
			
		||||
			sed -i 's|# interface: 0.0.0.0$|interface: 10.8.0.1|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# access-control: 127.0.0.0/8 allow|access-control: 10.8.0.1/24 allow|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# interface: 0.0.0.0$|interface: ${VAR: : -1}1|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# access-control: 127.0.0.0/8 allow|access-control: ${VAR: : -1}1/24 allow|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# hide-identity: no|hide-identity: yes|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# hide-version: no|hide-version: yes|' /etc/unbound/unbound.conf
 | 
			
		||||
			sed -i 's|# use-caps-for-id: no|use-caps-for-id: yes|' /etc/unbound/unbound.conf
 | 
			
		||||
@@ -146,8 +146,8 @@ prefetch: yes' >> /etc/unbound/unbound.conf
 | 
			
		||||
	directory: "/etc/unbound"
 | 
			
		||||
	trust-anchor-file: trusted-key.key
 | 
			
		||||
	root-hints: root.hints
 | 
			
		||||
	interface: 10.8.0.1
 | 
			
		||||
	access-control: 10.8.0.1/24 allow
 | 
			
		||||
	interface: ${VAR: : -1}1
 | 
			
		||||
	access-control: ${VAR: : -1}1/24 allow
 | 
			
		||||
	port: 53
 | 
			
		||||
	num-threads: 2
 | 
			
		||||
	use-caps-for-id: yes
 | 
			
		||||
@@ -174,8 +174,8 @@ private-address: ::ffff:0:0/96" >> /etc/unbound/unbound.conf
 | 
			
		||||
 | 
			
		||||
		# Add Unbound 'server' for the OpenVPN subnet
 | 
			
		||||
		echo 'server:
 | 
			
		||||
interface: 10.8.0.1
 | 
			
		||||
access-control: 10.8.0.1/24 allow
 | 
			
		||||
interface: ${VAR: : -1}1
 | 
			
		||||
access-control: ${VAR: : -1}1/24 allow
 | 
			
		||||
hide-identity: yes
 | 
			
		||||
hide-version: yes
 | 
			
		||||
use-caps-for-id: yes
 | 
			
		||||
@@ -243,6 +243,23 @@ function installQuestions () {
 | 
			
		||||
		read -rp "Do you want to enable IPv6 support (NAT)? [y/n]: " -e -i $SUGGESTION IPV6_SUPPORT
 | 
			
		||||
	done
 | 
			
		||||
	echo ""
 | 
			
		||||
	echo "What IP range settings do you want OpenVPN to use?"
 | 
			
		||||
	echo "   1) Default: 10.8.0.0"
 | 
			
		||||
	echo "   2) Custom"
 | 
			
		||||
	until [[ "$IP_CHOICE" =~ ^[1-2]$ ]]; do
 | 
			
		||||
		read -rp "IP choice [1-2]: " -e -i 1 IP_CHOICE
 | 
			
		||||
	done
 | 
			
		||||
	case $IP_CHOICE in
 | 
			
		||||
		1)
 | 
			
		||||
			IP_RANGE="10.8.0.0"
 | 
			
		||||
		;;
 | 
			
		||||
		2)
 | 
			
		||||
			until [[ "$IP_RANGE" =~ ^([0-9]{1,3}\.){3}0$ ]]; do
 | 
			
		||||
				read -rp "Custom IP [x.x.x.0]: " -e -i 10.8.0.0 IP_RANGE
 | 
			
		||||
			done
 | 
			
		||||
		;;
 | 
			
		||||
	esac
 | 
			
		||||
	echo ""
 | 
			
		||||
	echo "What port do you want OpenVPN to listen to?"
 | 
			
		||||
	echo "   1) Default: 1194"
 | 
			
		||||
	echo "   2) Custom"
 | 
			
		||||
@@ -586,6 +603,7 @@ function installOpenVPN () {
 | 
			
		||||
		APPROVE_INSTALL=${APPROVE_INSTALL:-y}
 | 
			
		||||
		APPROVE_IP=${APPROVE_IP:-y}
 | 
			
		||||
		IPV6_SUPPORT=${IPV6_SUPPORT:-n}
 | 
			
		||||
		IP_CHOICE=${IP_CHOICE:-1}
 | 
			
		||||
		PORT_CHOICE=${PORT_CHOICE:-1}
 | 
			
		||||
		PROTOCOL_CHOICE=${PROTOCOL_CHOICE:-1}
 | 
			
		||||
		DNS=${DNS:-1}
 | 
			
		||||
@@ -723,7 +741,7 @@ persist-key
 | 
			
		||||
persist-tun
 | 
			
		||||
keepalive 10 120
 | 
			
		||||
topology subnet
 | 
			
		||||
server 10.8.0.0 255.255.255.0
 | 
			
		||||
server $IP_RANGE 255.255.255.0
 | 
			
		||||
ifconfig-pool-persist ipp.txt" >> /etc/openvpn/server.conf
 | 
			
		||||
 | 
			
		||||
	# DNS resolvers
 | 
			
		||||
@@ -742,7 +760,7 @@ ifconfig-pool-persist ipp.txt" >> /etc/openvpn/server.conf
 | 
			
		||||
			done
 | 
			
		||||
		;;
 | 
			
		||||
		2)
 | 
			
		||||
			echo 'push "dhcp-option DNS 10.8.0.1"' >> /etc/openvpn/server.conf
 | 
			
		||||
			echo 'push "dhcp-option DNS ${VAR: : -1}1"' >> /etc/openvpn/server.conf
 | 
			
		||||
		;;
 | 
			
		||||
		3) # Cloudflare
 | 
			
		||||
			echo 'push "dhcp-option DNS 1.0.0.1"' >> /etc/openvpn/server.conf
 | 
			
		||||
@@ -896,7 +914,7 @@ verb 3" >> /etc/openvpn/server.conf
 | 
			
		||||
 | 
			
		||||
	# Script to add rules
 | 
			
		||||
	echo "#!/bin/sh
 | 
			
		||||
iptables -t nat -I POSTROUTING 1 -s 10.8.0.0/24 -o $NIC -j MASQUERADE
 | 
			
		||||
iptables -t nat -I POSTROUTING 1 -s $IP_RANGE/24 -o $NIC -j MASQUERADE
 | 
			
		||||
iptables -I INPUT 1 -i tun0 -j ACCEPT
 | 
			
		||||
iptables -I FORWARD 1 -i $NIC -o tun0 -j ACCEPT
 | 
			
		||||
iptables -I FORWARD 1 -i tun0 -o $NIC -j ACCEPT
 | 
			
		||||
@@ -911,7 +929,7 @@ ip6tables -I FORWARD 1 -i tun0 -o $NIC -j ACCEPT" >> /etc/iptables/add-openvpn-r
 | 
			
		||||
 | 
			
		||||
	# Script to remove rules
 | 
			
		||||
	echo "#!/bin/sh
 | 
			
		||||
iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o $NIC -j MASQUERADE
 | 
			
		||||
iptables -t nat -D POSTROUTING -s #IP_RANGE/24 -o $NIC -j MASQUERADE
 | 
			
		||||
iptables -D INPUT -i tun0 -j ACCEPT
 | 
			
		||||
iptables -D FORWARD -i $NIC -o tun0 -j ACCEPT
 | 
			
		||||
iptables -D FORWARD -i tun0 -o $NIC -j ACCEPT
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user