免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3032 | 回复: 5
打印 上一主题 下一主题

请教同一网段下两台redhat 9端口转发问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-30 11:59 |只看该作者 |倒序浏览
我公司的两台redhat 9 Linux 服务器在公网的同一网段内,子网掩码,网关都相同。(IPa、IPb)目前需要把IPa的80端口映射到IPb的18000上,IPb的18000是tomcat服务的端口,我用iptable做了在IPa上做了设置:
/sbin/iptables -t nat -A PREROUTING -p tcp -d IPa --dport 80 -i eth0  -j DNAT  --to IPb:18000

我用telnet和直接用浏览器访问,用netstat -an看到在IPb上有连接,但是连接状态总是SYN_RECV
而且打不开tomcat的页面。
希望有经验的朋友帮忙想想办法!

论坛徽章:
0
2 [报告]
发表于 2006-10-30 12:44 |只看该作者
iptables-save出来看一下

论坛徽章:
0
3 [报告]
发表于 2006-10-30 15:21 |只看该作者
这个是执行的教本中的全部内容
#!/bin/sh
#open kell's forward
echo 1 > /proc/sys/net/ipv4/ip_forward

#load modules for iptable
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe ip_tables
modprobe iptable_filter
modprobe ipt_limit
modprobe ipt_state
echo "Starting iptables rules..."

#delete old ruler chain
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT
/sbin/iptables -F PREROUTING -t nat
/sbin/iptables -F POSTROUTING -t nat


iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s *.*.*.224/27 -j ACCEPT

iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


iptables -A INPUT -p tcp -s 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -s 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -s *.*.*.0/24 -j SNAT --to IPa
#gcb
/sbin/iptables -t nat -A PREROUTING -p tcp -d IPa --dport 80 -i eth0  -j DNAT  --to IPb:18000


[root@localhost ~]# iptables-save
# Generated by iptables-save v1.2.11 on Mon Oct 30 15:23:46 2006
*filter
:INPUT ACCEPT [2121:696166]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6383:813856]
-A INPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -j ACCEPT
-A FORWARD -s *.*.70.224/255.255.255.224 -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Oct 30 15:23:46 2006
# Generated by iptables-save v1.2.11 on Mon Oct 30 15:23:46 2006
*nat
REROUTING ACCEPT [10998:1160395]
OSTROUTING ACCEPT [3727:223048]
:OUTPUT ACCEPT [10771:649935]
-A PREROUTING -d IPa -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination IPb:18000
-A POSTROUTING -s *.*.70.0/255.255.255.0 -o eth0 -j SNAT --to-source IPa
COMMIT
# Completed on Mon Oct 30 15:23:46 2006

[ 本帖最后由 wang_yilun 于 2006-10-30 15:33 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-10-30 16:57 |只看该作者
原帖由 wang_yilun 于 2006-10-30 11:59 发表
我公司的两台redhat 9 Linux 服务器在公网的同一网段内,子网掩码,网关都相同。(IPa、IPb)目前需要把IPa的80端口映射到IPb的18000上,IPb的18000是tomcat服务的端口,我用iptable做了在IPa上做了设置:
/sbin/iptables -t nat -A PREROUTING -p tcp -d IPa --dport 80 -i eth0  -j DNAT  --to IPb:18000

我用telnet和直接用浏览器访问,用netstat -an看到在IPb上有连接,但是连接状态总是SYN_RECV
而且打不开tomcat的页面。
希望有经验的朋友帮忙想想办法!


不可以这样用,因为封包过去就回不来了。

其中主要原因是,client --> a --> b 这样流程来看,iptables 该语法把封包丢给 b 时,b 看到的 ip 封包来源是 client,但是 b 的 default gw 不是 a,所以封包不会通过 a 回覆回去,封包传输回应就失败了。

正确方式有很多作法,比方一般的 http proxy 代理的服务达成需求,或者是纯 tcp proxy 也可以。

若你只是要使用 iptables 的话,可以再搭配 SNAT 来伪装 ip。

[/code]iptables -t nat -A POSROUTING -d IPb -j MASQUERADE[/code]

==

==

论坛徽章:
0
5 [报告]
发表于 2006-10-30 19:06 |只看该作者
-A POSTROUTING -s *.*.70.0/255.255.255.0 -o eth0 -j SNAT --to-source IPa

楼上答得非常好

问题出在SNAT上

论坛徽章:
0
6 [报告]
发表于 2006-10-31 10:23 |只看该作者
非常感谢楼上2位的回复,我刚接触iptable,使用的很不熟练,这个脚本也是照着别人在其它机器上做过的配置写的,进行了一点修改而已。还希望能告诉我,正确完整的教本配置。或是其它什么比较简便快捷的配置方法。谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP