一、环境和要实现功能
   PC1的网络设置如下:
   eth0       192.168.0.29 内网
   eth1
219.239.11.22 外网
  PC2的网络设置则为:192.168.0.21
内网
  我们要实现的功能就是将PC1的8080端口映射到PC2的80端口,也即访问
http://219.239.11.22:8080
即可访问到PC2上的WEB服务。
  二、实现步骤
  1、
首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0
    这样允许iptalbes
FORWARD。
  2、 在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下
  Usage: ./iptables
{start|stop|restart|condrestart|status|panic|save}
  相当与service iptables
{….}
  把iptables 服务停止,清除以前的规则,存盘
  到/etc/rc.d/init.d目录下,运行
  ./iptables
stop
  iptalbes -F
  iptalbes -X
  iptalbes -Z
  ./iptables
save
  3、 重新配置规则
  iptables -t nat -A PREROUTING -d 219.239.11.22 -p tcp
-m tcp --dport 8080 -j DNAT --to-destination 192.168.0.21:80
  iptables -t
nat -A POSTROUTING -d 192.168.0.21 -p tcp -m tcp --dport 80 -j SNAT --to-source
192.168.0.29
  iptables -A FORWARD -o eth0 -d 192.168.0.21 -p tcp –dport 80
-j ACCEPT
  iptables -A FORWARD -i eth0 -s 192.168.0.21 -p tcp –sport 80 -j
ACCEPT
  DNAT SNAT 的请参考帮助,这里不再陈述。
  4、 新的规则存盘
  ./iptables
save
  规则存盘后在/etc/sysconfig/iptables这个文件里面,若你对这个文件很熟悉
  直接修改这里的内容也等于命令行方式输入规则。
  5、
启动iptables 服务
  ./iptables
start
  在/proc/net/ip_conntrack文件里有包的流向,如下面
  tcp      6 53 TIME_WAIT
src=../../221.122.59.2 dst=219.239.11.22 sport=7958 dport=8080 packets=9
bytes=1753
         src=../../172.18.10.205 dst=172.18.10.212 sport=80
dport=7958 packets=9 bytes=5777 [ASSURED] use=1

iptables 端口映射的更多相关文章

  1. docker iptables 端口映射 nat

    docker  iptables  端口映射  nat #!/bin/bash pro='tcp' NAT_Host='Host_A' NAT_Port=8080 Dst_Host='Host_B' ...

  2. iptables端口映射

    见上节透明代理设置 #iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT -- ...

  3. Docker(33)- 如何修改 docker 容器的端口映射

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 问题背景 docker run ...

  4. linux下用用iptables做端口映射的shell

    情形一:跨网络.跨主机的映射Full-Nat 我们想到达主机B的80端口,但是由于网络限制可能无法直接完成.但是我们可以到达主机A的8080端口,而主机A可以直接到达B的80端口.这时候可以使用ipt ...

  5. iptables nat及端口映射

    iptables nat及端口映射 发布: 2010-6-11 15:05 | 作者: admin | 来源: SF NetWork 门户网站 iptables 应用初探(nat+三层访问控制) ip ...

  6. VMware实现iptables NAT及端口映射

    1. 前言 本文只讲解实战应用,不会涉及原理讲解.如果想要了解iptables的工作流程或原理可参考如下博文. 具体操作是在PC机的VMware虚拟机上进行的,因此涉及的地址都是内网IP.在实际工作中 ...

  7. iptables filter表 案例、iptables nat表的路由功能 、端口映射

    1.小案例 #!/bin/bashipt="/usr/sbin/iptables"$ipt -F$ipt -P INPUT DROP$ipt -P OUTPUT ACCEPT$ip ...

  8. ip route,ip rule, iptables和docker的端口映射

    iptables 默认5个表, 不可增加其他表 raw 用于配置数据包,raw 中的数据包不会被系统跟踪. filter 是用于存放所有与防火墙相关操作的默认表. nat 用于 网络地址转换(例如:端 ...

  9. iptables实现端口映射(本地和远程端口映射)

    说明:需要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,这就需要用到iptables的端口映射 实现:1. 需要先开启linux的数据转发功 ...

随机推荐

  1. CheckedListBoxControl 或CheckedListBox 控件中显示水平滚动条 z

    public partial class Form1 : Form { public Form1() { InitializeComponent(); DisplayHScroll(); } /// ...

  2. python 使用cx-freeze打包程序

    python环境 3.6.5      win7   linux环境同理 先尝试了PyInstaller   ,打包时一直提示 no module named gtk   而gtk 又依赖pygobj ...

  3. angular - 安装 -1

    在阅读以下教程以前,请安装node,请先确保您的使用平台:Win.Mac.Linux 首次安装node以后,我们先检测版本 node -v npm -v 这样就代表安装成功,那么我们可以进入下一步了 ...

  4. java要在命令行执行eclipse的项目的方法

    在命令行运行eclipse的项目时须要把该项目生成一个能够运行的jar包,才干够在命令行下运行:分为两种情况,一种是项目中没有调用第三方的jar包,这样的比較简单.网上的资源也非常多,本文主要讲述第二 ...

  5. match excel test search replace 用法

    1 test:测试string是否包含有匹配结果,包含返回true,不包含返回false. 2 reg.test(str) 3 <script type="text/javascrip ...

  6. Spring的Scheme位置

    org.springframework.aop.config org.springframework.contex.config org.springframework.ejb.config org. ...

  7. MySQL中文显示乱码

    http://blog.csdn.net/acmain_chm/article/details/4174186 

  8. UVA 610 - Street Directions(割边)

    UVA 610 - Street Directions option=com_onlinejudge&Itemid=8&page=show_problem&category=5 ...

  9. HDU 4923 Room and Moor(推理+栈维护)

    HDU 4924 Room and Moor 题目链接 题意:给定一个01组成的a序列.要求一个b序列,b序列每一个数值为[0, 1]之间的数,而且b序列为非递减序列,要求∑(ai−bi)2最小,求这 ...

  10. muduo::Connector、TcpClient分析

    Connector TcpClient Connector Connector用来发起连接. 在非堵塞网络中,主动发起连接比被动接收连接更为复杂,由于要考虑错误处理,还要考虑重试. 主要难点在于 1. ...