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

2017-04-18 03:57:59 11471

==[实现目标]==================

[服务器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

---------------------------------------------------


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: