prefixkit Ask an engineerAsk RU

Port 138 NetBIOS Datagram

NetBIOS datagram service.

Protocol
UDP
Service
NetBIOS Datagram
Category
File sharing
Exposing to the internet
Do not expose

This is a UDP port: UDP reachability cannot be tested reliably with a simple connect; check firewall rules and packet counters.

Is it safe to open

File-sharing protocols are not designed for the internet: they leak data and spread ransomware. Keep them inside the LAN and give remote users a VPN or an HTTPS-based service instead.

How to open port 138

Open to everyone

# Linux iptables
iptables -A INPUT -p udp --dport 138 -j ACCEPT
# Ubuntu ufw
ufw allow 138/udp
# firewalld
firewall-cmd --permanent --add-port=138/udp && firewall-cmd --reload
# MikroTik
/ip firewall filter add chain=input protocol=udp dst-port=138 action=accept place-before=0 comment="port 138"
# Windows (PowerShell)
New-NetFirewallRule -DisplayName "Port 138 UDP" -Direction Inbound -Protocol UDP -LocalPort 138 -Action Allow

Only for your addresses

# allow only one address or network (replace 203.0.113.0/24)
iptables -A INPUT -p udp --dport 138 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j DROP
ufw allow from 203.0.113.0/24 to any port 138 proto udp
/ip firewall filter add chain=input protocol=udp dst-port=138 src-address=203.0.113.0/24 action=accept
/ip firewall filter add chain=input protocol=udp dst-port=138 action=drop

If the server is behind a router, you also need a port forward (dst-nat). Behind ISP CGNAT (100.64.0.0/10 on the WAN) forwarding will not help: you need a public IP or a VPN.

What is listening

Check on the server

# what listens on the port
ss -lntup | grep ':138 '
netstat -ano | findstr :138   # Windows
lsof -i :138   # macOS

Related ports