Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Share Wifi with Eth device
- #
- #
- # This script is created to work with Raspbian Stretch
- # but it can be used with most of the distributions
- # by making few changes.
- #
- # Make sure you have already installed `dnsmasq`
- # Please modify the variables according to your need
- # Don't forget to change the name of network interface
- # Check them with `ifconfig`
- #credit: https://github.com/arpitjindal97/raspbian-recipes/tree/master
- ip_address_and_network_mask_in_CDIR_notation="192.168.2.1/24"
- dhcp_range_start="192.168.2.2"
- dhcp_range_end="192.168.2.100"
- dhcp_time="12h"
- dns_server="1.1.1.1"
- eth="eth0"
- wlan="wlan0"
- sudo systemctl start network-online.target &> /dev/null
- sudo iptables -F
- sudo iptables -t nat -F
- sudo iptables -t nat -A POSTROUTING -o $wlan -j MASQUERADE
- sudo iptables -A FORWARD -i $wlan -o $eth -m state --state RELATED,ESTABLISHED -j ACCEPT
- sudo iptables -A FORWARD -i $eth -o $wlan -j ACCEPT
- sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
- sudo ip link set $eth down
- sudo ip link set $eth up
- sudo ip addr add $ip_address_and_network_mask_in_CDIR_notation dev $eth
- # Remove default route created by dhcpcd
- sudo ip route del 0/0 dev $eth &> /dev/null
- sudo systemctl stop dnsmasq
- sudo rm -rf /etc/dnsmasq.d/* &> /dev/null
- echo -e "interface=$eth
- bind-interfaces
- server=$dns_server
- domain-needed
- bogus-priv
- dhcp-range=$dhcp_range_start,$dhcp_range_end,$dhcp_time" > /tmp/custom-dnsmasq.conf
- sudo cp /tmp/custom-dnsmasq.conf /etc/dnsmasq.d/custom-dnsmasq.conf
- sudo systemctl start dnsmasq
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement