CentOS 下做端口映射/端口转发
==[实现目标]==================
[服务器A]有2块网卡,一块接内网,一块接外网,[服务器B]只有一块内网网卡;
访问[服务器A]的7890端口跳转至[服务器B]的80端口。
==[硬件设备]==================
服务器A
eth0 10.0.0.49 内网
eth1 192.168.0.222 外网
服务器B
eth0 10.0.0.10 内网

==[步骤实现]==================
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0 这样允许iptalbes FORWARD。
2、 service iptables stop
3、 重新配置规则
iptables -t nat -A PREROUTING -d 192.168.0.222 -p tcp --dport 7890 -j DNAT --to-destination 10.0.0.10:80
iptables -t nat -A POSTROUTING -d 10.0.0.10 -p tcp --dport 80 -j SNAT --to 10.0.0.49
iptables -A FORWARD -o eth0 -d 10.0.0.10 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 10.0.0.10 -p tcp --sport 80 -j ACCEPT
service iptables save
4、 启动iptables 服务, service iptables start ---[简易说明,可跳过]----------------------
iptables -t nat -A PREROUTING -d 192.168.0.222 -p tcp --dport 7890 -j DNAT --to-destination 10.0.0.10:80
#将[服务器A]的网卡eth1中7890端口,指向至[服务器B]的网卡eth0中80端口;
iptables -t nat -A POSTROUTING -d 10.0.0.10 -p tcp --dport 80 -j SNAT --to 10.0.0.49
#将[服务器B]的网卡etch0中80端口,指向回[服务器A]的网卡eth0;
iptables -A FORWARD -o eth0 -d 10.0.0.10 -p tcp --dport 80 -j ACCEPT
#转发规则:[服务器A]网卡eth0 出 至[服务器B]的80端口;
iptables -A FORWARD -i eth0 -s 10.0.0.10 -p tcp --sport 80 -j ACCEPT
#转发规则:[服务器A]网卡eth0 入 至[服务器B]的80端口;
service iptables save
#将当前规则保存到 /etc/sysconfig/iptables
如果希望全端口转发可以使用*号代替指定端口号。
若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则,以下供参考。
--[/etc/sysconfig/iptables 文件内容]--------------
# Generated by iptables-save v1.4.7 on Tue Mar 28 20:26:23 2017
*nat
:PREROUTING ACCEPT [5:322]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 192.168.0.222/32 -p tcp -m tcp --dport 7890 -j DNAT --to-destination 10.0.0.10:80
-A POSTROUTING -d 10.0.0.10/32 -p tcp -m tcp --dport 8086 -j SNAT --to-source 10.0.0.49
COMMIT
# Completed on Tue Mar 28 20:26:23 2017
# Generated by iptables-save v1.4.7 on Tue Mar 28 20:26:23 2017
*filter
:INPUT ACCEPT [1204:145670]
:FORWARD ACCEPT [90:9051]
:OUTPUT ACCEPT [595:85633]
-A FORWARD -d 10.0.0.10/32 -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -s 10.0.0.10/32 -i eth0 -p tcp -m tcp --sport 80 -j ACCEPT
COMMIT
# Completed on Tue Mar 28 20:26:23 2017
---------------------------------------------------
添加端口: # /sbin/iptables -I INPUT -p tcp --dport 端口号 -j ACCEPT 保存设置:# /etc/rc.d/init.d/iptables save 查看是否添加成功:# /etc/init.d/iptables status | grep tcp

CentOS 下做端口映射/端口转发的更多相关文章

  1. tcp/udp/socket 端口映射,转发小工具

    1) 利用 Python 的 Socket 端口转发,用于远程维护 https://github.com/knownsec/rtcp 2) 反向端口转发工具 Reverse TCP Port to U ...

  2. NAT ------ 为什么手动设置NAT端口映射(转发)不成功,导致访问不了局域网服务器

    手动设置端口映射成功的条件是路由器WAN口接的是外网IP,而不是网络提供商的路由器NAT之后的IP.假如有个外网的客户端,连的服务器IP一定要是外网IP(假设IP_A),如果自己的路由器WAN口接的是 ...

  3. CentOS下配置防火墙 配置nat转发服务

    CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network   这里可以更改主机 ...

  4. 简单端口映射、转发、重定向工具-Rinetd

    一.简介 Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的 ...

  5. iptables实现内外网端口映射及转发上网

    前两天在工作中遇到一个需求,某192.168.1.0/24内网网段内只有一台主机A连接到了公网,A的两块网卡分别有一个公网地址(123.234.345.456)和一个内网地址(192.168.1.10 ...

  6. CentOS下修改Apache默认端口80

    打开  /etc/httpd/conf/httpd.conf  文件 修改这个地方     #Listen 12.34.56.78:80     Listen 80 #把80改为你设置的端口,我设置端 ...

  7. centos下如何开放某个端口?

    命令如下: firewall-cmd --permanent --add-port=/tcp (开放22端口) firewall-cmd --reload

  8. CentOS下firewalld添加开放端口

    添加 firewall-cmd --zone=public --add-port=/tcp --permanent (--permanent永久生效,没有此参数重启后失效) 重新载入 firewall ...

  9. windows 自带的 端口映射 端口转向功能

    安装IPV6 netsh interface ipv6 install查看 netsh interface portproxy show all添加 netsh interface portproxy ...

随机推荐

  1. oracle分页,带有排序字段

    select detail_num,carriage_num,ed_date,created_date from (select rownum id,detail_num,carriage_num,e ...

  2. 【测试编码URI的函数】

    //测试编码URI的函数 var url="http://www.phpfamily.org/test.php?search= this is a test&sum=1+2" ...

  3. CCNA笔记(3)

    网络类型 1,局域网 在一定范围的网络连接,只允许内部人员使用 2城域网 一个城市的网络连接在一起 3.广域网 一个省或者一个市的网络 所有的局域网加上广域网就是互联网

  4. burpsuite截断上传webshell

    1.先设置好代理127.0.0.1 8080 2.开启截断模式 3.上传文件会被burp截断 4.在hex下找到你上传的webshell的16进制编码 5.把.后面的源码改为00 点击forward上 ...

  5. webpack编译流程漫谈

    前言 weback在web构建工具的激烈竞争中逐渐脱引而出. 无论是编译速度.报错提示.可扩展性等都给前端开发者耳目一新的感觉.本篇文章是个人对webpack的一点小研究总结. webpack在开发者 ...

  6. 开发问题(一)在windows和linux端口占用问题

    前言 今天在MyEclipse中使用tomcat发现tomcat端口8080竟然被占用了,所以就找了一下解决办法共参考! 在网络程序的调试过程中,经常发生一些出乎意料的事情,比如创建一个TCP服务失败 ...

  7. 基于Windows下浏览器无法正常打开的解决方案

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...

  8. BZOJ 1061: [Noi2008]志愿者招募【单纯形裸题】

    1061: [Noi2008]志愿者招募 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 4813  Solved: 2877[Submit][Stat ...

  9. HDU_5523Game

    Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

  10. ubantu下su命令Authentication failure失败的解决方式

    Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许 su 到 root . 可以使用: sudo passwd 来重新设置root密码,后即可登陆root. ortonwu@ubu ...