Linux 端口转发是指将一个网络端口上的数据流量转发到另一个网络端口的过程。这通常用于网络配置、安全控制或应用程序通信中。端口转发可以通过多种方式实现,包括使用 iptables
、nftables
或 ssh
等工具。
netstat
sudo netstat -tuln
这个命令会列出所有正在监听的 TCP 和 UDP 端口及其关联的服务。
ss
sudo ss -tuln
ss
是 netstat
的替代品,提供了更快的性能和更多的信息。
iptables
查看 iptables
规则:
sudo iptables -L -v -n
这个命令会列出所有的 iptables
规则,包括端口转发规则。
nftables
查看 nftables
规则:
sudo nft list ruleset
这个命令会列出所有的 nftables
规则,包括端口转发规则。
原因:可能是权限不足或者工具未安装。
解决方法:
sudo
提升权限。sudo apt-get install iptables
sudo apt-get install nftables
原因:可能是规则配置错误或者防火墙未正确配置。
解决方法:
iptables
或 nftables
规则是否正确。iptables
设置端口转发sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
这个命令将外部端口 8080 的流量转发到内部 IP 地址 192.168.1.100 的端口 80。
nftables
设置端口转发sudo nft add table ip nat
sudo nft add chain ip nat prerouting { type nat hook prerouting priority 0 \; }
sudo nft add rule ip nat prerouting tcp dport 8080 dnat to 192.168.1.100:80
sudo nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }
sudo nft add rule ip nat postrouting masquerade
这个命令将外部端口 8080 的流量转发到内部 IP 地址 192.168.1.100 的端口 80。
希望这些信息对你有所帮助!
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云