参考文章:

http://jingyan.baidu.com/article/ed15cb1b2a332e1be36981ed.html

http://www.myhack58.com/Article/48/66/2011/31462.htm

1、 net.ipv4.ip_forward参数修改

首先应该做的是/etc/sysctl.conf配置文件的net.ipv4.ip_forward = 1 默认是0 这样允许iptalbes FORWARD。

生效配置:
sysctl -p

2、 清空iptables默认规则

对应的配置文件/etc/sysconfig/iptables

iptables -F
iptables -X
iptables -Z
/etc/rc.d/init.d/iptables save

3、 重新配置iptables规则

server-A (Linux)
eth0 192.168.99.159 内网
eth1 192.168.9.159 外网
server-B (Windows)
eth0 192.168.99.99 内网

需求:将server-A的3389端口映射到server-B的3389端口,实现通过server-A的外网地址访问server-B内网的3389端口。

iptables -t nat -A PREROUTING -d 192.168.9.159 -p tcp --dport 3389 -j DNAT --to-destination 192.168.99.99:3389
iptables -t nat -A POSTROUTING -d 192.168.99.99 -p tcp --dport 3389 -j SNAT --to 192.168.99.159 /etc/rc.d/init.d/iptables save

关于DNAT和SNAT,可参见转载文章:

【转载】Iptables实现公网IP DNAT/SNAT

防火墙策略(这里不用做):

这里是配置eth1还是eth0呢?

iptables -A FORWARD -o eth1 -d 192.168.99.99 -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.99.99 -p tcp --sport 3389 -j ACCEPT

4、 iptables服务启动,设置为开机启动

service iptables start
chkconfig iptables on

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

  1. linux 端口映射设置

    iptables -t nat -A PREROUTING -p tcp --dport 新端口 -j REDIRECT --to-ports 旧端口

  2. Linux端口映射,80端口映射到8080端口

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 其中eth0为外网网卡名称 ipt ...

  3. Linux安装VritualBox实现虚拟机win2003端口映射 支持远程

    1. 使用VNC登录到Linux系统 2. 安装VritualBox 找到VritualBox的软件包 这里的是run格式的 可以直接在终端运行  需要几分钟时间 3.VritualBox新建虚拟机 ...

  4. Linux 双线策略路由的三种实现方式总结+端口映射

    Linux 双线策略路由的三种实现方式总结+端口映射 Linux 双线策略路由的三种实现方式总结+端口映射 网络环境 服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.168. ...

  5. VMware NAT端口映射外网访问虚拟机linux

    本文目的: 一. SSH连接 二. 访问HTTP VMware Workstation提供了两种虚拟机上网方式,一种bridge,一种NAT,bridge可以获得公网地址,而NAT只能是内网地址了. ...

  6. Linux或Windows上实现端口映射

    通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务器经过配置就可以承担起了转发数据包的功能. 一.Windows下实现端口映射 1. 查询端口 ...

  7. linux中的 IO端口映射和IO内存映射

    参考自:http://blog.csdn.net/zyhorse2010/article/details/6590488 CPU地址空间 (一)地址的概念 1)物理地址:CPU地址总线传来的地址,由硬 ...

  8. Linux下端口映射工具rinetd

    Linux下简单好用的工具rinetd,实现端口映射/转发/重定向官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/r ...

  9. linux下简单好用的端口映射转发工具rinetd 转

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载 wget http://www.boutell.com ...

随机推荐

  1. gethostname、gethostbyname

    gethostname():返回本地主机的标准主机名 原型: #include<unistd.h> int gethostname(char *name, size_t len); 参数说 ...

  2. pycharm配置默认代码和注释模板

    有人问,在pycharm新建python文件时,文件开头的注释每次都要重复写,能不能配置成模板?其实pycharm本身自带此功能 在pycharm菜单栏找File -> settings -&g ...

  3. 阿里云服务器25端口禁用之如何使用Java发邮件(解决25端口禁用问题)

    通常我们在本地使用Java发送邮件,通常是没有问题的,但是部署到服务器的话,就可能遇到问题.当然了,这与运营商也有关系.比如我之前在咖啡主机上购买虚拟机,然后将个人网站部署上去,通常是没有问题的,没有 ...

  4. java基础之 final

    参考文档: 内存模型&final:http://www.infoq.com/cn/articles/java-memory-model-6/   根据程序上下文环境,Java关键字final有 ...

  5. Java编程思想之四控制执行流程

    程序必须再执行过程中控制它的世界,并做出选择.在Java中,你要使用执行控制语句来做出选择. 4.1true和false 所有条件语句都利用条件表达式的真或假来决定执行路径. Java不允许使用数字作 ...

  6. Mac OSX下增加TCP连接数

    查看 max files: $ sysctl -a | grep files kern.maxfiles = 12288 kern.maxfilesperproc = 10240 修改: $ sudo ...

  7. 利用python实现汉字转拼音

    安装:pip install pypinyin import pypinyin # 不带声调的(style=pypinyin.NORMAL) def pinyin(word): s = '' for ...

  8. 【转】Spring Boot @Condition 注解,组合条件你知道吗

    原文:https://www.cnblogs.com/FraserYu/p/11280420.html 上一篇文章 你应该知道的 @ConfigurationProperties 注解的使用姿势,这一 ...

  9. CSRF的防御

    声明 本文转自:跨站请求伪造漏洞

  10. Linux内核链表——看这一篇文章就够了

    本文从最基本的内核链表出发,引出初始化INIT_LIST_HEAD函数,然后介绍list_add,通过改变链表位置的问题引出list_for_each函数,然后为了获取容器结构地址,引出offseto ...