diff --git a/plist b/plist index 55e1eb9ef..7e5020fec 100644 --- a/plist +++ b/plist @@ -1724,6 +1724,7 @@ /usr/local/opnsense/www/themes/opnsense/build/images/icon-logo.svg /usr/local/sbin/carp_service_status /usr/local/sbin/configctl +/usr/local/sbin/ifctl /usr/local/sbin/opnsense-beep /usr/local/sbin/opnsense-importer /usr/local/sbin/opnsense-installer diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index be670609c..105299733 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -2780,15 +2780,15 @@ REQUEST) for NAMESERVER in \${new_domain_name_servers}; do ARGS="\${ARGS} -a \${NAMESERVER}" done - /usr/local/opnsense/scripts/interfaces/nameserver.sh \${ARGS} + /usr/local/sbin/ifctl \${ARGS} ARGS="-i ${wanif} -6sd \${new_domain_name:+"-a \${new_domain_name}"}" - /usr/local/opnsense/scripts/interfaces/nameserver.sh \${ARGS} + /usr/local/sbin/ifctl \${ARGS} /usr/local/sbin/configctl -d interface newipv6 {$wanif} ;; EXIT|RELEASE) /usr/bin/logger -t dhcp6c "dhcp6c \$REASON on {$wanif} - running newipv6" - /usr/local/opnsense/scripts/interfaces/nameserver.sh -i ${wanif} -6nd - /usr/local/opnsense/scripts/interfaces/nameserver.sh -i ${wanif} -6sd + /usr/local/sbin/ifctl -i ${wanif} -6nd + /usr/local/sbin/ifctl -i ${wanif} -6sd rm -f /tmp/{$wanif}_pdinfov6 /usr/local/sbin/configctl -d interface newipv6 {$wanif} ;; diff --git a/src/opnsense/scripts/interfaces/dhclient-script b/src/opnsense/scripts/interfaces/dhclient-script index 3ec861920..87e843cb2 100755 --- a/src/opnsense/scripts/interfaces/dhclient-script +++ b/src/opnsense/scripts/interfaces/dhclient-script @@ -220,11 +220,11 @@ add_new_resolv_conf() { ARGS="${ARGS} -a ${nameserver}" done - /usr/local/opnsense/scripts/interfaces/nameserver.sh ${ARGS} + /usr/local/sbin/ifctl ${ARGS} ARGS="-i ${interface} -4sd ${new_domain_name:+"-a ${new_domain_name}"}" - /usr/local/opnsense/scripts/interfaces/nameserver.sh ${ARGS} + /usr/local/sbin/ifctl ${ARGS} return 0 } diff --git a/src/opnsense/scripts/interfaces/nameserver.sh b/src/opnsense/scripts/interfaces/nameserver.sh index fc3d2c4ed..e75e879fe 100755 --- a/src/opnsense/scripts/interfaces/nameserver.sh +++ b/src/opnsense/scripts/interfaces/nameserver.sh @@ -76,14 +76,14 @@ while getopts 46a:di:ns OPT; do MD="searchdomain" ;; *) - echo "Unknown option: ${OPT}" >&2 + echo "Usage: man ${0##*/}" >&2 exit 1 ;; esac done if [ -z "${IF}" ]; then - echo "Missing option: -i" >&2 + echo "Usage: man ${0##*/}" >&2 exit 1 fi diff --git a/src/opnsense/scripts/interfaces/ppp-linkdown.sh b/src/opnsense/scripts/interfaces/ppp-linkdown.sh index 3ba160cf2..4f804fd4c 100755 --- a/src/opnsense/scripts/interfaces/ppp-linkdown.sh +++ b/src/opnsense/scripts/interfaces/ppp-linkdown.sh @@ -20,8 +20,7 @@ if [ "${AF}" = "inet" ]; then route delete -${AF} default "${GW}" fi - /usr/local/opnsense/scripts/interfaces/nameserver.sh -i ${IF} -4 -d - + /usr/local/sbin/ifctl -ni ${IF} -4 -d rm -f /tmp/${IF}_router elif [ "${AF}" = "inet6" ]; then if [ -s "/tmp/${IF}_defaultgwv6" ]; then @@ -33,15 +32,14 @@ elif [ "${AF}" = "inet6" ]; then route delete -${AF} default "${GW}" fi - /usr/local/opnsense/scripts/interfaces/nameserver.sh -i ${IF} -6 -d - - rm -f /tmp/${IF}_routerv6 - # remove previous SLAAC addresses as the ISP may # not respond to these in the upcoming session ifconfig ${IF} | grep -e autoconf -e deprecated | while read FAMILY ADDR MORE; do ifconfig ${IF} ${FAMILY} ${ADDR} -alias done + + /usr/local/sbin/ifctl -ni ${IF} -6 -d + rm -f /tmp/${IF}_routerv6 fi /usr/local/sbin/configctl -d dns reload diff --git a/src/opnsense/scripts/interfaces/ppp-linkup.sh b/src/opnsense/scripts/interfaces/ppp-linkup.sh index a66548037..0b08d77d9 100755 --- a/src/opnsense/scripts/interfaces/ppp-linkup.sh +++ b/src/opnsense/scripts/interfaces/ppp-linkup.sh @@ -2,7 +2,6 @@ export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin - DNS1= if echo "${6}" | grep -q dns1; then DNS1="-a $(echo "${6}" | awk '{print $2}')" @@ -20,8 +19,7 @@ if [ "${2}" = "inet" ]; then rm -f /tmp/${1}_router fi - /usr/local/opnsense/scripts/interfaces/nameserver.sh -i ${1} -4 -d ${DNS1} ${DNS2} - + /usr/local/sbin/ifctl -ni ${1} -4 -d ${DNS1} ${DNS2} /usr/local/sbin/configctl -d interface newip ${1} elif [ "${2}" = "inet6" ]; then if [ -n "${4}" ]; then @@ -31,8 +29,7 @@ elif [ "${2}" = "inet6" ]; then rm -f /tmp/${1}_routerv6 fi - /usr/local/opnsense/scripts/interfaces/nameserver.sh -i ${1} -6 -d ${DNS1} ${DNS2} - + /usr/local/sbin/ifctl -ni ${1} -6 -d ${DNS1} ${DNS2} /usr/local/sbin/configctl -d interface newipv6 ${1} fi diff --git a/src/sbin/ifctl.link b/src/sbin/ifctl.link new file mode 100644 index 000000000..ce10ec3f5 --- /dev/null +++ b/src/sbin/ifctl.link @@ -0,0 +1 @@ +../opnsense/scripts/interfaces/nameserver.sh