firewall.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. #===========================================================================#
  3. # #
  4. # Hestia Control Panel - Firewall Function Library #
  5. # #
  6. #===========================================================================#
  7. heal_iptables_links() {
  8. packages="iptables iptables-save iptables-restore"
  9. for package in $packages; do
  10. if [ ! -e "/sbin/${package}" ]; then
  11. if which ${package}; then
  12. ln -s "$(which ${package})" /sbin/${package}
  13. elif [ -e "/usr/sbin/${package}" ]; then
  14. ln -s /usr/sbin/${package} /sbin/${package}
  15. elif whereis -B /bin /sbin /usr/bin /usr/sbin -f -b ${package}; then
  16. autoiptables=$(whereis -B /bin /sbin /usr/bin /usr/sbin -f -b ${package} | cut -d '' -f 2)
  17. if [ -x "$autoiptables" ]; then
  18. ln -s "$autoiptables" /sbin/${package}
  19. fi
  20. fi
  21. fi
  22. done
  23. }
  24. heal_ip6tables_links() {
  25. packages="ip6tables ip6tables-save ip6tables-restore"
  26. for package in $packages; do
  27. if [ ! -e "/sbin/${package}" ]; then
  28. if which ${package}; then
  29. ln -s "$(which ${package})" /sbin/${package}
  30. elif [ -e "/usr/sbin/${package}" ]; then
  31. ln -s /usr/sbin/${package} /sbin/${package}
  32. elif whereis -B /bin /sbin /usr/bin /usr/sbin -f -b ${package}; then
  33. autoiptables=$(whereis -B /bin /sbin /usr/bin /usr/sbin -f -b ${package} | cut -d '' -f 2)
  34. if [ -x "$autoiptables" ]; then
  35. ln -s "$autoiptables" /sbin/${package}
  36. fi
  37. fi
  38. fi
  39. done
  40. }