#!bin/bash

a=1
while a==1
 do
	echo ""
	echo "Enter number"
	echo ""
	echo "1. Hostname"
	echo "2. Calculate the mask"
	echo "3. IP" 
	echo "4. Forward and masquerade"
	echo "5. Reboot"
	echo "6. Account"
	echo "0. Exit"
	echo ""
	read num
	echo ""


	if (( $num == 0 )); then
		break

	elif (( $num == 1 )); then
		echo "______________________Hostname_____________________"
		read -p "Enter name(isp.au-team.irpo): " name
		hostnamectl set-hostname $name
		exec bash
	elif (( $num == 3)); then
		echo "_____________________Enp0s3_______________________"
		read -p "Enter ip or skip for DHCP: " ip_s3
		if [[ -n $ip_s3 ]]; then
			read -p "Enter gateway: " gt_s3
			cat > /etc/NetworkManager/system-connections/enp0s3.nmconnection << EOF
[connection]
id=enp0s3
uuid=$(uuidgen)
type=ethernet
autoconnect-priority=-999
interface-name=enp0s3
timestamp=$(date +%s)

[ethernet]

[ipv4]
address1=$ip_s3
dns=8.8.8.8
gateway=$gt_s3
method=manual

[ipv6]
addr-gen-mode=eui64
method=disabled

[proxy]
EOF
			chmod 600 /etc/NetworkManager/system-connections/enp0s3.nmconnection
			systemctl restart NetworkManager
		fi
		echo ""
		echo "________________________Enp0s8_________________________"
		read -p "Enter ip or skip: " ip_s8
		if [[ -n $ip_s8 ]]; then
			nmcli connection modify enp0s8 ipv4.method manual ipv4.addresses $ip_s8 ipv6.method disabled
			systemctl restart NetworkManager
		fi
		echo ""
		echo "____________________________Enp0s9____________________________"
		read -p "Enter ip or skip: " ip_s9
		if [[ -n $ip_s9 ]]; then
			nmcli connection modify enp0s9 ipv4.method manual ipv4.addresses $ip_s9 ipv6.method disabled
			systemctl restart NetworkManager
		fi
		echo ""
		echo "___________________________Enp0s10___________________________"
		read -p "Enter ip or skip: " ip_s10
		if [[ -n $ip_s10 ]]; then
			nmcli connection modify enp0s10 ipv4.method manual ipv4.addresses $ip_s10 ipv6.method disabled
			systemctl restart NetworkManager
		fi
		systemctl restart NetworkManager

	elif (( $num == 4 )); then
		echo ""
		echo "_____________________________Forward and Masquerade__________________________"
		sysctl net.ipv4.ip_forward=1 >> /etc/sysctl.conf
		systemctl enable --now iptables
		iptables -F
		read -p "Enter ip for Masquerade: " a
		if (( $a == 2 )); then
			if [[ -n $ip_s8 || $ip_s9 ]]; then
				iptables -t nat -A POSTROUTING -s $ip_s8 -o enp0s3 -j MASQUERADE
				iptables -t nat -A POSTROUTING -s $ip_s9 -o enp0s3 -j MASQUERADE
			else
				read -p "Enter ip for enp0s8(192.168.0.0/30): " ip_s8
				read -p "Enter ip for enp0s9(192.168.0.0/30): " ip_s9
				iptables -t nat -A POSTROUTING -s $ip_s8 -o enp0s3 -j MASQUERADE
				iptables -t nat -A POSTROUTING -s $ip_s9 -o enp0s3 -j MASQUERADE
			fi
		elif (( $a == 1)); then
			if [[ -n $ip_s8 ]]; then
				iptables -t nat -A POSTROUTING -s $ip_s8 -o enp0s3 -j MASQUERADE
			else
				read -p "Enter ip for enp0s8: " ip_s8
				iptables -t nat -A POSTROUTING -s $ip_s8 -o enp0s3 -j MASQUERADE
			fi
		fi
		iptables-save --file /etc/sysconfig/iptables


	elif (( $num == 5)); then
		read -p "Reboot?: " r
		if (( $r == n || $r == N)); then
			echo "123"
		else
			reboot
		fi

	elif (( $num == 2)); then
		echo ""
		echo "____________________________Calc____________________________"
		read -p "Enter amount PC: " mask
		mask=$(echo "sqrt($mask)" | bc)
		mask=$((32 - $mask))
		echo $mask
		echo""

	elif (( $num == 6)); then
		echo "________________________Account_________________________"
		read -p "Yes or no?: " acc
		if [[ -n $acc ]]; then
			read -p "Enter name acc: " acc_n
			cat >> /etc/sudoers << EOF
$acc_n ALL=(ALL)NOPASSWD:ALL
EOF
	chmod 600 /etc/sudoers
		fi
	fi
done
