Linux做NAT服务和端口映射的命令

1. NAT服务

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j SNAT --to 218.222.22.124

 

# 解释

 

echo 1 > /proc/sys/net/ipv4/ip_forward 

 # 启用转发
iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -j SNAT --to 218.222.22.124  # 将所有10.0.2.x的ip的数据包都转发到218.222.22.124这个公网ip,通过这两条命令,即可实现内网ip共享上网

2. 端口映射
iptables -t nat -A PREROUTING --dst 218.222.22.124 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.187:80

# 解释
如果访问218.222.22.124的80端口,则将数据包转发到10.0.0.187的80端口

例子:把10.20.192.75:9000的请求转到10.20.192.73:80上
   在10.20.192.75上操作:
a. echo 1 > /proc/sys/net/ipv4/ip_forward
b. vi /etc/sysconfig/iptables
-A PREROUTING -p tcp -m tcp --dport 9000 -j DNAT --to-destination 10.20.192.73:80
-A POSTROUTING -d 10.20.192.73 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.20.192.75
如果您在 Linux 虚拟机中运行着 Windows 系统,想要进行 NAT 端口映射,可以按照以下步骤进行: 1. 首先,在 Linux 主机上安装并启动虚拟机,确保虚拟机可以正常运行。 2. 在 Linux 主机中打开终端,输入以下命令安装 iptables: ``` sudo apt-get install iptables ``` 3. 确认 iptables 已经安装成功,输入以下命令查看 iptables 版本: ``` iptables --version ``` 4. 在 Linux 主机中打开终端,输入以下命令开启 IP 转发功能: ``` sudo sysctl net.ipv4.ip_forward=1 ``` 5. 在 Linux 主机中打开终端,输入以下命令添加 NAT 规则,将主机的 8888 端口映射到虚拟机的 80 端口上: ``` sudo iptables -t nat -A PREROUTING -p tcp --dport 8888 -j DNAT --to-destination 虚拟机IP:80 ``` 其中,虚拟机 IP 是指 Windows 虚拟机的 IP 地址。 6. 在 Linux 主机中打开终端,输入以下命令添加防火墙规则,允许外部主机访问主机的 8888 端口: ``` sudo iptables -A FORWARD -p tcp -d 虚拟机IP --dport 80 -j ACCEPT ``` 7. 在 Windows 虚拟机中打开浏览器,输入主机的 IP 地址 8888 端口号,例如 http://主机IP:8888,即可访问虚拟机的 80 端口。 注意事项: - 请务必将命令中的“虚拟机IP”替换成实际的虚拟机 IP 地址。 - 在防火墙中开放相应的端口,以允许外部主机访问虚拟机。 - 以上命令仅在当前会话中生效。如果您希望永久生效,请将这些命令添加到适当的启动脚本中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值