当前位置: > 故障解决 > CentOS系统问题 >

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

时间:2017-03-30 00:58来源:blog.51cto.com 作者:代码女仆 举报 点击:

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

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

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

发表评论
为了和诣的生活,我关闭了评论页面,请大家到QQ群里交流吧:348944156,也欢迎关注本站微信公众号:centoscn