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. 线上系统/tmp 目录不断增长分析与总结

    1.问题描述 系统配置为单核4G, web 工程配置堆2G,  /tmp目录 二进制文件不断增加,平均一天增加20G, 手动清理/tmp目录,重启系统,问题依旧. 2.分析 /tmp 目录存放系统运行 ...

  2. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)【莫队算法裸题&&学习笔记】

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 9894  Solved: 4561[Subm ...

  3. 51Nod 1277 字符串中的最大值(KMP,裸题)

    1277 字符串中的最大值 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如: ...

  4. css3 样式 圆角

    第一次学习css3 现在总结一下,方便以后查看: 1.border-radius:25px; 这个用来增加圆角属性 2.CSS3边框阴影 在 CSS3 中,box-shadow 用于向方框添加阴影: ...

  5. callback和spring的MD5加密

    举个例子:当我们访问淘宝网站的时候,当点击购物车的时候,这个时候提示用户登录用户名和密码,登录成功后,会返回到购物车的页面.这就是回调. 它不返回淘宝的首页,而是返回到我们点击的内容所在页面. 在写接 ...

  6. 关于responseBody注解中文乱码的问题解决

    在web.xml中定义字符集过滤器: <filter> <filter-name>SpringEncodingFilter</filter-name> <fi ...

  7. ngRx 官方示例分析 - 2. Action 管理

    我们从 Action 名称开始. 解决 Action 名称冲突问题 在 ngRx 中,不同的 Action 需要一个 Action Type 进行区分,一般来说,这个 Action Type 是一个字 ...

  8. cpp - 编译过程

    预处理 E:\CppSpace\hello>g++ -o main.i -E main.cpp E:\CppSpace\hello>dir /p 驱动器 E 中的卷是 固盘-项目 卷的序列 ...

  9. Windows10下用Anaconda3安装TensorFlow教程

    这是我在自己的笔记本电脑上用Anaconda3安装TensorFlow的教程 1. 安装好Anaconda3版本 (1) 注:可以发现最新版本是Anaconda5了(没关系,下载就是了) (2) 注意 ...

  10. JavaScript 变量、类型与计算

    变量类型 变量计算 变量 题目: JavaScript 中使用typeof能得到的有哪些类型? ``` 1.1 变量类型 (1).js中的数据类型:字符串.数字.布尔.数组.对象.Null.Undef ...