Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. script-security 2
  2. up /etc/openvpn/update-resolv-conf
  3. down /etc/openvpn/update-resolv-conf
  4. #!/bin/bash
  5. #
  6. # Parses DHCP options from openvpn to update resolv.conf
  7. # To use set as 'up' and 'down' script in your openvpn .conf:
  8. # up /etc/openvpn/update-resolv-conf
  9. # down /etc/openvpn/update-resolv-conf
  10. #
  11. # Used snippets of resolvconf script by Thomas Hood and Chris Hanson.
  12. # Licensed under the GNU GPL. See /usr/share/common-licenses/GPL.
  13. #
  14. # Example envs set from openvpn:
  15. #
  16. # foreign_option_1='dhcp-option DNS 193.43.27.132'
  17. # foreign_option_2='dhcp-option DNS 193.43.27.133'
  18. # foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
  19. #
  20.  
  21. [ -x /sbin/resolvconf ] || exit 0
  22. [ "$script_type" ] || exit 0
  23. [ "$dev" ] || exit 0
  24.  
  25. split_into_parts()
  26. {
  27. part1="$1"
  28. part2="$2"
  29. part3="$3"
  30. }
  31.  
  32. case "$script_type" in
  33. up)
  34. NMSRVRS=""
  35. SRCHS=""
  36. for optionvarname in ${!foreignoption} ; do
  37. option="${!optionvarname}"
  38. echo "$option"
  39. split_into_parts $option
  40. if [ "$part1" = "dhcp-option" ] ; then
  41. if [ "$part2" = "DNS" ] ; then
  42. NMSRVRS="${NMSRVRS:+$NMSRVRS }$part3"
  43. elif [ "$part2" = "DOMAIN" ] ; then
  44. SRCHS="${SRCHS:+$SRCHS }$part3"
  45. fi
  46. fi
  47. done
  48. R=""
  49. [ "$SRCHS" ] && R="search $SRCHS
  50. "
  51. for NS in $NMSRVRS ; do
  52. R="${R}nameserver $NS
  53. "
  54. done
  55. echo -n "$R" | /sbin/resolvconf -a "${dev}.openvpn"
  56. ;;
  57. down)
  58. /sbin/resolvconf -d "${dev}.openvpn"
  59. ;;
  60. screen
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement