Main Configuration File
Complete reference for the MCC main configuration file (mcc.conf).
Overview#
The main configuration file is located at /etc/mcc/mcc.conf by default. You can override the configuration directory path by passing it as an argument to mccd. The file uses a key-value format with optional sections.
Network Settings#
listen-addr = 0.0.0.0:9376-- address and port for incoming connectionsparents-- comma-separated list of parent node socket addressesparents-resolve-period = 1h-- how often to re-resolve parent hostnameskeep-alive-period = 30s-- interval between keepalive packetstopology-update-period = 2m-- interval between topology update broadcastsrejoin-period = 1m-- interval between reconnection attempts to offline parents
Resolver Settings#
resolver.ipv4-network = 10.83.0.0/16-- IPv4 address range for the overlayresolver.ipv6-network = 200::/7-- IPv6 address range for the overlayresolver.mac-address-mask = AE:00:00:00:00:00-- base MAC address for virtual interfacesresolver.domain = .home.arpa-- domain suffix for DNS resolution (commonly changed to.staex)resolver.ttl = 0-- DNS record time-to-live
DNS Settings#
dns-addr = 127.0.0.1:8353-- address and port for the built-in DNS serverdns-enable = true-- enable or disable the DNS resolverdns-names-- comma-separated list of DNS names for this nodednsmasq-enable-- enable automatic dnsmasq configurationdnsmasq-directory = /etc/dnsmasq.d-- directory for dnsmasq drop-in configsdnsmasq-restart-command-- command to execute after updating dnsmasq configuration
Security and Certificates#
node-certificate-- path to the node certificate filenode-private-key-- path to the node private key filenetwork-certificates-- additional trusted network certificates (for inter-company tunneling)trusted-nodes-- list of explicitly trusted node IDs from other networkstrusted-networks-- list of explicitly trusted network certificate fingerprintscert-update-addr = cas.staex.io:8081-- certificate authority address for updatescert-update-enable = true-- enable automatic certificate renewalcert-update-period = 3h-- interval between certificate update checks
Tunnel and Forwarding#
tunnels = /etc/mcc/tunnels-- directory containing tunnel configuration filesforwarding-rules-- path to the forwarding rules fileforwarding-rules-commit-timeout = 7s-- timeout for interactive forwarding rule confirmation
Advanced Settings#
unix-socket-path-- path to the UNIX socket for themccclientunix-enable = true-- enable the UNIX socket interfacelog-level = info-- logging verbosity (trace, debug, info, warn, error)log-file-- path to a log file (empty = stderr)data-dir = /var/lib/mcc-- persistent data directorytun-device-name-- name of the TUN network interfacetun-device-mtu = 1280-- MTU for the TUN devicefirewall-chain-name = MCC-- iptables chain name for MCC rulescompression = none-- traffic compression algorithm (noneorlz4)static-addr-- static overlay address for this nodenetwork-lookup-ttl = 64-- TTL for network lookup packetsnetwork-lookup-timeout = 20s-- timeout for network lookup queriesnat-table-expiry = 60s-- expiry time for NAT translation table entries
Gateway Settings#
exit-node = false-- configure this node as an exit node (gateway to the internet)gateway-- node ID of the exit node to route internet traffic throughgateway-post-add-hook-- script to execute after adding gateway routesgateway-post-delete-hook-- script to execute after removing gateway routeskill-switch = false-- block all internet traffic when the gateway is unreachablereroute-dns-- reroute DNS traffic through the gatewayreroute-ntp-- reroute NTP traffic through the gateway
SSL Settings#
ssl-install = false-- enable SSL CA certificate distributionssl-manage-script-- path to the script that installs certificates into the trust storessl-certificates-- path to the CA certificates to distributessl-storage-timeout = 24h-- how long to cache distributed certificatesssl-storage-cleanup-period = 1h-- interval between cache cleanup runsssl-certificates-ttl = 64-- TTL for certificate distribution packetsssl-update-batch-size = 10-- number of certificates to send per update batchssl-update-send-period = 30s-- interval between certificate distribution batches