code.fastix.org

Dateiansicht:

Datei:Projekte -> Linux:Netzwerk für Seminare -> Router_Server -> root -> bin -> start_seminarnet
md5:951fe8c1fb80927ad76f55bc4acc0e6f
sha1:b75000e8408189734ee167ca2edc48330bbf65a2
  1. #!/bin/bash
  2.  
  3. source "$(dirname $0)/seminarnet.settings";
  4.  
  5. devices=$(ip -o link show | grep -P '[0-9]: en' | cut -d ' ' -f2 | tr -d ':');
  6.  
  7. ipPattern=$(echo "inet ${ip}" | sed -e 's/\./\\./g');
  8.  
  9. for device in $devices; do
  10.         #echo "ip -o address show dev ${device}";
  11.         c=$(ip -o address show dev ${device} | grep -P "${ipPattern}" | wc -l);
  12.         if [ "1" = "${c}" ]; then
  13.                 echo "Die IP-Adresse ${ip} ist schon an das Gerät '${device}' vergeben.";
  14.                 exit;
  15.         fi
  16. done
  17.  
  18. ip link set ${localnetDev} up
  19. ip address add ${ip}/${netmask} dev ${localnetDev};
  20.  
  21. systemctl start isc-dhcp-server;
  22. #dnsproxy -dc /etc/dnsproxy.conf &
  23. systemctl start privoxy;
  24. systemctl start squid;
  25. sysctl -w net.ipv4.ip_forward=1 > /dev/null;
  26. iptables -A FORWARD -o ${internetDev} -i ${localnetDev} -s ${net}/${netmask} -m conntrack --ctstate NEW -j ACCEPT;
  27. iptables -A FORWARD -i ${internetDev} -o ${localnetDev} -s 0.0.0.0/0 -m conntrack --ctstate NEW -j ACCEPT;
  28. iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT;
  29. iptables -t nat -A POSTROUTING -o ${internetDev} -j MASQUERADE;
  30. echo "Das Testnetz wurde auf dem Gerät '${localnetDev}' mit der Adresse '${net}/${netmask}' gestartet. DNS, Router und Proxy ist '${ip}'";
  31.