[转贴]Linux代理下的语音对话-来自浮云

由 quanliking 在 10-01-2002 10:58 发表:

[转贴]Linux代理下的语音对话-来自浮云

我看了一下,写的不详细,可能对使用在内网中使用netmeetint或gnomemeeting

来呼叫公网主机不成功的朋友有所帮助。

方案一:很长时间以来,我一直很困惑于h323这个乱用端口的破协议(就是netmeeting用的那个)

由于他是动态端口传输数据,呼叫端口又是被叫方发起,使得NAT代理变得极其复杂

内网和外网之间的Netmeeting呼叫总是不成功

最近,新的Iptables里加入了h323的应用层代理协议,至少我可以从内网来呼叫别的公网上的机器了

命令如下

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1720 -j DNAT --to 192.168.0.2:1720

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 1503 -j DNAT --to 192.168.0.2:1503

解释一下

eth1是我的服务器外网设备,192.168.0.2是我的客户机内网地址

1720是h323hostcal端口,1503我也不知道是啥................

这样作也有一定的限制:

1:你需要能够在代理服务器上设置iptables

2:所有内网只有一台机能够呼叫,从上面的命令可以看出,所有发往主机1720端口和1503端口的TCP包都被转发到192.168.0.2了,这就意味这only you

3:你只能作主叫,不能作被叫,且对方Netmeeting必须在公网IP的主机上

4:我不知道哪个版本的kernel和iptabes是实现这个最低要求,所以如果你的linux无法实现这个代理,升级先(我用的是Mandrake9 beta2,kernel 2.4.19,iptables 1.26a)

评:可能这样就只有你一台机器可以对外用netmeeting了

另外还要允许外部主机发起主动连接,不太安全

方案二:架设H323服务器

在有公网IP的开设h323的转发服务,可以到 www.openh323.org 下载openmcu服务器,有windows和linux两个版本

启动命令如下

openmcu -n

-n的意思是没有gatekeeper

此时,缺省的聊天room是"room001",netmeeting是无法切换room的,只好委屈在缺省room里了,gnomemeeting是可以用room@servername来访问的

如果需要视频服务,加上-v --videolarge

如果需要改为系统启动时自动启动服务,就在启动文件里加上

openmcu -n -v --videolarge --disable-menu > /dev/null &

这种方案是我比较喜欢的,它支持多方同时视

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus