To activate NFA through a web-proxy gateway, the following network and proxy configuration requirements must be fulfilled.
Verify and Configure the Route to the Public DNS Server
NFA activation requires a route to the public DNS server 8.8.8.8 to be in place. Use the activation-route-check.sh script to verify whether a route to the DNS server is available.
Download and install the script with execution permissions:
sudo wget -q repo-nfa.noction.com/activation-route-check.sh sudo install -m 750 activation-route-check.sh /usr/local/bin/
Check the Route Without Making Changes
Use the –dry-run option to verify the route without modifying the network configuration:
activation-route-check.sh --dry-run
For example:
No route to 8.8.8.8 — deriving next-hop from repo-nfa.noction.com ... repo-nfa.noction.com -> 34.242.66.159 reaching repo-nfa.noction.com via gateway 192.168.100.254 on eth0 [dry-run] would run: ip route replace 8.8.8.8 via 192.168.100.254 dev eth0
The output above indicates that no route to 8.8.8.8 currently exists and shows the route that would be configured.
Important: The –dry-run option only verifies the required configuration and does not make any changes to the network configuration.
Configure the Route
If the required route is missing, execute the script without any parameters:
sudo activation-route-check.sh
The script will determine the appropriate gateway and configure the required route at runtime. After the route has been configured, verify it again using the –dry-run option:
activation-route-check.sh --dry-run
A successful configuration should return output similar to:
Route to 8.8.8.8 already exists: 8.8.8.8 via 185.34.202.65 dev eth0 src 185.34.202.73 uid 0
Configure the Web Proxy Environment
NFA activation also requires the appropriate web-proxy environment variables to be configured persistently. Use the setup-proxy.sh script to configure the proxy settings.
Download and Install the Script
Download the script and install it with execution permissions:
sudo wget -q repo-nfa.noction.com/setup-proxy.sh sudo install -m 750 setup-proxy.sh /usr/local/bin/
| Note: Ensure that the downloaded file is setup-proxy.sh. Do not use route-check.sh for this step. |
Interactive Configuration
Run the script without parameters to start the interactive configuration:
sudo setup-proxy.sh
Follow the prompts to specify the proxy host, port, and, if required, authentication credentials.
Display Available Options
Use –help or -h to display all available configuration options:
setup-proxy.sh -h
Available options:
Usage:
setup-proxy.sh <host> <port> positional, no auth setup-proxy.sh <host> <port> <user> <password> positional, with auth setup-proxy.sh [options] flag-based setup-proxy.sh interactive prompts
Options:
--set-ip <ip> Proxy host as an IP address --set-hostname <host> Proxy host as a hostname --set-url <url> Proxy host as a URL (scheme optional, may include :port) --set-port <port> Proxy port (default: 3128) --set-user <user> Username (enables authenticated proxy) --set-password <pass> Password (enables authenticated proxy) --dry-run Print the resulting file instead of writing it -h, --help Show this help --set-ip / --set-hostname / --set-url are mutually exclusive.
Authenticated proxy requires four values: user, password, host, and port.
After writing, load it into your shell with:
source /etc/profile.d/proxy.sh
Verify the Configuration Without Making Changes
Use the –dry-run option to generate and display the resulting configuration without modifying the environment:
setup-proxy.sh --dry-run --set-ip 192.168.100.10
Example output:
# Managed by setup-proxy.sh — generated YYYY-MM-DDThh:mm:ssz export http_proxy=”http://192.168.100.10:3128” export https_proxy=”http://192.168.100.10:3128” export HTTP_PROXY=”http://192.168.100.10:3128” export HTTPS_PROXY=”http://192.168.100.10:3128” export no_proxy=”localhost,127.0.0.1,::1” export NO_PROXY=”localhost,127.0.0.1,::1”
The –dry-run option is recommended when you want to review the generated configuration before applying it.
Load the Proxy Configuration
The proxy configuration is stored in:
/etc/profile.d/proxy.sh
After configuring the proxy, load the settings into the current shell:
source /etc/profile.d/proxy.sh
The proxy environment variables are defined in both lowercase and uppercase forms:
– http_proxy / HTTP_PROXY
– https_proxy / HTTPS_PROXY
– no_proxy / NO_PROXY
Both forms are required because different applications may use different variable naming conventions.
Final Verification
Before proceeding with NFA activation, verify that:
1. A route to 8.8.8.8 is available.
2. The route uses the gateway through which the NFA repository is reachable.
3. The proxy configuration is present in /etc/profile.d/proxy.sh.
4. The proxy environment variables are loaded in the current shell.
5. Both uppercase and lowercase proxy variables are configured.
6. localhost, 127.0.0.1, and ::1 are excluded from proxy processing through no_proxy / NO_PROXY.
Once these requirements are satisfied, the NFA activation process can be performed through the configured web-proxy gateway.

