A. 如何訪問到外網的ftp伺服器地址
一、路由器下的FTP服務端:
路由器下的FTP服務端,需要解決一個「安全驗證」問題,IE客戶端會核對服務端的IP
地址,因為服務端是內外兩個IP,而使IE客戶端安全驗證失敗,但專業FTP客戶端CuteFTP9、LeapFTP3
可以不核對IP驗證,而使訪問成功,但用戶總是喜歡IE做客戶端,為此需要找一個解決「安全驗證」
的FTP服務端,FileZilla FTP Server就是最實用小巧的FTP理想服務端,只有1M多一點,非常小巧。
二、路由器下的FTP服務端要被外網IE訪問的因素:
1. FTP服務端WINDOWS電腦要關閉自帶的防火牆或設成FTP服務程序為「例外」;
2. 路由器下的電腦伺服器要設成路由器的DMZ主機,這樣服務端埠就.開.放在外網,
才能被外網所訪問,所以,服務端電腦要設成靜態IP如 192.168.1.10,並把路由器的
DMZ主機設為此IP,設DMZ後就不需要再設.端.口.映.射.了;
3. FileZilla FTP SERVER要設成被動方式PASV,並要指定一個外網IP,以解決NAT的安全驗
證問題,否則,客戶端不能被WINDOWS的IE所訪問,但能被CuteFTP訪問;
4. 外網的端.口不能被運營商所封或者不能是共享外網IP地址的NAT代理,埠會因NAT改變;
三、FileZilla FTP Server需要的設定:
1. 需要設定為 Passive被動模式:埠范圍可為設為 10000-10050
2. 指定的IP要設為外IP:以解決「安全驗證」問題
這個外IP就是將要被訪問的FTP://外IP
3. 用戶增加 anonymous,密碼不設,這是匿名方式;
4. 共享文件夾設成你的一個被訪問目錄;
5. 其它21號服務埠等預設參數不需改動。
四、程序說明:
一、FileZilla server.exe 這是後台服務程序,運行後啟動服務就可;
二、FileZilaa Server Interface.exe 這是界面管理程序,讓管理員設定參數的;
B. win7下怎麼搭建伺服器,可以外網訪問的
有公用IP搭建FTP伺服器,外網的用戶就可以實現訪問,具體:
1、打開 "控制面板",選擇"程序" -> "打開或關閉Windows資源",在彈出的窗體里找到 「Internet信息服務」,展開後選擇「Ftp伺服器",然後點擊"確定",此時Windows開始更新功能資源列表。
2、更新完成後,進入"控制面板" -> "系統和安全" -> "管理工具" ,雙擊 "Internet 信息服務(IIS)管理器"。在彈出的窗體中右鍵點擊你的計算機名稱,選擇添加FTP站點。
會彈出如下窗口:
在此窗口中輸入Ftp站點的名稱(例如"myFtp"),物理路徑(例如"d:\myFtp"),點擊 "下一步".在"IP地址"框中輸入本機的IP地址(例如本機IP地址為192.168.1.100),然後點"下一步",(註:此步操作時要根據實際情況,慎重配置),由於本人區域網中的安全問題沒有過於敏感的信息,因此在身份驗證中選中"匿名",並允許所有用戶訪問,執行讀和寫的操作許可權。最後點擊完成。
3、配置防火牆,以便其它用戶通過區域網中其它計算機訪問本計算機中的Ftp資源。進入"控制面板" -> "系統和安全" - > "允許程序通過防火牆" -> 鉤上FTP及後面兩個框選上。
C. 用IIS搭建了一個FTP伺服器,怎麼讓外網訪問
需要在路由器上進行埠映射,以tplink wr886n為例:
1、打開瀏覽器,輸入路由器ip,默認為192.168.0.1;
2、輸入密碼,點擊登錄;
D. win7 搭建了一個ftp伺服器 如何在外網訪問
需在路由器中設置埠映射,以tplink wr886n為例,方法如下:
1、打開瀏覽器,輸入默認ip192.168.0.1回車登錄;
2、登錄對話框,輸入 密碼點擊確定;
3、點擊轉發規則--虛擬伺服器,點擊添加新條目;
E. 怎樣完整搭建可以讓外網訪問的linux伺服器
1、撤銷多餘的服務根據機器的用途,很多服務是不需要的。要是Linux只用作桌面,就不需要sendmail、httpd和另外許多服務。如果你的伺服器只是Web伺服器,也可以關掉許多服務。為此,可轉到管理菜單,檢查服務項目。只需撤銷所有不想啟動的服務選項。
F. 怎麼給內網伺服器配置外網訪問地址
2018-12-11
外網 路由器 訪問地址
114.248.76.186 用戶名:admin 密碼:省略
windows 2012 內網伺服器
ipconfig 192.168.1.22 內網地址
在目標主機,打開「開始→運行」,輸入「regedit」,打開注冊表,
進入以下路徑:修改數值的話需要修改注冊表的兩個地方:
第一個地方:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp
PortNumber值,默認是3389,修改成所希望的埠,比如我的改為4489。
第二個地方:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
PortNumber值,默認是3389,修改成所希望的埠,比如我的4489,這個修改跟前一個修改埠相同。
關閉防火牆
設置登錄用戶名和密碼
參考 https://blog.csdn.net/kxwinxp/article/details/78560402
輸入:114.248.76.186:8389 用戶名Administrator 密碼:略
配置完成
內網能遠程連接伺服器,外網不能:
原因:內網映射的外網內網訪問不了,內網模擬不了外網映射訪問,只能訪問內網伺服器,不然容易形成閉環
解決辦法:
找個外網的人訪問這個外網ip port
G. 如何在自己電腦上架設ftp伺服器,讓別的外網可以訪問,我用的是寬頻ADSL
不知道樓主是否使用路由器連網,如果是,下面提供了詳細的設置方法,如果是直接撥號游緩上網,則更簡單。 一、使用路由器,需要設置路由器的埠映射,就可以實現樓主的要求,具體需要映射的埠是21,21是FTP埠。這里給樓主詳細說下: 1、申請花生殼免費域名。因為ADSL每次撥號後,獲得的IP都是不同的,所以需要動態綁定到域名上,方便其他人記憶和訪問。 2、設置本機固定區域網IP,例如設置為192.168.1.100 3、登陸路由器,找到「虛擬伺服器」選項,這里需要說明一下,不同的路由器型號的配置方法也不完全相同,但一般都會有「虛擬伺服器」這項功能,如果找不到這一項,可以找到「DMZ主機」,DMZ主機可以將內網的某個IP地址的所有埠均對外網開放,不過這樣設置會有安全隱患,建議設置虛擬伺服器 4、在「虛擬伺服器」表格中填入要映射的內網IP,按上面的就是192.168.1.100,在內網埠和外網埠處填21,然後保存重起路由器 5、啟動花生殼並激活域名服務 6、在計算機中安裝SERVER-U軟體,它是一款非常好用的FTP伺服器軟體(我自己用了很多年),有中文版,設置起來非常簡單,如果不會我幫你遠程,設置好後就可以正常訪問了。需要注意,通過路由器配扮空置的伺服器,在內網電腦一般是不能通過域名訪問的,假設在你自己的電腦上訪問你申請的域名,就會出現讓你輸入用戶名和密碼的提示,你怎麼輸入都神缺模是不對的。要外網的電腦才可以正確訪問,這點希望樓主明白。 二、直接ADSL撥號上網的配置方法: 1、申請花生殼免費域名 2、在計算機上啟動花生殼並激活域名服務 3、安裝SERVER-U軟體,設置好後即可成功訪問 差不多就這樣了,有什麼不懂再問我吧
希望採納
H. 怎麼搭建一個可以被外網訪問的linux web伺服器
首先需要將你的web伺服器搭建好,然後需要做NAT,我這里有我的一個做NAT的筆記,分享給你
NAT
拓撲結構圖:
要求:
1.內網能夠ping通外網地址,並且成功訪問外網中的web服務;
2.外網能夠訪問內網的ftp服務。
步驟:
一:內網伺服器配置
1.在內網中設置好ip地址,網關和DNS均為NAT伺服器內網口地址,並搭建好ftp服務,此處略
二:NAT伺服器配置
1.在NAT只能中添加一塊網卡作為 外網卡,並設置好ip地址
2.開啟NAT伺服器的路由功能
[root@c2 ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 //將0改為1
[root@c2 ~]# sysctl -p //永久生效
3.配置防火牆(必須按照以下循序配置,否則配置完成後不能拼通外網,需配置第二次)
#iptables-X
#iptables-t nat -X
#iptables --flush
#iptables -t nat --flush
//以上為重置鏈表的命令
#iptables-t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 202.10.10.12
//這條命令是將內網192.168.1.0/24的源地址映射為NAT伺服器的外網口地址,eth1為外網卡
# iptables -t nat -A PREROUTING -p tcp--dport 21 -j DNAT --to 192.168.1.11
# iptables -t nat -A PREROUTING -p tcp--dport 20 -j DNAT --to 192.168.1.11
//這兩條命令是發布內務的ftp服務
或者:
# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12--dport 21 -j DNAT --to 192.168.1.11
# iptables -t nat -A PREROUTING -p tcp -d 202.10.10.12--dport 20 -j DNAT --to 192.168.1.11
#/etc/init.d/iptablessave
#/etc/init.d/iptablesrestart
驗證:
內網訪問外網的web服務:
[root@c1 ~]# curl 202.10.10.13
web
外網訪問內網的ftp服務(外網的防火牆一定要關閉,否則ls查看目錄時會出錯,或者打開外網的20號埠新建鏈接的也可以)#
[root@c3 ~]# ftp 202.10.10.12
Connected to 202.10.10.12 (202.10.10.12).
220 (vsFTPd 2.2.2)
Name (202.10.10.12:root): ftp01
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode(192,168,1,11,93,1).
ftp: connect: Network isunreachable //列不出內容是因為進入了passive模式
ftp>passive //用passive命令切換passive模式和active模式
Passivemode off.
ftp> ls
200 PORT command successful. Consider usingPASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp>
補充:
刪除防火牆中配置的記錄
[root@c2 ~]# iptables -t nat -L POSTROUTING -n --line-number //列出記錄和記錄序號
[root@c2 ~]# iptables -t nat -D POSTROUTING1 //根據序號刪除記錄
你將內網的ftp服務換成web服務就可以了,主要是弄懂NAT的原理,將內部服務通過DNAT發布到外網
I. Socket編程如何搭建一個外網可以訪問的伺服器
步驟:
1,和代理建立tcp聯接。
2,向代理發送版本的請求信息:
void CCommunicator::SendVer()
{
int datasize = 6;
char tempbuf[6];
tempbuf[0]=5;
tempbuf[1]=4;//標示後面所根的字接數
tempbuf[2]=0;
tempbuf[3]=1;
tempbuf[4]=2;
tempbuf[5]=3;
int senddatalen;
senddatalen=send(m_sock,(char*)tempbuf,6,0);
}
這一步如果失敗,斷開建立的tcp聯接,如果成功,如果需要用戶驗證則進行步驟3,否則進行4.
3,如果需要用戶驗證,則類似:
BOOL CCommunicator::SendUserTest()
{
int usernamelen=0;
int userpasslen=0;
usernamelen=m_strTestUserName.GetLength();
userpasslen=m_strTestUserPass.GetLength();
char tempbuf[100];
tempbuf[0]=5;
tempbuf[1]=usernamelen;//標示後面所根的字接數
strcpy(&tempbuf[2],m_strTestUserName);
tempbuf[2+usernamelen]=userpasslen;
strcpy((char*)&tempbuf [3+usernamelen],m_strTestUserPass);
int senddatalen;
int len;
len=usernamelen+userpasslen+3;
senddatalen=send(m_sock,(char*)tempbuf,len,0);
} 如果失敗,斷開建立的tcp聯接, 如果用戶返回成功,步驟4.
4,發送請求的協議類似:
void CCommunicator::SendRequestUDP()
{
int const datasize=10;
BYTE tempbuf[datasize]; tempbuf[0]=5;
tempbuf[1]=3;//標示UDP連接
tempbuf[2]=0;
tempbuf[3]=1;
tempbuf[4]=0;
tempbuf[5]=0;
tempbuf[6]=0;
tempbuf[7]=0;
*((SHORT*)(&(tempbuf[8])))=m_uBindUDPPort; //UDP在客戶端綁定的埠,就是你本地機器的做udp數據傳送的埠調用
//socket函數後,再調用bind()來邦定一個埠。
char temp;
temp=tempbuf[8];
tempbuf[8]=tempbuf[9];
tempbuf[9]=temp;
int senddatalen=send(m_sock,(char*)tempbuf,datasize,0);
}
如果失敗,斷開建立的tcp聯接,如果返回成功,驗證完畢!步驟5
5,真正的數據傳送,用代理傳送的時候,數據包的前面加上10個位元組類似:
void CCommunicator::CopyDataHead(BYTE * ptempbuf)
{
struct in_addr addr;
addr.s_addr=inet_addr(「202.220.33.333」);//這個ip是伺服器端的ip
ptempbuf[0]=0;
ptempbuf[1]=0;
ptempbuf[2]=0;
ptempbuf[3]=1;
ptempbuf[4]=(char)addr.S_un.S_un_b.s_b1;
ptempbuf[5]=(char)addr.S_un.S_un_b.s_b2;
ptempbuf[6]=(char)addr.S_un.S_un_b.s_b3;
ptempbuf[7]=(char)addr.S_un.S_un_b.s_b4;
*((SHORT*)(&(ptempbuf[8])))=m_uServerUDPPort;//伺服器的埠,就是你最終要發到那個伺服器的埠,也就是你的qq伺服器。
char temp;
temp=ptempbuf[8];
ptempbuf[8]=ptempbuf[9];
ptempbuf[9]=temp;
}
真正發送的時候類似:
int CCommunicator::SendBufferUDP(LPBYTE lpBuf,int nLen)
{
BYTE tempbuf[1000];
int iHeadData=0;
struct sockaddr_in her;
her.sin_family=AF_INET;
her.sin_addr.s_addr=inet_addr(m_szProxyAddr);//代理伺服器
her.sin_port=htons(m_uSocksPort);//發送請求的時候返回的代理伺服器端的埠,記住,這是最重要的。
CopyDataHead(tempbuf);
iHeadData=10;
nLen=nLen+10;
int addr_len;
addr_len=sizeof(struct sockaddr);
CopyMemory((char*)&tempbuf[iHeadData],lpBuf,nLen);
int returndatalen=sendto(m_socket,(char *)tempbuf,nLen,0,(struct sockaddr *)&her,addr_len);
J. 在電腦上搭建伺服器怎麼讓外網訪問
首先查看下你路由器撥號上網獲得的外網IP地址,再看下你電腦獲得的內網IP,然後再路由器上做一個埠映射,就可以直接通過外網IP連接到你伺服器了。映射相應的埠,比如連接SQL需要映射1433,Mysql需要3306,iis需要80等。當然如果路由器可以做NAT,可以直接把你內網的機器通過地址轉換到外網IP。不過,如果實在不懂這些的話,建議去掉路由器直接電腦撥號就可以。