paddy1 发表于 2014-04-16 10:06

关于 开源分布式文件系统FastDFS 无法使用NAT的分析

环境说明:
FastDFS服务器信息:
服务器IP地址:192.168.127.178
对外NAT地址:206.122.165.178

客户端内部地址:192.168.1.126
客户端NAT的外部地址:124.246.136.33

FastDFS的 Tracker server 和 Storage server 都安装在一台服务器上

java.version=1.6.0_27
network_timeout=30000ms
charset=ISO8859-1
java.net.SocketTimeoutException: connect timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:529)
        at org.csource.fastdfs.ClientGlobal.getSocket(ClientGlobal.java:107)
        at org.csource.fastdfs.StorageServer.<init>(StorageServer.java:45)
        at org.csource.fastdfs.TrackerClient.getStoreStorage(TrackerClient.java:158)
        at org.csource.fastdfs.StorageClient.newWritableStorageConnection(StorageClient.java:1938)
        at org.csource.fastdfs.StorageClient.do_upload_file(StorageClient.java:703)
        at org.csource.fastdfs.StorageClient.upload_file(StorageClient.java:164)
        at org.csource.fastdfs.StorageClient.upload_file(StorageClient.java:132)
        at org.csource.fastdfs.StorageClient.upload_file(StorageClient.java:114)
        at org.csource.fastdfs.StorageClient1.upload_file1(StorageClient1.java:67)
        at paddy.FastDfs.Demo.Test.main(Test.java:33)
经过各种调试测试均无法通过,最终通过网络抓包分析得出结果如下:



Client询问Tracker server上传到的Storage server,而返回给客户端的地址是网络内部地址192.168.127.178,客户端无法连接存储服务器。

doit_zzg 发表于 2014-04-16 17:16

首先要保证client 访问 server,网络是通畅的。

例如

1. ping 服务器的那个192.168.x.x的地址
2. telnet 192.168.x.x xxxx

paddy1 发表于 2014-04-18 09:13

有没有 Storage server 对外的代理?如果有就好了

wrangvizer 发表于 2016-09-02 18:27

好像是同样的问题,楼主解决了吗?
页: [1]
查看完整版本: 关于 开源分布式文件系统FastDFS 无法使用NAT的分析