mirror of
https://github.com/netbirdio/netbird.git
synced 2026-06-09 17:02:09 -04:00
Configure the Netbird Network Range #660
Closed
opened 2025-11-20 05:15:33 -05:00 by saavagebueno
·
38 comments
No Branch/Tag Specified
main
feature/affected-peers
mdm_integration
ui-refactor
ui-refactor-gtk3
fix/preserve-posture-checks-on-config-update
update-go-mod-toolchain
wasm-websocket-dial
dependabot/go_modules/aws-sdk-e0d7f0be02
dependabot/github_actions/actions-1b76ec1a46
dependabot/go_modules/otel-e34c790afd
dependabot/go_modules/testcontainers-9a9ed843ba
dependabot/go_modules/gorm-2271c8195b
dependabot/go_modules/pion-04391f0276
dependabot/go_modules/wireguard-dbd6b95108
feature/affected-peers-grpc
profile-id-name
remove-deprecated-remote-peers
profile-id
lazyconn-first-packet-fix-v2
claude/focused-gates-VMTgb
feature/immediate-handshake-on-endpoint-change
refactor/mgmt-bootstrap
peer-acl-multi-source
relay-transport-observability
dependabot/go_modules/github.com/quic-go/quic-go-0.59.1
fix/ios-login-expiry-blackhole
fix/ios-debug-bundle
fix/exit-node-v6-deselect-propagation
ui-tray-linux-leftclick
dependabot/go_modules/github.com/rs/cors-1.11.1
dependabot/go_modules/github.com/ebitengine/purego-0.10.1
dependabot/go_modules/github.com/c-robinson/iplib-1.0.8
dependabot/go_modules/github.com/redis/go-redis/v9-9.20.0
dependabot/go_modules/github.com/cilium/ebpf-0.21.0
dependabot/go_modules/github.com/coreos/go-iptables-0.8.0
dependabot/go_modules/golang.org/x/mod-0.36.0
dependabot/go_modules/github.com/spf13/pflag-1.0.10
dependabot/go_modules/github.com/fsnotify/fsnotify-1.10.1
fix/ctx-enrichment
nmap/components-impl
daemon-owner
dependabot/go_modules/github.com/crowdsecurity/crowdsec-1.7.8
client-json-socket
feature/android-client-ssh
feature/ios-ssh
embedded-vnc
worktree-accept-ra-forwarding
nmap/combined-deploy
task/align_protobuff_toolset
feature/session-extend
add-json-yaml-flags
refactor/ephemeral-cleanup
claude/webtransport-relay-wasm-mUjY9
claude/vnc-udp-feasibility-6KB1U
fix-ssh-authorized-users-multi-rule
windows-dns-firewall
fix/wgport-config
drop-candidateviaroutes-filter
e2e-windows-dns-combined
dependabot/go_modules/github.com/Azure/go-ntlmssp-0.1.1
debug-logs
dependabot/go_modules/github.com/jackc/pgx/v5-5.9.2
fix/login-cmd-root-flags
feat/reseller-openapi-spec
github-issue-resolver
add-steamos-support
fix-darwin-uninstaller
flutter-test
dependabot/npm_and_yarn/proxy/web/postcss-8.5.12
ci/freebsd-pkg-bootstrap
cached-serial-check-on-sync
fix-mgmt-cache-bypass-overlay
revert-easyjson-5938
revert-ice-5820
revert-firewalld-5928
refactor/permissions-manager
revert-dns-5935-systemd-resolved
revert-dns-5935-5945
revert-dns-5945-mgmt-cache
feature/log-most-busy-peers
prototype/ui-wails
coderabbitai/utg/8ae8f20
feature/use-peer-fqdn-on-https
dependabot/go_modules/golang.org/x/image-0.38.0
feature/metrics-push-management-control
release/0.68.3
dependabot/go_modules/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream-1.7.8
dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/s3-1.97.3
add-slack-channel
claude/rdp-token-passthrough-eNcqW
transparent-proxy
fix/macos-stale-route-eexist
crowdsec-selfhosted
fix/remove-otel-units
entire/checkpoints/v1
dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
fix/getting-started
feat/static-connectors-combined-server
feature/use-local-keys-embedded
feature/fleetdm
set-env-only-if-not-fork
feature/expose-has-channel
fix/connection-status-race
fix/filter-cgnat-cni-ice-candidates
feature/check-cert-locker-before-acme
test/proxy-fixes
test/proxy-mtu
prototype/ui-tauri
test/proxy-speed
fix-reused-ports
feat/migrate-to-embedded-idp
feature/add-serial-to-proxy-merged
deploy/proxy-serial
test/connection
feature/disable-legacy-port
feature/flag-to-disable-legacy-port
test/perftest
dependabot/go_modules/github.com/pion/dtls/v3-3.0.11
fix/http-redirect
poc-token-command
dn-reverse-proxy
prototype/reverse-proxy-rename
prototype/reverse-proxy-logs-pagination
feature/client-metrics
prototype/reverse-proxy-clusters
debug-dns-route
fix/win-dns-batch
add-extra-route-logs
job-stream-notify-disconnection-eof
deploy/secrets-manager
trigger-proxy-update
bug/update-ios-client-code-build-tags
sync-client-netmap-serial
log/conn-disconn
nmap/compaction-deploy
ci-win-test
feature/disk-encryption-check
wasm-debug
swap-dns-prio
fix/dex-config
feature/migrate-auto-groups-to-table
dependabot/go_modules/github.com/quic-go/quic-go-0.57.0
nmap/compaction
dex-nocgo-stub
feature/exclude-terraform-from-rate-limiting
test-freebsd
retries-refactor
coderabbitai/docstrings/b7e98ac
feat/integrate-zitadel
bug/ios-hanging-reconection
zitadel-idp
feat/network-map-serial
refactor/get-account-no-users
feat/auto-upgrade
feature/report-high-pat-id
feature/temporary-access-for-resource
fix/nmap-fwrules
dont-restart-dns
prototype/ui
update-gomobile
go-dns-for-ice
wasm-ldflags
test-ldflags
wasmbuild-test
feature/networks-s2s
vk/compare-nmaps
dbg/bothmaps
feature/changeset
reorder-dns-shutdown
fix/relay-reconnection-race
fix/nmap-exitnodes
vk/debug/nmap-both
move-licensed-code
feat/better-daemon-connection-lost-message
feat/auto-update-2
test/timings
refactor/getaccount-raw
tests/nmap-getaccount
refactor/nmap
refactor/nmap-limit-buffer
feature/detect-mac-wakeup
feature/extract-modules
quick-setings
feat/sync-limiter
feature/store-cache-impl
fix-install-version
feature/store-metrics
feature/metrics-on-store
feature/use-gorm-cache
loadtest-signal
unsymmetrical-squash
refactor/reducate-signaling
test/update-reduce
feature/store-cache
feature/remote-debug
cli-ws-proxy-backend-addr
feat/mgmt-map-serial
snyk-fix-d9d0081a4c7f9137bdb59d0d50a141a2
snyk-fix-7415cea5a11acd66753540ca2c598c63
job-yml-update
feature/android-allow-selecting-routes
fix/up-sequence
fix/dns-hash-update
snyk-fix-967adae9863f17f108ce8948d9117b8d
log/getaccount-by-peer
signal-suppressor
dns-exit-node
feature/auto-updates
feature/cache-srv-key
merged-fixes
fix/missed-offers-and-debug
debug-and-fixes
poc-wasm-clean-backend-s2s
test/remote-debug
debug-api
dependabot/go_modules/github.com/docker/docker-28.0.0incompatible
fix/remove-gpo-if-empty
fix/test-freebsd
fix/mysql-setup
fix/remove-logout-btn
handle-existing-domain-user
chore/unify-domain-validation
snyk-fix-c5fafc8a50ce1f29046e25a1fc346185
feat/profile-edit-btn
snyk-fix-a54966211e18d4cf67e5a2757cc006d1
log-short-id
feat/logout-ephemeral
log-checks
batch-wg-ops
nb-interface-default
feat/aws-integration
add/race-test
feature/relay-feature-versioning
fix/systemd-service-logs
poc/preprocessed-map
add-account-onboarding
bind-ipv6
fix/merge-main
logs/peerlogs-addpeer
feature/net-297-network-migration
feature/support-skip-auto-apply-exit-node-routes
set-cmd
set-command-with-cursor
feature/limit-update-channel
stop-using-locking-share
feature/poc-lazy-detection
feature/net-248-removal-of-sync-mutex-locks
test/multiple-peer-logging
preresolve
add-ns-punnycode-support
apply-routes-early
windows-search-domains
fix/connecting-route-filter
feature/management/rest-client/impersonate
debug-local-records
resource-fields-snake-case
test/grpc-rate-limit
traffic-correlation-policy
feature/rest-client-options
feat/events-metrics
feature/buf-cli
test/add-ratelimiter
test/remove-write-lock-on-add-peer
fix/add-peer-semaphore
feature/users-roles-endpoint
mlsmaycon-patch-1
debug-user-role
chore/primary-key-on-networks
feature/update-account-peers-buffer-startup
remove-ubuntu2004-runners
refactor/permissions-no-pat-allowed
ref/logrus-factory
use-conntrack-zone
deploy/permissions-account
feature/lazy-connection-idle
ref/improve-test-cov
restore-pr-3440
test/increase-grpc-timeouts
feat/buffer-account-peers-update
test/networkmapgeneration-changes
feature/base-manager
feature/flow-receiver
chore/benchmark-with-large-runner
refactor/handshake-initiator
client/ui-update-systray-icons
userspace-router
wgwatcher-test
output-if-key-already-exists
fix/relay-reconnection
feature/port-forwarding-client-codecleaning
detached2
test/callbacks-nil-iceconninfo
refactor/optimize-peer-expiration
enable-udp-port-for-docker-template
fix/relay-update
feature/apply-posture-netmap
fix/group-update-existing-resource
conntrack-stats
upgrade-okta-sdk
multi-price
test/conn-stat
set-min-parallel-tests-for-management
dns-interceptor
debug-dns
router-dns
add-static-system-info
debug-0.29.4
debug-0.33.0
account-refactoring
relay/2800_quic
route-get-account-refactoring
test/seed-random-routes
feature/get-account-refactoring
test/reconnect-race-condition
refactor/get-account-usage
feature/add-session-id-to-update-channel
improve-ipv4conn
fix/async-pion-event-handling
debug
add-offload
feature/validate-group-association-debug
fix/limit-conn-for-sqlite
test/engine-iface
test/transaction-for-jwt-sync
fix/engine-stop-in-foreground
feature/add-mysql-support
test-migration
refactor/header-size-values
relay/eliminate-gob
test/signal-dispatcher-with-relay
relay/debug
validate-icon
feature/ipv6-support
use-pre-expanded-peers-map
feature/use-signal-dispatcher
validate/peer-status
add-read-write-times
fix/sync-peer-race
feature/relay-status
netmap
evaluate/network-map-hash
fix/lower-dns-resolve-interval-on-fail
feature/relay
fix/go-mod-version
upgrade-nftables
synology-userspace-mode
fix/use-ip-for-default-routes-on-darwin
fix/proxy_close
enable-release-workflow-on-pr
deploy/peer-performance
feature/permanent-turn
feature/permanent-turn-proxy
deploy/posture-check-sqlite
feature/optimize_sqlite_save
debug-ios-behavior
fix/delete-route-only-after-adding
tshoot/windows-logger
remove-new-routing
refactor/eliminate-repo-dependency
add-arm-to-ci
refactor-demo-account-object
test/abc2
test/abc
send-ssh-rosenpass-config-meta
refactor-demo
ensure-schedule-never-runs-non-positive
feature/peer-validator-groupmgm
feature/peer-validator-fix
fix/include-active-dashboard-users
fix/handle-canceling-schedule
fix/geo-download
debug-google-workspace
yury/resolve-ip-to-location
feature/extend-sysinfo
sqlite-async-peer-status
yury/add-postgresql-store
fix/route
test-build
posture-checks-poc
debug-keycloak-idp
poc/netstack
for-pascal-tmp
peer-logout-management
manual-peer-logout
detached
chore/refactor-management
test/dns-bind
fix/enforce-acl-for-containers
yury/use-sync-map-in-updatechannel
fix/events-key-handling
filter-cache-on-load-account
fix/user-expiration
handle-user-context-cancellation
nb-client-k8s-statefulset
fake-addr
fix/iptables_in_docker
ebpf-debug
update-getting-started-flow-use-postgres
fix/peer_list_notification
feature/device-authentication-with-client-secret
feature/keep_alive
feat-groups-from-jwt
separate_proxy_from_wgconfig
fix/wg_conn
wg_conn_fix
wg_bind_parallel_processing
fix-rollback-get-acls
proxy_cfg_cleanup
performance-improvement-rego
update-lock-log-level
feat-client-side-acl
refactor/move_grpcserver_logic_to_account_manager
feature/event-storage
feature/update-idp-redeeming-invite
feature/api-peer-info
return-groupminimum-setupkey
feature/interface-bind
documentation_enhancement
fix-peer-registration
ssh
users_cache
pass-client-caller
client_caller_type
revert-283-feat-fix-windows-installer
periodic-peer-updates
ebpf
braginini/wasm
v0.72.2
v0.72.1
v0.72.0
v0.71.4
v0.71.3
v0.71.2
v0.71.1
v0.71.0
v0.70.5
v0.70.4
v0.70.3
v0.70.2
v0.70.1
v0.70.0
v0.69.0
v0.68.3
v0.68.2
v0.68.1
v0.68.0
v0.67.4
v0.67.3
v0.67.2
v0.67.1
v0.67.0
v0.66.4
v0.66.3
v0.66.2
v0.66.1
v0.66.0
v0.65.3
v0.65.2
v0.65.1
v0.65.0
v0.64.6
v0.64.5
v0.64.4
v0.64.3
v0.64.2
v0.64.1
v0.64.0
v0.63.0
v0.62.3
v0.62.2
v0.62.1
v0.62.0
v0.61.2
v0.61.1
v0.61.0
v0.60.9
v0.60.8
v0.60.7
v0.60.6
v0.60.5
v0.60.4
v0.60.3
v0.60.2
v0.60.1
v0.60.0
v0.59.13
v0.59.12
v0.59.11
v0.59.10
v0.59.9
v0.59.8
v0.59.7
v0.59.6
v0.59.5
v0.59.4
v0.59.3
v0.59.2
v0.59.1
v0.59.0
v0.58.2
v0.58.1
v0.58.0
v0.57.1
v0.57.0
v0.56.1
v0.56.0
v0.55.1
v0.55.0
v0.54.2
v0.54.1
v0.54.0
v0.53.0
v0.52.2
v0.52.1
v0.52.0
v0.51.2
v0.51.1
v0.51.0
v0.50.3
v0.50.2
v0.50.1
v0.50.0
v0.49.0
v0.48.0-dev2
v0.48.0
v0.47.2
v0.47.1
v0.47.0
v0.46.0
v0.45.3
v0.45.2
v0.45.1
v0.45.0
v0.44.0
v0.43.3
v0.43.2
v0.43.1
v0.43.0
v0.42.0
v0.41.3
v0.41.2
v0.41.1
v0.41.0
v0.40.1
v0.40.0
v0.39.2
v0.39.1
v0.39.0
v0.38.2
v0.38.1
v0.38.0
v0.37.2
v0.37.1
v0.37.0
v0.36.7
v0.36.6
v0.36.5
v0.36.4
v0.36.3
v0.36.2
v0.36.1
v0.36.0
v0.35.2
v0.35.1
v0.35.0
v0.34.1
v0.34.0
v0.33.0
v0.32.0
v0.31.1
v0.31.0
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.4
v0.29.3
0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.9
v0.28.8
v0.28.7
v0.28.6
v0.28.5
v0.28.4
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.10
v0.27.9
v0.27.8
v0.27.7
v0.27.6
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27.0
v0.26.7
v0.26.6
v0.26.5
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.9
v0.25.8
v0.25.7
v0.25.6
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.4
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.9
v0.23.8
v0.23.7
v0.23.6
v0.23.5
v0.23.4
v0.23.3
v0.23.2
v0.23.1
v0.23.0
v0.22.7
v0.22.6
v0.22.5
v0.22.4
v0.22.3
v0.22.2
v0.22.1
v0.22.0
v0.21.11
v0.21.10
v0.21.9
v0.21.8
v0.21.7
v0.21.6
v0.21.5
v0.21.4
v0.21.3
v0.21.2
v0.21.1
v0.21.0
v0.20.8
v0.20.7
v0.20.6
v0.20.5
v0.20.4
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.1
v0.18.0
v0.17.0
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.6
v0.14.5
v0.14.4
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.0
v0.12.0
v0.11.6
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.10.10
v0.10.9
v0.10.8
v0.10.7
v0.10.6
v0.10.5
v0.10.4
v0.10.3
v0.10.2
v0.10.1
v0.10.0
v0.9.8
v0.9.7
v0.9.6
v0.9.5
v0.9.4
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.12
v0.8.11
v0.8.10
v0.8.9
v0.8.8
v0.8.7
v0.8.6
v0.8.5
v0.8.4
v0.8.3
v0.8.2
v0.8.1
v0.8.0
v0.7.1
v0.7.0
v0.6.4
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.11
v0.5.10
v0.5.1
v0.5.0
v0.4.0
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.3
v0.2.2-beta.1
v0.2.1-beta.5
v0.2.0-beta.5
v0.2.0-beta.4
v0.2.0-beta.3
v0.2.0-beta.2
v0.2.0-beta.1
v0.1.0-beta.3
v0.1.0-beta.2
v0.1.0-beta.1
v0.1.0-rc.2
v0.1.0-rc-1
v0.0.8-hotfix-1
v0.0.8
v0.0.7
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
v0.0.0
Labels
Clear labels
2021 Q4
2022 Q1
2022 Q1
accessibility
acl
agent
agent
Android
Android
api
authentik
automation
azure
battery-usage
bug
cache
client
client-ui
cloud
cloud-only
cloudflare
community
compatibility
config-idp
config-issue
connection
contribution
coturn
cross-vpn
dashboard
data-usage
distribution
dns
docker
documentation
duplicate
enhancement
enhancement
event-stream
feature-request
freebsd
getting-started
go
good first issue
gui
help wanted
home-assistant
idp
inconsistency
integration
integrations
ios
ipv6
jwt
k8s
keycloak
linux
login
macos
management-service
missing-docs
mobile
moved-internal
needs-review
netbird-ui
networking
new-platform
nginx
notification
okta
openwrt
packaging
peer-management
peer-management
peer-management
performance
postgres
posture-checks
psk
pull-request
question
refactor
relay
release
rfc
routes
security
security-related
self-hosting
server
signal
sleep-issue
ssh
ssl
status
store
synology
system-compatibility-issue
test-suite
third-party-integration
triage
triage-needed
troubleshooting
UX
waiting-feedback
windows
wontfix
zitadel
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
saavagebueno
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SVI/netbird#660
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @hwinkel on GitHub (Feb 27, 2024).
Option in UI / API to configure the managed Network Range.
A selfhosted setup needs the option to define the managed network range in CIDR notation,
@szzylph commented on GitHub (Mar 2, 2024):
+1
@moontide commented on GitHub (Mar 6, 2024):
For selfhosted installation, currently, as a workaround, you can change the network range (and even IP addresses of each peer) via editing
store.jsonfile./var/lib/docker/volumes/artifacts_netbird-mgmt/_data/store.json
But I don't know how to change them when using
sqlitestorage engine. network range information is stored innetwork_netfield ofaccountstable, peer ip information is stored inipfield ofpeerstable, but the data types areBLOBwhich is not editable unless you know the data format of it.@nuterum commented on GitHub (May 12, 2024):
Since version 0.27.5 it may be possible to change that after adding peer and changing each peer IP but i have not test it and cant be sure that no problem will occur.
What i have test is to do it before adding peer and after finishing the installation process.
Explanation
First you need to understand that the mask of the network is encode in base64 and is define by func IPv4Mask in go net package.
The define network is done in the file below:
Define network
To change the network mask you will need to calculate the new one and encode it.
You can use the following link to do that or the function directly:
Online IPMask
Encode to base64
For example let make a /24 (255.255.255.0) and /22 (255.255.252.0):
In the case of /24 IPMask give "ffffff00" then encode it and obtain "////AA==".
In the case of /22 IPMask give "fffffc00" then encode it and obtain "///8AA==".
I will show it later but the default mask is "//8AAA==" and is a subnet of "100.64.0.0/10" as define in network.go.
Then what mask is "//8AAA==". If we decode it then we have "ffff0000" and in IPMask this correspond to a /16 (255.255.0.0).
That correspond to what we found in network.go.
Making change
Now let speak where to find this netword and how to change it.
Firs you need to know where your data will be as configure in your docker-compose.yml.
In the docker-compose.yml you configure "netbird-mgmt:/var/lib/netbird" in your volume.
That is the place where our db file will be. (in my case /var/lib/docker/volumes/artifacts_netbird-mgmt/_data/)
Then let check what inside:
we can see multiple sqlite db the one we need is the "store.db". You will need sqlite3 if you want to modify this file "sqlite3 /var/lib/docker/volumes/artifacts_netbird-mgmt/_data/store.db"
Here we will need the table "accounts" and more exactly the network_net inside.
In my case before modification i had:
You can find your id by "select id,network_net from accounts;".
Then you just need to update (in my case i use 10.68.68.0/24 ):
By security i restart my docker stack of netbird "docker compose restart" to make sure the configuration is read again.
After that i add my peers and confirm the usage of the new network.
Take notice:
With the change made in 0.27.5 (version test for this modification describe) we may be able to do it even after adding peer but will need to change each peer ip. This is possible because the ip field has been change from blob to text.
you can find each peer id and ip with "select id,ip from peers;".
You will need to change each peer with unique IP in the "network_net" define in account associate with the peer.
In my case i have only one account and all my peer are associate with it.
It seem to be the default for every sel-hosted instance.
Example for one peer:
UPDATE peers SET ip = '"10.68.68.2"' WHERE id = 'Replace by your peer id';
By security i restart my docker stack of netbird "docker compose restart" to make sure the configuration is read again.
I never like the possibility to create instability by configuration or information that may be in cache.
Thank you for your time and wish you a good day.
@graphixillusion commented on GitHub (May 17, 2024):
Great! But i think i'll wait for some official option in the UI
@netandreus commented on GitHub (Oct 27, 2024):
Up! This is a really necessary feature.
@HaroldVB commented on GitHub (Dec 30, 2024):
+1, Would love this feature!
@graphixillusion commented on GitHub (Dec 30, 2024):
actually this is already possible, we just need this option to be reflected in the GUI too
@vijaygadde commented on GitHub (Jan 2, 2025):
+1
@hjweddie commented on GitHub (Feb 4, 2025):
+1
@simpsonnth commented on GitHub (Feb 14, 2025):
+1
@ozoromo commented on GitHub (Feb 25, 2025):
+1
@amanjuman commented on GitHub (Mar 1, 2025):
+1
@davidkobielski commented on GitHub (Mar 6, 2025):
+1
@gslongo commented on GitHub (Mar 14, 2025):
+1
@tienthanh2509 commented on GitHub (Mar 21, 2025):
+1
@tatupesonen commented on GitHub (Mar 25, 2025):
+1
@ws23xt commented on GitHub (Mar 31, 2025):
+1
@PentiumB commented on GitHub (Apr 1, 2025):
+1
This is a really vital feature. I feel sick that I can't assign a range of addresses to peers. PLEASE implement this ASAP.
for example, it would be nice to link them to groups.
@rakiamaker commented on GitHub (Apr 7, 2025):
+1
@BlueSquare23 commented on GitHub (Apr 9, 2025):
+1
@groetzner-net commented on GitHub (Apr 16, 2025):
+1
@alpex8 commented on GitHub (Apr 18, 2025):
+1
@mh166 commented on GitHub (Apr 19, 2025):
Hey everyone,
I'm no developer or contributer, but maybe I can still ask a small favor: Instead of posting "+1", use the 👍-emoji on the first post.
This has two benefits:
The developers can better gauge the interest by sorting the feature requests by reaction like so.
And everyone subscribed to this issue will be grateful because they receive notifications only when there is an actual discussion. Not everytime there's another "+1".
Thank you! 🙂
@benniekiss commented on GitHub (Jun 6, 2025):
Would an environment variable or flag to the management service be a viable way to implement this?
The netmask is hardcoded here:
b56f61bf1b/management/server/types/network.go (L21-L29)And the IP is hardcoded here:
b56f61bf1b/management/server/types/network.go (L121-L135)Are there other places the network is defined?
It would be helpful to be able to change both the global IP and netmask and the per-client netmask. Currently, it looks like the client IP is selected as a
/16network from the range of100.64.0.0/10addresses, but it would be helpful to make it so that I could, for instance, make the client ip a/32network from the range of100.64.0.0/24addresses.two flags could be added to the management service,
--client-netmask=/16and--network-ip=100.64.0.0/10, which would take args in CIDR notation.two env-vars could be added,
NB_CLIENT_NETMASKandNB_NETWORK_IP, which would also take args in CIDR notation.@chicoIA commented on GitHub (Jun 19, 2025):
The environment variable would be perfect and functional.
Would it be possible to edit it in the code directly and then run it from Docker with the values I need?
Is there a function that validates the size of the subnets? For example, 10 bits larger and divided into parts of 16 (64 networks)? Or, if possible, I would ask to edit the code and use 10.255.255.0 with /24, so that it looks like this:
SubnetSize = 24
NetSize = 24
So only the network limited to 256 hosts will be distributed to the peers?
Thanks
@nazarewk commented on GitHub (Jun 20, 2025):
I start to wonder, what exactly is the use case for changing the NetBird network address ranges?
You still won't be able to use the network range for anything else outside NetBird, I seen a user who tried (and failed) to integrate the NetBird network range (like
10.12.0.0/16) into their infra being unaware of this and/or not setting it up completely enough.We are using a well-known CGNAT range that is specifically reserved for this purpose.
The only conceivable scenario where changing this might be required is when you are trying to run NetBird directly on a device receiving a CGNAT IP address directly from ISP (or whatever upstream router) and is colliding with the NetBird network range.
To my knowledge, this only happens with mobile network providers and is still very rare.
@chicoIA commented on GitHub (Jun 20, 2025):
Good morning!
Exactly.
What I intend to do is use Netbird as a parallel access overlay network to manage hosts of an ISP (CPEs and routers), so in this case the destination IPs (which will be routed after the peers) next-hop will be 100.64.0.0/10.
In this scenario I will not compete or depend on resources of the network as a whole, because I will use mobile networks to link the peers that will bring visibility to this network to be accessed.
@benniekiss commented on GitHub (Jun 20, 2025):
My use case is that I use both tailscale and netbird as subnet routers, and I would like a way to predictably prevent IP conflicts. Right now, I have a headscale server deployed thats limited to a
100.64.0.0/24network, and I would like to be able to set netbird to provide100.64.1.0/24, for example. The netbird range is rather large, so the chance of a collision is low, but I want my network to be controlled and predictable.For the record, headscale allows limiting the network prefix. Technically, it can change the whole network IP, I believe, but the tailscale clients are limited to supporting addresses in the
100.64.0.0/10range.Netbird supporting custom network IPs and client netmasks would be helpful because it makes it the most flexible option for a self hosted deployment.
@Scot-Survivor commented on GitHub (Jul 20, 2025):
The 100.100 range is often used by Tailscale, and a lot of my users are having issues because of this.
So changing the range is vital to allow my users to have both VPNs active at the same time.
The joys of everyone being a developer, is that they all use tailscale a lot.
@nazarewk commented on GitHub (Aug 6, 2025):
implemented by https://github.com/netbirdio/netbird/pull/4177
released at https://github.com/netbirdio/netbird/releases/tag/v0.53.0
@graphixillusion commented on GitHub (Aug 6, 2025):
Any doc for this new feature? I have update the client and the docker images but how to change the subnet/mask with this new method?
@FoxxMD commented on GitHub (Aug 6, 2025):
@graphixillusion looks like its API only at this point. You'll need to create an access token and then craft an api call to the correct endpoint. The API docs are currently 404'ing... but based on the PR diff it looks like
PUT
/api/accounts/{accountId}may do the trick
@jhmc93 commented on GitHub (Aug 6, 2025):
Has this been properly implemented yet? Or is the above message the only available method?
@gslongo commented on GitHub (Aug 7, 2025):
@graphixillusion commented on GitHub (Aug 7, 2025):
I still don't see this option in my ui. And for now i'm up to date with the container's images
@graphixillusion commented on GitHub (Aug 12, 2025):
I still can't see this option on my end. And i'm up to date with the container's image. Is there anything special to do?
@Marcus1Pierce commented on GitHub (Aug 18, 2025):
@graphixillusion Which version of the Netbird management service and dashboard container are you currently running? I’m using the latest version of Netbird Management (v0.54.2) and Dashboard (v2.16.0) the option is available.
@graphixillusion commented on GitHub (Aug 19, 2025):
Yes, i confirm that with the latest pull it appears on my setup too.