配置iptables实现双机间端口转发

在 http://blog.sina.com.cn/s/blog_702eef650101moqb.html 的基础上,反复测试,得出如下结论:

假设连接172.16.16.44的80端口等同于连接172.16.16.244的22端口,配置文件按下面这样写,172.16.16.44的80端口占用还是不占用都没关系,只要放行就可以了。注意红字部分是重点。

vim /etc/sysconfig/iptables

*nat

:PREROUTING ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A PREROUTING -d 172.16.16.44/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.16.244:22

-A POSTROUTING -d 172.16.16.244/32 -p tcp -m tcp --dport 22 -j SNAT --to-source 172.16.16.44:80

COMMIT

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A FORWARD -s 172.16.16.244/32 -j ACCEPT

-A FORWARD -d 172.16.16.244/32 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

时间: 2024-10-11 13:16:01

配置iptables实现双机间端口转发的相关文章

【20180202】使用iptables做MySQL的端口转发

导读:将一个实例上面的MySQL请求转向另外一个MySQL实例上面. 源服务:172.16.3.6:3306 主库 目标服务:172.16.3.7:3306 从库 访问账户: [email protected] 新旧实例以及搭建主从 在源服务上面开启端口转发服务: shell>> sudo vim /etc/sysctl.conf vim>> net.ipv4.ip_forward=1 ##在文件中修改这个选项为1 shell>> sudo sysctl -p shel

CentOS 下做端口映射/端口转发

==[实现目标]================== [服务器A]有2块网卡,一块接内网,一块接外网,[服务器B]只有一块内网网卡: 访问[服务器A]的7890端口跳转至[服务器B]的80端口. ==[硬件设备]================== 服务器Aeth0 10.0.0.49 内网 eth1 192.168.0.222 外网 服务器B eth0 10.0.0.10 内网 ==[步骤实现]================== 1. 首先应该做的是/etc/sysctl.conf配置文件的

回顾linux端口转发 转发过程感慨

环境: A服务器:  网卡1:192.168.1.151   网卡2:10.10.69.10 B服务器:  网卡1:10.10.69.41 要求: 访问192.168.1.151:1521   即访问 10.10.69.41:1521 启用端口转发: echo 1 > /proc/sys/net/ipv4/ip_forward 清空nat表 iptables -t nat -F 端口转发配置详解: 1.模拟linux转发过程: 通过192.168.1.171访问192.168.1.151:152

Linux-Windows 端口转发

在实际的生产环境中,我们为了安全性,会将一些重要的服务(数据库服务)不开放外网访问,但是当我们某个时刻由于一些特殊需求,需要进行外网访问的时候,我们可以通过端口转发来实现.通过一台和与服务可以互相访问的主机,通过该主机进行端口转发. Windows 端口转发 Linux 端口转发 一.Windows 端口转发 windows 主要是通过 netsh 进行端口转发. listenaddress # 本地监听的ip listenport # 本地监听的端口 connectaddress # 转发请求

[转帖]Linux-Windows 端口转发 netsh 还有 rinetd

https://www.cnblogs.com/operationhome/p/11284559.html 之前自己学习过 netsh 也曾经用过frp 这次学习一下表 rinetd 感觉工具有很多 需要一直保持学习的心态. 在实际的生产环境中,我们为了安全性,会将一些重要的服务(数据库服务)不开放外网访问,但是当我们某个时刻由于一些特殊需求,需要进行外网访问的时候,我们可以通过端口转发来实现.通过一台和与服务可以互相访问的主机,通过该主机进行端口转发. Windows 端口转发 Linux 端

centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发

centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm是否支持a: grep '(vmx|svm)' /proc/cpuinfo vmx是intel cpu支持的svm是AMD cpu支持的如果flags: 里有vmx 或者svm就说明支持VT:如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机. b: 确保BIOS里开启VT: Intel(R)

CentOS下开启配置端口转发

开启IP转发 首先开启IP转发功能,默认是关闭的. 临时修改: # echo 1 >/proc/sys/net/ipv4/ip_forward 修改过后就马上生效,但如果系统重启后则又恢复为默认值0. 永久修改: vi /etc/sysctl.conf # 找到下面的值并将0改成1 net.ipv4.ip_forward = 1 # sysctl -p(使之立即生效) 默认值0是禁止ip转发,修改为1即开启ip转发功能. 配置端口转发 假设用户访问172.16.4.247:728时我想让它转发到

CentOS系统中使用iptables设置端口转发

echo 1 > /proc/sys/net/ipv4/ip_forward 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0    这样允许iptalbes FORWARD. 修改完成后运行以下命令使参数生效:/sbin/sysctl -p 将本地接口IP 61.144.14.72 的3389端口 转发到 116.6.73.229的3389      (主要访问到61.144.14.72的3389端口,就会跳转到116.6.73

Linux 服务器--Iptables 端口转发

日常Iptables 端口转发 需求:公司是局域网络,通过一个外网ip,进行互联网的访问.公司的云平台服务器在公网中,虚拟化平台中有一台内部服务器,用于公司某部门的使用,上面运行www 服务,ssh端口,方便平时上传网站文件.现领导要求将此内部服务器交接给此部门,并只让其在公司内部访问,外面的公网是拒绝访问的. 结构图: 2.解决方法:通过linux 服务器的iptables,利用端口转发,在公司内部通过A机器(或者说A代表某个部门),使其访问到B机器上的特定连接转发至内部机器C上.由于机房服务