Registered · Linux/Unix

2049 NFS

TCP Yes
UDP Yes
SCTP Yes
DCCP

What it is

Network File System for Unix file sharing.

When / why

NFS exports. NFSv4 uses 2049 alone; older versions also need rpcbind (111). Restrict to known clients.

Protocol status detail

TransportStatusMeaning
TCP Yes Assigned by IANA and standardized, specified, or widely used on this port.
UDP Yes Assigned by IANA and standardized, specified, or widely used on this port.
SCTP Yes Assigned by IANA and standardized, specified, or widely used on this port.
DCCP Not applicable for this transport.

Port range

Registered (1024–49151). Assigned by IANA on request; usable without elevated privileges on most systems.

Browse all ports →

Firewall rules for port 2049

Copy-ready inbound rules for the active transports. Replace every <source> placeholder with the specific host, subnet, or CIDR that should reach this port.

ufw

sudo ufw allow proto tcp from <source> to any port 2049

Allow TCP 2049 (NFS). Replace <source> with the network/host that should reach it.

sudo ufw allow proto udp from <source> to any port 2049

Allow UDP 2049 (NFS). Replace <source> with the network/host that should reach it.

firewalld

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<source>" port port="2049" protocol="tcp" accept'

Allow TCP 2049 (NFS) from <source>. Run 'firewall-cmd --reload' afterwards.

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<source>" port port="2049" protocol="udp" accept'

Allow UDP 2049 (NFS) from <source>. Run 'firewall-cmd --reload' afterwards.

nftables

nft add rule inet filter input ip saddr <source> tcp dport 2049 accept

Allow TCP 2049 (NFS). Assumes table 'inet filter' with an 'input' chain.

nft add rule inet filter input ip saddr <source> udp dport 2049 accept

Allow UDP 2049 (NFS). Assumes table 'inet filter' with an 'input' chain.

iptables

sudo iptables -A INPUT -p tcp -s <source> --dport 2049 -j ACCEPT

Allow TCP 2049 (NFS). Persist with iptables-save/netfilter-persistent.

sudo iptables -A INPUT -p udp -s <source> --dport 2049 -j ACCEPT

Allow UDP 2049 (NFS). Persist with iptables-save/netfilter-persistent.

Azure NSG

az network nsg rule create -g <resource-group> --nsg-name <nsg> -n Allow-nfs-2049 --priority 1000 --access Allow --direction Inbound --protocol "*" --source-address-prefixes <source> --destination-port-ranges 2049

Inbound rule for 2049 (NFS). Set <source> to a CIDR; lower priority number = higher precedence.

AWS Security Group

aws ec2 authorize-security-group-ingress --group-id <sg-id> --ip-permissions IpProtocol=tcp,FromPort=2049,ToPort=2049,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound TCP 2049 (NFS). Replace <source-cidr> (e.g. 10.0.0.0/16).

aws ec2 authorize-security-group-ingress --group-id <sg-id> --ip-permissions IpProtocol=udp,FromPort=2049,ToPort=2049,IpRanges="[{CidrIp=<source-cidr>}]"

Inbound UDP 2049 (NFS). Replace <source-cidr> (e.g. 10.0.0.0/16).

GCP firewall

gcloud compute firewall-rules create allow-nfs-2049 --direction=INGRESS --action=ALLOW --rules=tcp:2049,udp:2049 --source-ranges=<source-cidr> --network=<network>

Ingress rule for 2049 (NFS). Scope with --source-ranges and optionally --target-tags.

Windows netsh

netsh advfirewall firewall add rule name="Allow NFS 2049/TCP" dir=in action=allow protocol=TCP localport=2049 remoteip=<source>

Inbound TCP 2049 (NFS). Set remoteip to a host/subnet; 'any' is discouraged.

netsh advfirewall firewall add rule name="Allow NFS 2049/UDP" dir=in action=allow protocol=UDP localport=2049 remoteip=<source>

Inbound UDP 2049 (NFS). Set remoteip to a host/subnet; 'any' is discouraged.

Windows PowerShell

New-NetFirewallRule -DisplayName "Allow NFS 2049/TCP" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2049 -RemoteAddress <source>

Inbound TCP 2049 (NFS). Replace <source> with a host or subnet.

New-NetFirewallRule -DisplayName "Allow NFS 2049/UDP" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 2049 -RemoteAddress <source>

Inbound UDP 2049 (NFS). Replace <source> with a host or subnet.

Rules are generated only for transports marked active for this port. They default to an inbound allow with an explicit source placeholder — never any. Review direction, scope, and rule precedence before applying in production.