由 zoes 在 04-09-2004 18:55 发表:
iptable做的代理,但不能用MSN的语音
在另一个帖子里看到有人问,但没有得到答案。偶今天也遇到相同的问题;)
用iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MQUERADE
一句话让内部机器上网了,但MSN无法使用语音,偶记得使用ipchains时,可以加载一个语音模块,但在iptable里找不到相应的模块(或者模块名称变化较大,不认识了^_^),哪位朋友搞定过类似的问题?
[img][/img]
由 小毅 在 04-09-2004 19:18 发表:
按错了.看下帖
由 小毅 在 04-09-2004 19:19 发表:
你想用MSN主音...要安装下面的代理...
在iptables加入下面规则 :
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5190 -j REDIRECT --to-ports 5190
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1863 -j REDIRECT --to-ports 1863
代理的安装方法:
先修改包内的firewall.sh文件,按你的网络情况修改下面的网络接口:
> PHP源码: > > * * * > >
>
> # -------------------------
>
> # User configurable section
>
> # -------------------------
>
> #
>
> # The user must uncomment the INSIDE_IF and OUTSIDE_IF
>
> # lines, and select the appropriate network interfaces
>
> # for this script to use to configure networking.
>
> #
>
> # Example ethernet-connected cable / corporate firewall:
>
> # INSIDE_IF=eth0
>
> # OUTSIDE_IF=eth1
>
> #
>
> # Example home LAN with dialup:
>
> # INSIDE_IF=eth0
>
> # OUTSIDE_IF=ppp0
>
>
> > > * * * > >
改完后..按下面步骤安装
> quote:
>
> * * *
>
> 1. Build reaim, and copy the executable to /usr/sbin
>
> 2. Copy the etc/init.d/reaim and etc/logrotate.d/reaim files to the appropriate
>
> directories on your disk.
>
> 3. Run chkconfig --add reaim
>
> 4. Run adduser -c "ReAim Proxy Server" -d / -s /sbin/nologin reaim
>
> 5. Setup your firewall redirections.
>
> 6. Touch /var/log/reaim.log, and chown it to the reaim user.
>
> 7. Run /etc/init.d/reaim start
>
> * * *
这样你就可以MSN语音了~~
由 小毅 在 04-09-2004 19:21 发表:
晕.忘记帖附件了..
现在附上..
由 小山山 在 04-12-2004 13:04 发表:
为什么MSN要这么费事?透明代理为什么这个不行啊?
本子:
M100
由 hgkrt 在 04-12-2004 13:23 发表:
我没这么做,也可以MSN的语音了。。。视频也行。。
MSN6.0以上好像解决了upnp的问题。。
欢迎访问我的个人主页!!!
主机:
网上空间:
http://www.paw.hi-ho.ne.jp/hgkrt
由 小毅 在 04-13-2004 11:28 发表:
> quote:
>
> * * *
>
> 最初由 hgkrt 发表
>
> **我没这么做,也可以MSN的语音了。。。视频也行。。
>
>
>
> MSN6.0以上好像解决了upnp的问题。。 **
>
> * * *
兄弟是怎么做的。。。??
由 zoes 在 04-14-2004 08:54 发表:
感谢“小毅”朋友,偶试试,如果有更方便的做法,请赐教。
MSN:zues_[email protected]
QQ:119249486
[img][/img]
由 zoes 在 04-14-2004 08:57 发表:
> quote:
>
> * * *
>
> 最初由 hgkrt 发表
>
> **我没这么做,也可以MSN的语音了。。。视频也行。。
>
>
>
> MSN6.0以上好像解决了upnp的问题。。 **
>
> * * *
请这位朋友说说具体如何做?
[img][/img]
由 尘飞扬 在 04-14-2004 12:34 发表:
我没视过语音,不过视频可以,squid + iptables透明代理
清风徐来尘飞扬
由 尘飞扬 在 04-14-2004 12:35 发表:
我没试过语音,不过视频可以,squid + iptables透明代理
清风徐来尘飞扬
由 ruochen 在 04-15-2004 20:35 发表:
> quote:
>
> * * *
>
> 最初由 hgkrt 发表
>
> **我没这么做,也可以MSN的语音了。。。视频也行。。
>
>
>
> MSN6.0以上好像解决了upnp的问题。。 **
>
> * * *
你是怎么解决的呢?说下经验!
samaung753dfx+msikt333+duron1.2+128ram+GF2 400+st60G+ecom+samsung52cdrom
+rt8139
winxp+2000server+freebsd5.1+fedora1.0+debian3.0
由 zoes 在 04-17-2004 16:13 发表:
顶上去
[img][/img]
由 hgkrt 在 04-18-2004 03:17 发表:
这是我的iptable...
没作啥,就可以msn了...
>
> 源码:
>
> * * *
>
>
> >
> #!/bin/sh
> >
> #
> >
> # firewall starting firewall
> >
> #
> >
> # chkconfig: 2345 98 01
> >
> # description: setting firewall
> >
> ##########################################################################
> >
> # 设定参数
> >
> ##########################################################################
> >
> INNER_NET=192.168.1.0/24 # LAN 局域网 自由设定
> >
> FWALL_IP=192.168.1.1 # 防火墙的IP 你的机器的真实IP
> >
> INNER_PORT=eth1 # 局域网端IP
> >
> OUTER_PORT=ppp0 # Wan端IP
> >
> IPTABLES="/sbin/iptables" # iptables 命令
> >
> MODPROBE="/sbin/modprobe" # modprobe 命令
> >
> ##########################################################################
> >
> # 模块的加载和设定为内核工作
> >
> ##########################################################################
> >
> $MODPROBE ip_tables
> >
> $MODPROBE iptable_filter
> >
> $MODPROBE ip_conntrack
> >
> $MODPROBE iptable_nat
> >
> $MODPROBE ip_nat_ftp
> >
> $MODPROBE ip_conntrack_ftp
> >
> $MODPROBE ipt_state
> >
> $MODPROBE ipt_MASQUERADE
> >
> $MODPROBE ipt_LOG
> >
> $MODPROBE ipt_REJECT
> >
> $MODPROBE ipt_limit
> >
> # 允许IP masquerade(变换)
> >
> echo 1 > /proc/sys/net/ipv4/ip_forward
> >
> # 忽视ping的broadcast
> >
> echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
> >
> # 检查源IP
> >
> for f in /proc/sys/net/ipv4/conf//rp_filter; do echo 1 > $f; done
> >
> # 记录不可能的(虚假)IP
> >
> for f in /proc/sys/net/ipv4/conf//log_martians; do echo "1" > $f; done
> >
> # 忽视ICMP redirect message
> >
> for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do echo 1 > $f; done
> >
> ##########################################################################
> >
> # 初始化规则
> >
> ##########################################################################
> >
> $IPTABLES -P INPUT DROP # 清空INPUT原始定义
> >
> $IPTABLES -P OUTPUT DROP # 清空OUPUT原始定义
> >
> $IPTABLES -P FORWARD DROP # 清空FORWARD原始定义
> >
> $IPTABLES -F # flash chain
> >
> $IPTABLES -F -t nat
> >
> $IPTABLES -X # 删除用户定义的Chain
> >
> ##########################################################################
> >
> # 用户定义的chain
> >
> ##########################################################################
> >
> #
> >
> # 记录并丢弃非法的包
> >
> #
> >
> $IPTABLES -N DROPPACKET # DROPPACKT chain的生成
> >
> $IPTABLES -A DROPPACKET -j LOG --log-prefix "INVALID_PACKET: " \
> >
> --log-level=3 -m limit --limit 1/s --limit-burst 10
> >
> $IPTABLES -A DROPPACKET -j DROP
> >
> #
> >
> # 检查SYNFlood攻击的chain
> >
> #
> >
> $IPTABLES -N SYNFLOOD # SYNFLOOD chain的生成
> >
> # 没有超过限定值的话返回
> >
> $IPTABLES -A SYNFLOOD -m limit --limit 10/s --limit-burst 20 -j RETURN
> >
> # 超过限定值,就视为SYNFLOOD攻击,记录并丢弃
> >
> $IPTABLES -A SYNFLOOD -m limit --limit 1/s --limit-burst 10 -j LOG \
> >
> --log-level=1 --log-prefix "SYNFLOOD: "
> >
> $IPTABLES -A SYNFLOOD -j DROP
> >
> #
> >
> # 记录非法的Flag TCP,并丢弃
> >
> #
> >
> $IPTABLES -N DROPFLAGS # DROPFLAGS chain的生成
> >
> $IPTABLES -A DROPFLAGS -j LOG --log-prefix "INVALID_FLAGS: " \
> >
> --log-level=3 -m limit --limit 1/s --limit-burst 10
> >
> $IPTABLES -A DROPFLAGS -j DROP
> >
> #
> >
> # 检查TCP Flag的非法组合
> >
> #
> >
> $IPTABLES -N CHKFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ACK,FIN FIN -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ACK,PSH PSH -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ACK,URG URG -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags FIN,RST FIN,RST -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags SYN,RST SYN,RST -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ALL ALL -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ALL NONE -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ALL FIN,PSH,URG -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROPFLAGS
> >
> $IPTABLES -A CHKFLAGS -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROPFLAGS
> >
> #
> >
> # 拒绝 Microsoft 网络相关的FORWARD
> >
> #
> >
> $IPTABLES -N CHKMSNET
> >
> $IPTABLES -A CHKMSNET -p tcp --dport 42 -j DROP # wins dup
> >
> $IPTABLES -A CHKMSNET -p tcp --dport 135 -j DROP # MS-RPC
> >
> $IPTABLES -A CHKMSNET -p udp --dport 135 -j DROP # MS-RPC
> >
> $IPTABLES -A CHKMSNET -p udp --dport 137:138 -j DROP # MS browse
> >
> $IPTABLES -A CHKMSNET -p udp --dport 137:138 -j DROP # MS browse
> >
> $IPTABLES -A CHKMSNET -p tcp --dport 139 -j DROP # SMB
> >
> $IPTABLES -A CHKMSNET -p tcp --dport 445 -j DROP # DHSMB
> >
>
> >
> ##########################################################################
> >
> # INPUT Chain
> >
> ##########################################################################
> >
> # Localhost的话,全部许可
> >
> $IPTABLES -A INPUT -i lo -j ACCEPT
> >
> # 检查包的正确性
> >
> $IPTABLES -A INPUT -m state --state INVALID -j DROPPACKET
> >
> # 检查包是否是SYN攻击
> >
> $IPTABLES -A INPUT -p tcp --syn -j SYNFLOOD
> >
> # TCP FLAG的检查
> >
> $IPTABLES -A INPUT -p tcp -j CHKFLAGS
> >
> # 许可LAN内的连接
> >
> $IPTABLES -A INPUT -i $INNER_PORT -s $INNER_NET -j ACCEPT
> >
> # 许可已经建立的连接
> >
> $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
> >
> # 检查是否是IP伪装
> >
> $IPTABLES -A INPUT -i $OUTER_PORT -s $INNER_NET -j DROP
> >
> #
> >
> # 许可的服务(对外部公开的服务,在下面记述)
> >
> #
> >
> $IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT # SSH
> >
> $IPTABLES -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT # HTTP
> >
> $IPTABL