QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3321|回复: 18

用iptables能否实现公网ip对公网ip的端口影射或转发

[复制链接]
发表于 2004-11-29 17:52:36 | 显示全部楼层 |阅读模式
偶现在需要实现公网ip对公网ip的端口影射或转发,偶得这两个公网ip属于两个不同的网段,偶的端口访问方式有http和tcp,偶想问一下用iptables能否实现,或者有别的方法也行
 楼主| 发表于 2004-11-30 12:42:45 | 显示全部楼层
查了一下,iptables REDIRECT只支持localhost端口
回复

使用道具 举报

发表于 2004-11-30 13:08:46 | 显示全部楼层
[quote:bc3ded6846="lues"]查了一下,iptables REDIRECT只支持localhost端口[/quote]
不是吧,应该是REDIRECT对做代理的本机有效吧。
回复

使用道具 举报

 楼主| 发表于 2004-11-30 13:14:55 | 显示全部楼层
有没有实现的招术?
回复

使用道具 举报

发表于 2004-11-30 13:26:45 | 显示全部楼层
没做过,应该可以,你试着做做。作好了就是VPN了。
回复

使用道具 举报

 楼主| 发表于 2004-11-30 13:33:33 | 显示全部楼层
我想lvs有可能实现,但是太麻烦了。。。我还是想能够利用iptables实现
回复

使用道具 举报

 楼主| 发表于 2004-11-30 17:51:34 | 显示全部楼层
偶实在是难以接受这个事实,上下午的语法一模一样,上午不行,下午就好了
回复

使用道具 举报

发表于 2004-11-30 17:56:18 | 显示全部楼层
怎么实现的?说来听听,很有意思的说。
回复

使用道具 举报

 楼主| 发表于 2004-12-1 07:42:29 | 显示全部楼层
偶以前一直用nat,用得挺好的
$IPT -t nat -A PREROUTING -p udp -d $INET_IP --dport 5632 -j DNAT --to 10.0.0.23:5632
iptables -t nat -A POSTROUTING -d 10.0.0.23 -p udp --dport 5632 -j SNAT --to 10.0.0.11
昨天我们老大说要实现公网对公网的ip影射或转发,我就把上面这段脚本改了一下,就是把私网ip改为了公网ip,但是不行,我当时想公网ip要经过多层路由,不行也是可以理解的,就发了这个帖子,结果下午别人告诉我,就是用这个语法没问题,我还不相信,结果别人就说不信你试试,我说我上午都试过了,不行。然后结果他就给我发了一个地址,我一看,真的可以,我再试了一下,我的也行了。真是气死我了,白浪费一天时间。
回复

使用道具 举报

发表于 2004-12-1 09:57:59 | 显示全部楼层
正常呀,公网的反应慢点,可能有滞后。
回复

使用道具 举报

 楼主| 发表于 2004-12-1 11:30:28 | 显示全部楼层
     可怜的偶呀
回复

使用道具 举报

发表于 2004-12-1 11:58:08 | 显示全部楼层
用 iptables 实现这种转发不是好方法,也容易引起 ARP 表混乱等一系列问题。

个人以为最好的实现是应用层端口转发工具,如 rinetd ( http://www.boutell.com/rinetd )
回复

使用道具 举报

 楼主| 发表于 2004-12-1 12:55:10 | 显示全部楼层
又得学习和请教ing
回复

使用道具 举报

 楼主| 发表于 2004-12-1 13:14:04 | 显示全部楼层
太可惜了,这个东东偶没有机会用了,因为她不支持socket转发,不过偶还是试了一把,碰到个问题


[code:1][root@test7 rinetd]# make install
cc -DLINUX -g   -c -o rinetd.o rinetd.c
cc -DLINUX -g   -c -o match.o match.c
gcc rinetd.o match.o -o rinetd
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8
install: 无法创建一般文件‘/usr/man/man8’: 没有那个文件或目录
make: *** [install] Error 1[/code:1]

这个目录难道要手工建?
回复

使用道具 举报

发表于 2004-12-1 13:38:40 | 显示全部楼层
[quote:1078fcf691="lues"]不支持socket转发[/quote] 什么概念?

install: 无法创建一般文件‘/usr/man/man8’: 没有那个文件或目录

你的配置没有写好吧,通常情况下 应该是 /usr/share/man/manX
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 23:35 , Processed in 0.038552 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表