|
@@ -327,6 +327,22 @@ WIFI_HOTSPOT_CHANNEL=7
|
327
|
327
|
# Mode such as "g" or "n"
|
328
|
328
|
WIFI_HOTSPOT_MODE="g"
|
329
|
329
|
|
|
330
|
+# Static IP address for wifi hotspot
|
|
331
|
+WIFI_STATIC_IP_ADDRESS="192.168.1.53"
|
|
332
|
+
|
|
333
|
+# Subnet for wifi hotspot
|
|
334
|
+WIFI_SUBNET="192.168.1.0"
|
|
335
|
+
|
|
336
|
+# DHCP range for wifi hotspot
|
|
337
|
+WIFI_IP_RANGE_START="192.168.1.10"
|
|
338
|
+WIFI_IP_RANGE_END="192.168.1.20"
|
|
339
|
+
|
|
340
|
+# Broadcast address for wifi hotspot
|
|
341
|
+WIFI_BROADCAST_ADDRESS="192.168.1.255"
|
|
342
|
+
|
|
343
|
+# Comma separated list of DNS servers for wifi hotspot
|
|
344
|
+WIFI_DNS_SERVERS="213.73.91.35, 85.214.20.141"
|
|
345
|
+
|
330
|
346
|
# message if something fails to install
|
331
|
347
|
CHECK_MESSAGE="Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list."
|
332
|
348
|
|
|
@@ -409,6 +425,24 @@ function read_configuration {
|
409
|
425
|
if grep -q "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE; then
|
410
|
426
|
LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
411
|
427
|
fi
|
|
428
|
+ if grep -q "WIFI_STATIC_IP_ADDRESS" $CONFIGURATION_FILE; then
|
|
429
|
+ WIFI_STATIC_IP_ADDRESS=$(grep "WIFI_STATIC_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
430
|
+ fi
|
|
431
|
+ if grep -q "WIFI_SUBNET" $CONFIGURATION_FILE; then
|
|
432
|
+ WIFI_SUBNET=$(grep "WIFI_SUBNET" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
433
|
+ fi
|
|
434
|
+ if grep -q "WIFI_BROADCAST_ADDRESS" $CONFIGURATION_FILE; then
|
|
435
|
+ WIFI_BROADCAST_ADDRESS=$(grep "WIFI_BROADCAST_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
436
|
+ fi
|
|
437
|
+ if grep -q "WIFI_DNS_SERVERS" $CONFIGURATION_FILE; then
|
|
438
|
+ WIFI_DNS_SERVERS=$(grep "WIFI_DNS_SERVERS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
439
|
+ fi
|
|
440
|
+ if grep -q "WIFI_IP_RANGE_START" $CONFIGURATION_FILE; then
|
|
441
|
+ WIFI_IP_RANGE_START=$(grep "WIFI_IP_RANGE_START" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
442
|
+ fi
|
|
443
|
+ if grep -q "WIFI_IP_RANGE_END" $CONFIGURATION_FILE; then
|
|
444
|
+ WIFI_IP_RANGE_END=$(grep "WIFI_IP_RANGE_END" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
445
|
+ fi
|
412
|
446
|
if grep -q "WIFI_INTERFACE" $CONFIGURATION_FILE; then
|
413
|
447
|
WIFI_INTERFACE=$(grep "WIFI_INTERFACE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
414
|
448
|
fi
|
|
@@ -7160,7 +7194,7 @@ function enable_wifi_hotspot {
|
7160
|
7194
|
echo '# Wifi hotspot' >> /etc/network/interfaces
|
7161
|
7195
|
echo "auto $WIFI_INTERFACE" >> /etc/network/interfaces
|
7162
|
7196
|
echo "iface $WIFI_INTERFACE inet static" >> /etc/network/interfaces
|
7163
|
|
- echo ' address 192.168.4.1' >> /etc/network/interfaces
|
|
7197
|
+ echo " address $WIFI_STATIC_IP_ADDRESS" >> /etc/network/interfaces
|
7164
|
7198
|
echo ' netmask 255.255.255.0' >> /etc/network/interfaces
|
7165
|
7199
|
service networking restart
|
7166
|
7200
|
fi
|
|
@@ -7190,16 +7224,14 @@ function enable_wifi_hotspot {
|
7190
|
7224
|
service hostapd restart
|
7191
|
7225
|
systemctl daemon-reload
|
7192
|
7226
|
|
7193
|
|
- if ! grep -q "net.ipv4.ip_forward=1" /etc/sysctl.conf; then
|
7194
|
|
- echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
|
7195
|
|
- fi
|
7196
|
|
- if grep -q "#net.ipv4.ip_forward=" /etc/sysctl.conf; then
|
7197
|
|
- sed -i 's/#net.ipv4.ip_forward=.*/net.ipv4.ip_forward=1/g' >> /etc/sysctl.conf
|
7198
|
|
- fi
|
7199
|
|
- sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
|
|
7227
|
+ sed -i 's/#net.ipv4.ip_forward/net.ipv4.ip_forward/g' /etc/sysctl.conf
|
|
7228
|
+ sed -i 's/net.ipv4.ip_forward=.*/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
|
|
7229
|
+ echo 1 > /proc/sys/net/ipv4/ip_forward
|
7200
|
7230
|
|
7201
|
|
- iptables -P INPUT ACCEPT
|
7202
|
|
- iptables -F
|
|
7231
|
+ iptables --flush
|
|
7232
|
+ iptables --table nat --flush
|
|
7233
|
+ iptables --delete-chain
|
|
7234
|
+ iptables --table nat --delete-chain
|
7203
|
7235
|
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
7204
|
7236
|
iptables -A FORWARD -i eth0 -o $WIFI_INTERFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
|
7205
|
7237
|
iptables -A FORWARD -i $WIFI_INTERFACE -o eth0 -j ACCEPT
|
|
@@ -7209,15 +7241,15 @@ function enable_wifi_hotspot {
|
7209
|
7241
|
sed -i 's/option domain-name-servers ns1.example.org, ns2.example.org;/#option domain-name-servers ns1.example.org, ns2.example.org;/g' /etc/dhcp/dhcpd.conf
|
7210
|
7242
|
sed -i 's/#authoritative;/authoritative;/g' /etc/dhcp/dhcpd.conf
|
7211
|
7243
|
|
7212
|
|
- if ! grep -q "subnet 192.168.4.0 netmask 255.255.255.0" /etc/dhcp/dhcpd.conf; then
|
7213
|
|
- echo 'subnet 192.168.4.0 netmask 255.255.255.0 {' >> /etc/dhcp/dhcpd.conf
|
7214
|
|
- echo ' range 192.168.4.2 192.168.4.10;' >> /etc/dhcp/dhcpd.conf
|
7215
|
|
- echo ' option broadcast-address 192.168.4.255;' >> /etc/dhcp/dhcpd.conf
|
|
7244
|
+ if ! grep -q "subnet $WIFI_SUBNET netmask 255.255.255.0" /etc/dhcp/dhcpd.conf; then
|
|
7245
|
+ echo "subnet $WIFI_SUBNET netmask 255.255.255.0 {" >> /etc/dhcp/dhcpd.conf
|
|
7246
|
+ echo " range $WIFI_IP_RANGE_START $WIFI_IP_RANGE_END;" >> /etc/dhcp/dhcpd.conf
|
|
7247
|
+ echo " option broadcast-address $WIFI_BROADCAST_ADDRESS;" >> /etc/dhcp/dhcpd.conf
|
7216
|
7248
|
echo " option routers $ROUTER_IP_ADDRESS;" >> /etc/dhcp/dhcpd.conf
|
7217
|
7249
|
echo ' default-lease-time 600;' >> /etc/dhcp/dhcpd.conf
|
7218
|
7250
|
echo ' max-lease-time 7200;' >> /etc/dhcp/dhcpd.conf
|
7219
|
7251
|
echo ' option domain-name "local";' >> /etc/dhcp/dhcpd.conf
|
7220
|
|
- echo ' option domain-name-servers 8.8.8.8, 8.8.4.4;' >> /etc/dhcp/dhcpd.conf
|
|
7252
|
+ echo " option domain-name-servers $WIFI_DNS_SERVERS;" >> /etc/dhcp/dhcpd.conf
|
7221
|
7253
|
echo '}' >> /etc/dhcp/dhcpd.conf
|
7222
|
7254
|
fi
|
7223
|
7255
|
|