Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| docs:guide-user:network:protocol.dhcp [2023/09/29 04:55] – update vgaetera | docs:guide-user:network:protocol.dhcp [2023/10/04 01:41] – [Providing ISP DNS with DHCP] update vgaetera | ||
|---|---|---|---|
| Line 32: | Line 32: | ||
| <code bash> | <code bash> | ||
| # Logging DHCP client | # Logging DHCP client | ||
| - | cat << " | + | cat << " |
| logger -t ${0##*/} ${@} $(env) | logger -t ${0##*/} ${@} $(env) | ||
| EOF | EOF | ||
| # Logging DHCPv6 client | # Logging DHCPv6 client | ||
| - | cat << " | + | cat << " |
| logger -t ${0##*/} ${@} $(env) | logger -t ${0##*/} ${@} $(env) | ||
| EOF | EOF | ||
| Line 63: | Line 63: | ||
| <code bash> | <code bash> | ||
| - | cat << " | + | cat << " |
| DHCPC_EVENT=" | DHCPC_EVENT=" | ||
| DHCPC_IF=" | DHCPC_IF=" | ||
| Line 80: | Line 80: | ||
| <code bash> | <code bash> | ||
| - | cat << " | + | cat << " |
| DHCPC_EVENT=" | DHCPC_EVENT=" | ||
| DHCPC_IF=" | DHCPC_IF=" | ||
| Line 97: | Line 97: | ||
| <code bash> | <code bash> | ||
| - | cat << " | + | cat << " |
| DHCPC_EVENT=" | DHCPC_EVENT=" | ||
| DHCPC_IF=" | DHCPC_IF=" | ||
| Line 114: | Line 114: | ||
| <code bash> | <code bash> | ||
| - | cat << " | + | cat << " |
| DHCP_POOL=" | DHCP_POOL=" | ||
| DHCPC_EVENT=" | DHCPC_EVENT=" | ||
| Line 125: | Line 125: | ||
| do DHCP_OPT=" | do DHCP_OPT=" | ||
| for DHCP_OPT in ${DHCP_OPT} | for DHCP_OPT in ${DHCP_OPT} | ||
| - | do if [ "${DHCP_OPT%%, | + | do case ${DHCP_OPT%%, |
| - | then uci del_list dhcp.${DHCP_POOL}.dhcp_option=" | + | (6|option: |
| - | fi | + | uci del_list dhcp.${DHCP_POOL}.dhcp_option=" |
| + | esac | ||
| done | done | ||
| uci add_list dhcp.${DHCP_POOL}.dhcp_option=" | uci add_list dhcp.${DHCP_POOL}.dhcp_option=" | ||
| Line 142: | Line 143: | ||
| <code bash> | <code bash> | ||
| - | cat << " | + | cat << " |
| DHCP_POOL=" | DHCP_POOL=" | ||
| DHCPC_EVENT=" | DHCPC_EVENT=" | ||
| Line 162: | Line 163: | ||
| Reconnect your clients to apply changes. | Reconnect your clients to apply changes. | ||
| + | |||
| + | ==== Getting specific WAN IP address ==== | ||
| + | Assuming your ISP provides a dynamic IP address with DHCP. | ||
| + | Reconnect until you get the one matching a specific regexp. | ||
| + | Delay for 10 seconds between reconnects. | ||
| + | |||
| + | <code bash> | ||
| + | cat << " | ||
| + | WAN_ADDR=" | ||
| + | case ${WAN_ADDR} in | ||
| + | (192.168.*) exit 0 ;; | ||
| + | esac | ||
| + | sleep 10 | ||
| + | ifup ${INTERFACE} | ||
| + | EOF | ||
| + | </ | ||
| ==== Resolving WAN/LAN subnet conflicts ==== | ==== Resolving WAN/LAN subnet conflicts ==== | ||
| Automatically resolve WAN/LAN subnet conflicts. | Automatically resolve WAN/LAN subnet conflicts. | ||
| + | Change LAN subnet if it overlaps with WAN. | ||
| <code bash> | <code bash> | ||
| cat << " | cat << " | ||
| - | LAN_IP=" | + | WAN_ADDR=" |
| - | WAN_IP=" | + | LAN_IF=" |
| - | case ${WAN_IP} in | + | LAN_ADDR=" |
| - | (192.168.*.*) NEW_IP=" | + | case ${WAN_ADDR} in |
| - | (*) NEW_IP=" | + | (192.168.*) |
| + | (*) NEW_ADDR=" | ||
| esac | esac | ||
| - | case ${NEW_IP} in | + | case ${NEW_ADDR} in |
| - | (${LAN_IP}) exit 0 ;; | + | (${LAN_ADDR}) exit 0 ;; |
| esac | esac | ||
| - | uci set network.lan.ipaddr=" | + | uci set network.${LAN_IF}.ipaddr=" |
| uci commit network | uci commit network | ||
| - | / | + | ifup ${LAN_IF} |
| EOF | EOF | ||
| </ | </ | ||