前述

改博文使用的是 iptables 来做端口映射。如果使用的系统是 Centos/Redhat/Fedora 那么需要关闭 firewalld 服务才能成功。

firewall 与 iptables 两个防火墙的关系,请自行百度。

打开 IP 转发

打开 IP 转发(路由器设备是默认打开的),必须允许 IP 转发,否则即使设置了 nat 映射规则,也是不能发生映射的,因为不开启转发,包不能被发过去。

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

从一台机器映射到另一台机器

映射关系 192.168.122.1:80 ---> 192.168.122.221:80

192.168.122.221 在 80 端口开启了 nginx 服务器

本地链路的报文是不需要经过 PREROUTING 与 POSTROUTING 的,所以必须配置 OUTPUT 否则在本机上测试会发现转发规则无效!

在 192.168.122.1 配置如下规则,然后在 192.168.122.1(本机) 的机器能访问 “192.168.122.1:80”

iptables -t nat -A OUTPUT -p tcp -d 192.168.122.1 --dport 80 -j DNAT --to 192.168.122.221:80

在 192.168.122.1 配置如下规则,然后在 192.168.122.29(其他设备) 能访问 ”192.168.122.1:80“

# 配置目的地址转换

iptables -t nat -A PREROUTING -p tcp -d 192.168.122.1 --dport 80 -j DNAT --to 192.168.122.221:80

# 配置源地址转换

iptables -t nat -A POSTROUTING -p tcp -d 192.168.122.221 --dport 80 -j SNAT --to 192.168.122.1

从本机一个端口到另一个端口

映射关系 192.168.122.221:8080 ---> 192.168.122.221:80

本地链路上的报文是不需要经过 PREROUTING 与 POSTROUTING 的,所以必须配置 OUTPUT 否则在本机上测试会发现转发规则无效!

192.168.122.221 在 80 端口开启了 nginx 服务器

在 192.168.122.221 配置如下规则, 8080 映射到 80,这样本机能访问 “127.0.0.1:8080”

iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 8080 -j DNAT --to-port 127.0.0.1:80

在 192.168.122.221 配置如下规则, 8080 映射到 80,这样能访问 “192.168.122.221:8080”

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-ports 80

其他

# 查看 nat 链规则

iptables -t nat -L -n --line-number

# 删除规则 POSTROUTING 的规则 1

iptables -t nat -D POSTROUTING 1

linux系统配置设置网络端口映射,Linux 配置端口映射相关推荐

  1. linux系统如何检测网络打印机,Linux系统配置工具网络与打印机与硬件侦测

    Linux系统配置工具网络与打印机与硬件侦测CentOS系统设定工具:setup--Red Hat版本中独有的东东 利用root身份下达setup指令,(使用远程操作系统的时候要切换成英文语系) 主菜 ...

  2. linux系统中怎么设置网络,vmware中linux怎么设置网络

    vmware中linux怎么设置网络 本站整理   发布时间:2009-03-10 12:18:33   作者:jb51.net   我要评论 如果你的XXX卡没被内核支持,又怕自己编译的内核会造成系 ...

  3. VMware、linux虚拟机设置网络实现虚拟机与主机网络互通

    需要配置三个方面才可以,即:WMware网络配置.windows主机网络配置.虚拟机网络配置. 首先,确认VMware虚拟机设置中配置的网络连接方式为:NAT模式 可以在VMware上方的菜单中找到: ...

  4. uboot网络加载linux,DM8148 uboot 网络正常,Linux 起来后网络不通

    DM8148 uboot 网络正常,Linux 起来后网络不通 在 DM814X_TI_EVM 基础上做了些裁剪,在 RGMII0 上接 AR8031 PHY,PHYADDRESS=0,PHYMODE ...

  5. linux c 设置字号_老年Linux:计算机如何适应“老字号”

    linux c 设置字号 我出生于1933年,所以计算机不是我长大的. 实际上,电视,原子能甚至喷气飞机都不是. 在我的前70年中,我既不需要也不想参与计算机. 我退休了,在距离最近的城市50英里的山 ...

  6. linux 怎么设置静态ip,如何在Linux中设置静态IP地址和配置网络

    如果您是Linux系统管理员,那么当您需要在系统上配置网络时,就会出现时间. 与可以使用动态IP地址的台式机不同,在服务器基础架构上,您需要设置静态IP地址(至少在大多数情况下).IP地址 :192. ...

  7. linux如何设置awesome字体,Awesome简单配置

    0.安装之前 操作系统:Ubuntu 14.04 / LinuxMint17 1.安装 sudo add-apt-repository ppa:klaus-vormweg/awesome sudo a ...

  8. linux怎么用网络yum源,Linux配置本地网络YUM源

    配置环境:系统版本:[root@localhost~]#cat/etc/issueRedHatEnterpriseLinuxServerrelease5.8(Tikanga)Kernel\\ronan ...

  9. linux怎么设置屏显示同步,linux设置同步时间

    1.时区的支持 (1)hwclock 为了查看硬件时钟是否为本地时间,运行命令hwclock –r.结果系统提示:"Could not open RTC: No such file or d ...

  10. linux自带网络监控,在Linux中如何通过nload来监控网络使用情况

    nload 是一个 linux 自由软件工具,通过提供两个简单的图形来帮助linux用户和系统管理员来实时监控网络流量以及宽带使用情况:一个是进入流量,一个是流出流量. 我真的很喜欢用nload来在屏 ...

最新文章

  1. 国办支持乡村医生建设 医疗信息化提速
  2. Safari回传值给应用程序
  3. SVN使用之分支、合并
  4. C#通过Outlook发送邮件
  5. 嫌学校 App 太“烂”,极客父母做了开源版本,却遭官方报警?
  6. android画布原理,Android触摸事件如何实现笔触画布详解
  7. Netty从入门到精通-伪异步I/O编程
  8. 图文详细解说DevExpress 2015新版亮点【附文档下载】
  9. Jquery实现确定取消对话框
  10. MySQL入门系列:视图
  11. HHKB-BT 入门指北
  12. JOJ 上的典型题目分类以及参考书目 (以及我的整理)
  13. 信息及信息技术概述(一)
  14. 新版本jdk(9、11、12、13、14)特性
  15. Altium designer实践总结
  16. 怎么禁用Windows 10 自动更新驱动程序
  17. jQuery简介-01
  18. 从零开始搭建EasyDarwin环境——linux系统共享目录实现
  19. 常用网站的pop和stmp服务器地址
  20. c语言单向链表插入字符串,C语言之单向链表

热门文章

  1. Go Web编程(Go语言性能好、语法简单、开发效率高!)
  2. MySQL数据教程(一)数据库概念,超详细安装和配置数据库,数据库可视化界面介绍
  3. 微信小程序消息推送(java)
  4. 激活golang编辑器
  5. MySQL数据库优化之索引优化
  6. C语言数据结构各种结构体的定义
  7. Java项目——Everything 开发思路
  8. ofo(小黄车)项目分析
  9. linux 远程修改时间,linux 获取远程系统时间的例子
  10. 软件测试——测试用例的编写