linux 添加端口转发规则
时间: 2023-08-03 18:17:05 浏览: 59
在 Linux 中添加端口转发规则通常可以使用 iptables 命令或者 firewalld 服务来实现。
1. 使用 iptables 命令添加端口转发规则
使用 iptables 命令添加端口转发规则的具体操作步骤如下:
首先需要开启 IP 转发功能,可以使用以下命令开启:
```
sysctl -w net.ipv4.ip_forward=1
```
然后添加端口转发规则,比如将主机的 8080 端口映射到虚拟机的 80 端口,可以使用以下命令:
```
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 虚拟机IP:80
iptables -t nat -A POSTROUTING -d 虚拟机IP -p tcp --dport 80 -j SNAT --to-source Linux主机IP
```
其中,`虚拟机IP` 是虚拟机的 IP 地址,`Linux主机IP` 是主机的 IP 地址。
2. 使用 firewalld 服务添加端口转发规则
使用 firewalld 服务添加端口转发规则的具体操作步骤如下:
首先需要开启 IP 转发功能,可以使用以下命令开启:
```
sysctl -w net.ipv4.ip_forward=1
```
然后添加端口转发规则,比如将主机的 8080 端口映射到虚拟机的 80 端口,可以使用以下命令:
```
firewall-cmd --zone=public --add-forward-port=port=8080:proto=tcp:toaddr=虚拟机IP:toport=80
firewall-cmd --zone=public --add-masquerade
```
其中,`虚拟机IP` 是虚拟机的 IP 地址。
无论是使用 iptables 命令还是 firewalld 服务,添加端口转发规则后需要保存设置,以便重启后生效。可以使用以下命令保存 iptables 规则:
```
service iptables save
```
可以使用以下命令保存 firewalld 规则:
```
firewall-cmd --runtime-to-permanent
```