CentOS7 通过Firewalld配置NAT服务器以及端口映射

本文介绍了如何在CentOS7上配置NAT服务器,包括更新系统、设置IP地址、启用IP转发、配置防火墙规则、设置IP地址伪装、端口映射以及验证和移除配置的步骤,详细讲解了端口映射的添加和删除,适用于网络管理员和系统运维人员参考。

CentOS7 配置NAT服务器以及端口映

1、环境更新,及安装需要软件

yum -y update
yum -y install net-tools.x86_64

2、配置IP

配置IP地址
	配置外网IP和内网IP
	比如外网:em1-192.168.32.130
	内网IP:	em2-192.168.10.1

3、启用IP转发

	net.ipv4.ip_forward = 1
	sysctl -p

4、启动防火墙

	systemctl start firewalld.service
	systemctl enable firewalld.service

5、修改接口区域

firewall-cmd --zone=external --change-interface=em1 --permanent
firewall-cmd --zone=external --change-interface=em2 --permanent
其中 --permanent表示永久生效

6、设置IP地址伪装

firewall-cmd --zone=external --add-masquerade --permanent

7、设置NAT规则

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o em1 -j MASQUERADE -s 192.168.10.0/24

8、设置生效

firewall-cmd --reload

9、验证

在win7虚拟机中配置ip为 192.168.10.10,网关192.168.10.1(转发机器的IP)

10、开始配置端口映射

firewall-cmd --zone=external --add-forward-port=port=3389:proto=tcp:toport=3389:toaddr=192.168.10.10 --permanent  (192.168.10.10客户端地址)
firewall-cmd --reload

11、查看设置,我这里设置了两个端口

firewall-cmd --zone=external --list-forward-ports

12、移除配置

firewall-cmd --zone=external --remove-forward-port=port=3389:proto=tcp:toport=3389:toaddr=192.168.10.10 --permanent
firewall-cmd --reload
firewall-cmd --zone=external --list-forward-ports
在 VMware 17配置 CentOS 7 虚拟机的 NAT 模式端口映射,主要涉及两个层面的操作:首先是在 VMware 的虚拟网络编辑器中设置 NAT 端口转发规则,其次是确保 CentOS 7 虚拟机内部服务已正确监听并可通过网络访问。以下是详细步骤: ### 配置 VMware 虚拟网络编辑器中的 NAT 设置 1. 打开 VMware Workstation Pro 17,并点击顶部菜单栏的 `Edit` -> `Virtual Network Editor`。 2. 在打开的窗口中选择 `VMnet8 (NAT Mode)`,然后点击 `NAT Settings...` 按钮。 3. 在弹出的 `NAT Settings` 对话框中,切换到 `Port Forwarding` 标签页。 4. 点击 `Add` 按钮来添加新的端口转发规则: - **Description**: 输入一个描述,例如 "Web Server"。 - **Host Port**: 输入主机上用于转发的端口号,例如 8080。 - **Guest IP Address**: 输入 CentOS 7 虚拟机的 IP 地址。 - **Guest Port**: 输入虚拟机内部服务监听的端口号,例如 Web 服务通常为 80。 5. 完成设置后,点击 `OK` 保存更改并关闭所有对话框。 ### 配置 CentOS 7 虚拟机内部服务 确保 CentOS 7 虚拟机内的服务已经启动并且正在监听正确的端口。以 Apache Web 服务器为例,可以通过以下命令检查服务状态和监听端口: ```bash # 启动 Apache 服务(如果尚未运行) sudo systemctl start httpd # 设置 Apache 服务开机自启 sudo systemctl enable httpd # 检查 Apache 是否正在运行 sudo systemctl status httpd # 查看当前监听的端口 ss -tuln | grep 80 ``` 如果需要配置防火墙允许外部访问特定端口(如 HTTP 80 或 HTTPS 443),可以使用如下命令: ```bash # 添加端口到 firewalld 白名单(永久生效) sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp # 重新加载防火墙配置 sudo firewall-cmd --reload ``` ### 测试端口映射是否生效 完成上述配置之后,可以在物理主机或其他局域网设备上通过浏览器访问 `http://<物理主机IP>:8080` 来测试是否能够成功连接到 CentOS 7 虚拟机上的 Web 服务。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lufei0920

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值