Skip to content

Instantly share code, notes, and snippets.

@hare1039
Created January 25, 2021 05:16
Show Gist options
  • Save hare1039/eacd7b5c826755a973ef7323bd0b9146 to your computer and use it in GitHub Desktop.
Save hare1039/eacd7b5c826755a973ef7323bd0b9146 to your computer and use it in GitHub Desktop.
INTERNET_INTERFACE=wlp13s0
LOCAL_INTERFACE=enp15s0
LOCAL_INTERFACE_IP_BASE=192.168.155
LOCAL_INTERFACE_IP="${LOCAL_INTERFACE_IP_BASE}.1"
LOCAL_INTERFACE_MAC=$(cat /sys/class/net/${LOCAL_INTERFACE}/address)
ip link set up dev ${LOCAL_INTERFACE}
ip addr add "${LOCAL_INTERFACE_IP}"/24 dev ${LOCAL_INTERFACE}
mkdir data
cat <<EOF > data/dhcpd.conf
option domain-name-servers 8.8.8.8, 8.8.4.4;
option subnet-mask 255.255.255.0;
option routers ${LOCAL_INTERFACE_IP};
subnet ${LOCAL_INTERFACE_IP_BASE}.0 netmask 255.255.255.0 {
range ${LOCAL_INTERFACE_IP_BASE}.3 ${LOCAL_INTERFACE_IP_BASE}.253;
}
host sister {
hardware ethernet ${LOCAL_INTERFACE_MAC};
ignore booting;
}
EOF
docker run -d --name dhcpd --init --net host -v "$PWD/data":/data networkboot/dhcpd ${LOCAL_INTERFACE}
sysctl -w net.ipv4.ip_forward=1
iptables -I FORWARD 1 -i ${INTERNET_INTERFACE} -o ${LOCAL_INTERFACE} -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD 1 -i ${LOCAL_INTERFACE} -o ${INTERNET_INTERFACE} -j ACCEPT
iptables -t nat -I POSTROUTING 1 -s "${LOCAL_INTERFACE_IP_BASE}.0/24" -o ${INTERNET_INTERFACE} -j MASQUERADE
# sudo route del default gw 192.168.133.193
#iptables-save > /etc/iptables/iptables.rules
#systemctl enable iptables
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment