【求助】有關動態ip+DI-704P FTP架站



贊助商連結


berimaru
2002-09-30, 12:45 PM
各位大大好
小弟我本來有架站
但是買了DI-704P後
照著有冠網頁上的設定
架了ftp後
發生了以下的問題

有冠說不能用pasv mode
我也確定我關掉了後
出現了下列訊息
PWD
257 "/" is current directory.
FEAT
500 'FEAT': command not understood.
REST 100
350 REST supported. Ready to resume at byte offset 100.
TYPE A
200 Type set to A.
PORT 192,168,2,100,12,159
530 Port command only accepts client IP address.

可以登入
但是無法顯示list
煩請各位大大賜教
我是用g6ftp server v2.0 b7架的站

給版大
如果此篇內容與本版的討論不符
先說聲抱歉
請幫忙轉到適合的板
謝謝

贊助商連結


juotung
2002-10-01, 05:54 AM
有冠說不能用pasv mode
我也確定我關掉了後
出現了下列訊息
PWD
257 "/" is current directory.
FEAT
500 'FEAT': command not understood.
REST 100
350 REST supported. Ready to resume at byte offset 100.
TYPE A
200 Type set to A.
PORT 192,168,2,100,12,159 <-----你的虛擬IP
530 Port command only accepts client IP address.

PORT指令是 ,客戶端給伺服器自己的IP : PORT, 要求伺服器連上自己
所以當客戶端位於NAT後方的時候
PORT指令給伺服器的的是客戶端的虛擬IP
當然連不上去啦
(PORT 192,168,2,100,12,159 這行就是證據)

PASV指令則相反
是伺服器給客戶端自己的IP : PORT, 要求客戶端連上自己(所以叫做被動式(passive) , 伺服器處於被動的狀態)
所以當伺服器端在NAT後方的時候
PASV指令會失敗
因為PASV給的IP : PORT 是伺服器的虛擬IP
友冠的說法就是這個意思

你的case是自己連自己...所以同時是伺服器端又是客戶端
所以不搞點花樣兩種模式都會無法正常運作
看看有沒有辦法將你現在的FTP伺服器的IP強制他使用真實的IP囉

你可以找個沒有用NAT的朋友試試看能不能用PORT模式連上來
如果可以運作
表示你其他的東西都設定無誤了

G6我沒用過
不知道是否可以這樣設定
但我用雷電FTPD可以
我跟你的環境很像, 也是用DJ-704P

另外如果忘了把port 1400-1500打開
PASV也可能會失敗喔
這是要注意的

berimaru
2002-10-01, 03:27 PM
感謝大大賜教
其實我不是自己連自己拉
我是用伺服器的紀錄
拿來貼的
我已經請不在NAT後的朋友試過了
可以正常運作
但是兩方都在NAT後就不行了

再問
如過兩方都在NAT後
能藉由伺服器端的設定
來讓FTP正常運作嗎
如果可以
以我的情況要如何設定呢
如果要改用別的伺服器軟體才行
又要用哪一套呢

在次麻煩各位大大了
謝謝

juotung
2002-10-01, 06:02 PM
我已經請不在NAT後的朋友試過了
可以正常運作
但是兩方都在NAT後就不行了


那這樣就表示其他的設定應該是沒有問題了



再問
如過兩方都在NAT後
能藉由伺服器端的設定
來讓FTP正常運作嗎
如果可以
以我的情況要如何設定呢
如果要改用別的伺服器軟體才行
又要用哪一套呢


理論上是可以的
但我沒有用過G6
所以細節部分就要請用G6的人來回答你了
總之在做法上是
強制伺服器使用外部的IP : PORT

例如 :
如果你是固定的IP
則將伺服器IP設為該固定IP(千萬別設自己的Domain Name)

如果你是外部浮動IP加一組內部的IP
由於你有兩組IP(內外都算)
看看能不能將伺服器設定為自動選擇要用的IP
再將你的內部IP設為排除
如此便可保證伺服器使用外部的IP

或是某些伺服器端的軟體(如雷電FTPD)
可以定時的偵測本機所用的DOMAIN NAME所指向的IP
並強制以該IP當作自己的IP

*在某些情況下
有的TP(Transparent Proxy)會將內部的IP
神不知鬼不覺的轉成外部的IP
所以如果看到PORT 192,168,xxx,xxx,xx,xx 而居然連線成功
並不代表你的伺服器就設對了
那是proxy的功勞