Show pagesourceOld revisionsBacklinksBack to top × Table of Contents DHCP configuration Troubleshooting DHCP client scripts References Extras Updating default route Updating IPv6 default route Updating DHCP server route Providing ISP DNS with DHCP Providing IPv6 ISP DNS with DHCPv6 Resolving WAN/LAN subnet conflicts DHCP configuration See: DHCP client, DHCPv6 client Troubleshooting # Install packages opkg update opkg install tcpdump # Capture DHCP traffic tcpdump -evni any udp port 67 & \ sleep 5; \ killall -SIGUSR1 udhcpc; \ sleep 5; \ killall tcpdump # Capture DHCPv6 traffic tcpdump -evni any udp port 547 & \ sleep 5; \ killall -SIGUSR1 odhcp6c; \ sleep 5; \ killall tcpdump DHCP client scripts See also: Providing ISP DNS with DHCP, Hotplug # Logging DHCP client cat << "EOF" > /etc/udhcpc.user.d/00-log logger -t ${0##*/} ${@} $(env) EOF # Logging DHCPv6 client cat << "EOF" > /etc/odhcp6c.user.d/00-log logger -t ${0##*/} ${@} $(env) EOF # Fetching new leases ifup wan ifup wan6 # Reading logs logread -e dhcp.script logread -e dhcpv6.script # Checking status ifstatus wan ifstatus wan6 References udhcpc documentation odhcp6c documentation and examples Extras Updating default route Update default route. cat << "EOF" > /etc/udhcpc.user.d/00-default-route DHCPC_EVENT="${1}" DHCPC_IF="${interface}" DHCPC_GW="${router}" case ${DHCPC_EVENT} in (bound|renew) ;; (*) exit 0 ;; esac ip route delete default dev "${DHCPC_IF}" ip route add default via "${DHCPC_GW}" dev "${DHCPC_IF}" EOF Updating IPv6 default route Update IPv6 default route. cat << "EOF" > /etc/odhcp6c.user.d/00-default-route DHCPC_EVENT="${2}" DHCPC_IF="${INTERFACE}" DHCPC_GW="${SERVER}" case ${DHCPC_EVENT} in (bound|informed|updated|rebound|ra-updated) ;; (*) exit 0 ;; esac ip -6 route delete default dev "${DHCPC_IF}" ip -6 route add default via "${DHCPC_GW}" dev "${DHCPC_IF}" EOF Updating DHCP server route Update DHCP server route. cat << "EOF" > /etc/udhcpc.user.d/00-dhcp-route DHCPC_EVENT="${1}" DHCPC_IF="${interface}" DHCPC_SERV="${serverid}" case ${DHCPC_EVENT} in (bound|renew) ;; (*) exit 0 ;; esac ip route delete "${DHCPC_SERV}" dev "${DHCPC_IF}" ip route add "${DHCPC_SERV}" dev "${DHCPC_IF}" EOF Providing ISP DNS with DHCP Announce ISP DNS servers with DHCP. cat << "EOF" > /etc/udhcpc.user.d/00-isp-dns DHCP_POOL="lan" DHCPC_EVENT="${1}" DNS_SERV="${dns}" case ${DHCPC_EVENT} in (bound|renew) ;; (*) exit 0 ;; esac for DHCP_POOL in ${DHCP_POOL} do DHCP_OPT="$(uci -q get dhcp.${DHCP_POOL}.dhcp_option)" for DHCP_OPT in ${DHCP_OPT} do if [ "${DHCP_OPT%%,*}" = "6" ] then uci del_list dhcp.${DHCP_POOL}.dhcp_option="${DHCP_OPT}" fi done uci add_list dhcp.${DHCP_POOL}.dhcp_option="6,${DNS_SERV// /,}" done uci commit dhcp /etc/init.d/dnsmasq restart EOF Reconnect your clients to apply changes. Providing IPv6 ISP DNS with DHCPv6 Announce IPv6 ISP DNS servers with DHCPv6. cat << "EOF" > /etc/odhcp6c.user.d/00-isp-dns DHCP_POOL="lan" DHCPC_EVENT="${2}" DNS_SERV="${RA_DNS} ${RDNSS}" case ${DHCPC_EVENT} in (bound|informed|updated|rebound|ra-updated) ;; (*) exit 0 ;; esac for DHCP_POOL in ${DHCP_POOL} do uci -q delete dhcp.${DHCP_POOL}.dns for DNS_SERV in ${DNS_SERV} do uci add_list dhcp.${DHCP_POOL}.dns="${DNS_SERV}" done done uci commit dhcp /etc/init.d/odhcpd restart EOF Reconnect your clients to apply changes. Resolving WAN/LAN subnet conflicts Automatically resolve WAN/LAN subnet conflicts. cat << "EOF" > /etc/udhcpc.user.d/00-lan-addr-fix LAN_IP="$(uci get network.lan.ipaddr)" case "${ip}" in (192.168.*.*) NEW_IP="172.16.1.1" ;; (*) NEW_IP="192.168.1.1" ;; esac case ${NEW_IP} in (${LAN_IP}) exit 0 ;; esac uci set network.lan.ipaddr="${NEW_IP}" uci commit network ifup lan EOF This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies Last modified: 2023/03/24 23:40by vgaetera