當前位置:首頁 » 幣種行情 » 如何搭建eth抽水伺服器

如何搭建eth抽水伺服器

發布時間: 2023-01-04 19:31:22

① 1000分!我想搞網站(下載類網站),請問怎樣搭建伺服器

Squid是Linux下最為流行的代理伺服器軟體,它功能強大,支持對HTTP、FTP、Gopher、SSL、WAIS等協議的代理; 設置簡單,只需對配置文件稍稍改動就可使代理伺服器運轉起來。此外,Squid具有頁面緩存功能,它接受用戶的下載申請,並自動處理所下載的數據。

前期准備

Squid對硬體的要求是: 內存不應小於128M,硬碟轉速越快越好,最好使用伺服器專用SCSI硬碟,對CPU的要求不高,400MHz以上即可。筆者所管理的代理伺服器是Inter2150,安裝了Red Hat Linux 7.2,安裝時就帶有Squid。有兩塊網卡,一塊eth0配外部地址(比如211.88.99.66),一塊eth1配內網地址(比如192.168.5.1)。如果安裝了Gnome或其他圖形界面,就可以在netconfig中給兩塊網卡配置IP地址,不然的話,可在/etc/sysconfig/network-script路徑下更改文件ifcfg-eth0和ifcfg-eth1。

首先編輯ifcfg-eht0,有以下幾項:

DEVICE=eth0 (表示用哪塊網卡)

IPADDR=211.88.99.66 (設置該網卡的IP地址)

NETMASK=255.255.255.252 (設置子網掩碼)

同樣編輯ifcfg-eth1,然後運行命令network restart就可以使配置生效了。對eth0、eth1進行配置後,可以用ifconfig命令來查看是不是配置成功。

如果伺服器只有一張網卡,也不用擔心,Linux可以在一塊網卡上綁定多個IP地址。在圖形界面下配置很簡單,不贅述。如果在文本狀態下配置,可以將ifcfg-eth0復制並命名為ifcfg-eth0:1,把它完全當成兩塊網卡來配就可以了。

Squid的安裝

1. 安裝Linux

安裝Linux在硬碟分區時要注意,最好不要讓系統自己分區,而是手動分區。通常,在Linux系統中有且僅有一個交換分區(在文件系統形式中選擇Linux swap),它用做虛擬內存,建議將交換分區的大小設置為內存的兩倍。當硬碟的大小超過了8G,要再建立一個128M(稍稍大一點,不會出錯)的boot分區,這是為了避免將系統內核文件放到1024磁軌以外,如果將boot作為root分區的一個子目錄,內核文件就會安裝在root分區的任何地方。因為要用做代理伺服器,建議再分一個分區「var」,作為Squid的緩沖區,所以根據磁碟大小盡量分配大一點,最後將硬碟的剩餘空間全部分給root分區。

2. 安裝Squid

新手安裝Squid,建議在安裝Linux時就選中Squid,它並不是默認選中項,而且也不在選擇的大類中,要在詳細列表中查找。如果沒有安裝,又不想重裝系統,可以從www.squid-cache.org下載Squid軟體。

Squid代理伺服器的設置

安裝好Squid後幾乎就可以用了,用編輯器打開/etc/squid/squid.conf文件(以root登錄),Squid的配置文件共有125個配置項,但是一般來說,只要修改幾個配置項即可。找到「http_access deny all」並改為「http_access allow all」令所有的電腦都能通過代理服務訪問互聯網資源。其實只要修改該項,Squid服務就可以啟動了。

為了更好地控制代理伺服器的行為,還有幾個可配置項需要考慮:

1. cache_mem: 設置代理服務使用的內存大小,一般推薦為物理內存的三分之一。

2. cache_dir:設定緩存的位置、大小。一般格式如下:

cache_dir /var/spool/squid/cache 100 16 256

cache_dir指定cache目錄的路徑,默認為/var/spool/squid/cache。

/var/spool/squid/cache代表緩存的位置,使用squid -z指令會在這個目錄下建立存儲交換文件(swap files)的目錄。100表示緩存最大為100M,16和256代表一級和二級目錄數。實際使用時,100M是不夠的,如果硬碟夠大,可以增加存儲空間,比如:cache_dir /var/spool/squid/cache 2000 16 256。

3. http_port:代理服務使用的埠號,默認為3128,可以使用其他的埠,注意將前面的注釋符號「#」去掉。另外,使用埠不能和其他的服務重復,如果使用1024以下的埠,Squid必須以root身份運行。

4. maximum_object_size: 指定Squid可以接收的最大對象的大小。Squid預設值為4M,可以根據自己的需要進行設定。

啟動Squid

Squid可以設置為自動啟動。運行命令setup,在System services選項中選中Squid。設置後每次重新開機,都會自動執行Squid。

如果是第一次啟動,要建立/var/spool/squid下的暫存資料目錄,先輸入squid -z,再啟動Squid(直接運行Squid即可)。

啟動Squid後,在另一台Windows電腦上(以Internet Explorer 5.0為例)運行IE,單擊「工具」,接著單擊「Internet選項」,再單擊「連接」選項卡,選擇「區域網設置」。在「區域網設置」窗口中的「地址」處填上Squid伺服器的IP地址,在「埠」處填上「3218」(Squid軟體默認代理的埠號),確定後退出。接下來,隨意瀏覽一些網站檢查Squid的運行情況,也可以查看logs下的access.log和cache.log,看看代理是否運行正常。

代理伺服器的安全

代理伺服器是一個單位對外的門戶,安全至關重要。因此,應該採取必要的防護手段。

1. 防火牆的配置

為了保證代理伺服器的安全,最好加上防火牆,可以用IPchains或IPtable。

要使用ftp代理,還必須載入相關模塊。可以使用以下命令:

modprobe ip_comtrack_ftp

modprobe命令會自動載入指定模塊及其相關模塊。iptables_filter模塊會在運行時自動載入。

下面用IPtables一步一步地來建立包過濾防火牆,需要說明的是,在這個例子中,主要是對內部的各種伺服器提供保護。

給IPtables規則設置一個存儲路徑: iptables -restroe /etc/sysconfig/iptables。

現在開始考慮規則。在這里需要注意的是,伺服器/客戶機交互是雙向的,所以不僅僅要設置數據包出去的規則,還要設置數據包返回的規則,下面先建立針對來自Internet數據包的過濾規則。

1. 首先禁止轉發任何包,然後再一步步設置允許通過的包。

2. 先允許源為內網的所有埠的TCP包。

3. 再允許目的為內部網(192.168.5.0/24)的FTP數據包。

4. 允許目的為內網的來自Internet的非連接請求TCP包。

5. 最後一條接收所有UDP包,主要是針對oicq等使用UDP的服務。

6. icmp包通常用於網路測試等,故允許所有的icmp包通過。但是黑客常常採用icmp進行攻擊,如「ping of death」等,所以我們採用limit匹配擴展加以限制。對不管來自哪裡的icmp包都進行限制,允許每秒通過一個包,該限制觸發的條件是10個包。

不需要允許WWW服務的包,所有WWW服務由Squid代理。

iptables -P FORWARD DROP

iptables -A FORWARD -p tcp -s 198.168.5.2 -i eth0 -j ACCEPT

iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 198.168.5.0/24 -i eth0 -j ACCEPT

iptables -A FORWARD -p tcp -d 198.168.80.0/24 ! -syn -i eth0 -j ACCEPT

iptables -A FORWARD -p udp -d 198.168.80.0/24 -i eth0 -j ACCEPT

iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

說明:

-A加入(append) 一個新規則到一個鏈 (-A)的最後。(用-I可以插入一條規則,插入位置序號寫在Forward後,-D在鏈內某個位置刪除(delete) 一條規則,-R在鏈內某個位置替換(replace) 一條規則 )。

Forward鏈、Input鏈和Output鏈的區別如下:

1. 如果數據包的目的地址是本機,則系統將數據包送往Input鏈。如果通過規則檢查,則該包被發給相應的本地進程處理;如果沒有通過規則檢查,系統就會將這個包丟掉。

2. 如果數據包的目的地址不是本機,也就是說,這個包將被轉發,則系統將數據包送往Forward鏈。如果通過規則檢查,則該包被發給相應的本地進程處理; 如果沒有通過規則檢查,系統就會將這個包丟掉。

3. 如果數據包是由本地系統進程產生的,則系統將其送往Output鏈。如果通過規則檢查,則該包被發給相應的本地進程處理;如果沒有通過規則檢查,系統就會將這個包丟掉。

-s指定源地址,-d指定目的地址。

-p 指定協議,比如-p tcp。

-i或-o指定網路介面。需要注意的是,對於Input鏈來說,只可能有-i,也即只會有進入的包;同理,對於Output鏈來說,只可能有-o,也即只會有出去的包。只有Forward鏈既可以有-i的網路介面,也可以有-o的網路介面。

Drop表示符合規則就丟棄包,Accept相反。

然後,執行命令IPtables -L,可以查看已經建立的規則,並用命令IPtables -save將規則寫入文件。

通過以上步驟,我們建立了一個相對完整的防火牆,只對外開放了有限的幾個埠,同時提供了客戶對Internet的無縫訪問。

2. 其他建議

為了安全,最好不要在一台機器上運行太多服務。為了方便調試,一般都會提供telnet和ftp服務,但這往往是安全隱患,可以在/etc/host.allow和/etc/host.deny中進行限制。比如:區域網的內網網段為: 192.168.0.0,可以在hosts.allow文件中加入一行: telnet:192.168.0.0/255.255.0.0。在hosts.deny中加入一行:all:all。因為是先執行host.allow,再執行host.deny。所以上面就只打開了內網網段的telnet服務,而對外關閉。如果想打開其他服務,可以再加。如果還想加上機器名,可以在IP後加上「@abc」(abc代表某機器名)。想關閉所有服務、所有IP、所有機器名,可以在host.deny中寫上「all:all@all」。配置好了運行命令xinetd.d,配置就生效了。如果想遠程訪問代理伺服器,最好用SSH(因為telnet是明碼傳送,所以很不安全,SSH可以理解為加密的telnet),它的配置和應用比較簡單,不贅述

② 在一個區域網中(沒有dhcp服務)用docker搭建一個dhcp伺服器

1、使用的鏡像
sudo docker pull networkboot/dhcpd

2、測試的區域網拓撲結構如下:h為 DHCP伺服器,ovs交換機s1、s2、s3各連著一台等待分配ip地址的主機。

3、h DHCP伺服器通過一對暴露於root namespace 的veth pair相連,具體操作如下
3.1、生成交換機s1、s2、s3
sudo ovs-vsctl add-br s1sudo ovs-vsctl add-br s2sudo ovs-vsctl add-br s3

3.2、創建veth pair 即 v1-v2
sudo ip link add v1 type veth peer name v2

3.3、**up
sudo ip link set dev v1 upsudo ip link set dev v2 up

3.4、給v1配置ip及子網掩碼
sudo ifconfig v1 192.168.1.254 netmask 255.255.255.0

3.5、生成DHCP伺服器,監聽v1 ,掛載本地data文件夾,data裡面中只有dhcpd.conf文件
sudo docker run -it \--rm --net host \--init \--name=dhcpServer1 \-v ~/emxbook/docker-dhcpd/data:/data \networkboot/dhcpd v1

dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {option routers 192.168.1.1;option subnet-mask 255.255.255.0;option domain-name "emx.local";option domain-name-servers 8.8.8.8;range 192.168.1.2 192.168.1.100;}

3.5、將v2連接到交換機上
sudo ovs-vsctl add-port s1 v2

3.6、交換機s1、s2、s3彼此相連
sudo ovs-vsctl add-port s1 s1p1sudo ovs-vsctl set Interface s1p1 type=patchsudo ovs-vsctl set Interface s1p1 options:peer=s2p1sudo ovs-vsctl add-port s2 s2p1sudo ovs-vsctl set Interface s2p1 type=patchsudo ovs-vsctl set Interface s2p1 options:peer=s1p1sudo ovs-vsctl add-port s1 s1p2sudo ovs-vsctl set Interface s1p2 type=patchsudo ovs-vsctl set Interface s1p2 options:peer=s3p1sudo ovs-vsctl add-port s3 s3p1sudo ovs-vsctl set Interface s3p1 type=patchsudo ovs-vsctl set Interface s3p1 options:peer=s1p2

3.7、創建主機h1、h2、h3,並將其連接到交換機上,其中ubunut:5是添加了基本net-tools、isc-dhcp-client,創建的時候記得使用 --cap-add=NET_ADMIN
sudo docker run -itd --network=none --name=h1 --cap-add=NET_ADMIN ubuntu:5sudo docker run -itd --network=none --name=h2 --cap-add=NET_ADMIN ubuntu:5sudo docker run -itd --network=none --name=h3 --cap-add=NET_ADMIN ubuntu:5sudo ovs-docker add-port s1 eth1 h1sudo ovs-docker add-port s2 eth1 h2sudo ovs-docker add-port s3 eth1 h3

3.8、可以使用floot-light控制交換機s1、s2、s3交換機(選擇)
sudo ovs-vsctl set-controller s1 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s2 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s3 tcp:127.0.0.1:6653

4、使用dhclient eht1 向DHCP伺服器申請
4.1、申請ip之前

4.2、申請ip(伺服器端界面)

4.3申請ip之後,h1(192.168.1.38):

同理,h2(192.168.1.39):

h3(192.168.1.40):

5、測試
5.1、h1 ping h2(192.168.1.39):

5.2、h2 ping h3(192.168.1.40):

6、最後拓撲結構圖,ip分配之後的拓撲結構:DHCP伺服器(192.168.1.6)、h1(192.168.1.38)、h2(192.168.1.39)、h3(192.168.1.40)

7、代碼匯總參考
sudo ovs-vsctl add-br s1sudo ovs-vsctl add-br s2sudo ovs-vsctl add-br s3sudo ip link add v1 type veth peer name v2sudo ip link set dev v1 upsudo ip link set dev v2 upsudo ifconfig v1 192.168.1.6 netmask 255.255.255.0sudo docker run -it \--rm --net host \--init \--name=dhcpServer \-v ~/emxbook/docker-dhcpd/data:/data \networkboot/dhcpd v1sudo ovs-vsctl add-port s1 v2sudo ovs-vsctl add-port s1 s1p1sudo ovs-vsctl set Interface s1p1 type=patchsudo ovs-vsctl set Interface s1p1 options:peer=s2p1sudo ovs-vsctl add-port s2 s2p1sudo ovs-vsctl set Interface s2p1 type=patchsudo ovs-vsctl set Interface s2p1 options:peer=s1p1sudo ovs-vsctl add-port s1 s1p2sudo ovs-vsctl set Interface s1p2 type=patchsudo ovs-vsctl set Interface s1p2 options:peer=s3p1sudo ovs-vsctl add-port s3 s3p1sudo ovs-vsctl set Interface s3p1 type=patchsudo ovs-vsctl set Interface s3p1 options:peer=s1p2sudo docker run -itd --network=none --name=h1 --cap-add=NET_ADMIN ubuntu:5sudo docker run -itd --network=none --name=h2 --cap-add=NET_ADMIN ubuntu:5sudo docker run -itd --network=none --name=h3 --cap-add=NET_ADMIN ubuntu:5sudo ovs-docker add-port s1 eth1 h1sudo ovs-docker add-port s2 eth1 h2sudo ovs-docker add-port s3 eth1 h3sudo ovs-vsctl set-controller s1 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s2 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s3 tcp:127.0.0.1:6653

③ ETH blockscout瀏覽器搭建(docker版本)

想在本地搭建個eth的區塊瀏覽器,用於交易、區塊等數據的查詢,找了一圈,發現都不太好用,和官方的 https://etherscan.io/ 差別太多,感覺比較low。最終發現了blockscout,很好的ui體驗,雖比不上官方的,但是也能滿足我的需求了。

http://ip:4000/

④ tcp並發伺服器實現eth0功能

大家都知道各類網路伺服器程序的編寫步驟,並且都知道網路伺服器就兩大類:循環服務和並發服務。這里附上源代碼來個小結吧。
一、 循環服務
循環網路伺服器編程實現的步驟是這樣的:
建立socket(這里用到socket()函數及函數setsockopt())
|
|
\|/
把socket和IP地址及埠綁定(這里用到bind函數)
|
|
\|/
開始監聽(這里用到listen()函數)
|
|
/\
/ \
\ / \
----------------------- | 有連接|
| / \ /
| \ /
| \ /
| |
| 接受新的連接(這里用到accept()函數)
| | /___________________________________________________
| | \ |
| \|/ |
| 從連接里讀取數據(這里用到recv()系統函數,當然也可以是read()函數) |
| | |
| | |
| \|/ |
| 返回信息給連接(這里用到send()系統函數,當然也可以是write()函數) |
| | |
| | |
| /\ |
| / \ |
| / \ |
| | 還有數據 |-Y-------------------------------------------------------
| \ /
| \ /
| \ /
|_______________________________|
這種伺服器模型是典型循環服務,如果不加上多進程/線程技術,此種服務吞吐量有限,大家都可以看到,如果前一個連接服務數據沒有收發完畢後面的連接沒辦法處理。所以一般有多進程技術,對一個新連接啟用一個新進程去處理,而監聽socket繼續監聽。
/

⑤ 伺服器bonding與交換機Eth-trunk組網方案

伺服器側通過bonding將兩塊物理網卡抽象成一個邏輯上的網卡,交換機側配置Eth-Trunk來實現網路帶寬擴容或高可用。

交換機配置略過(大概就是先清空兩個介面配置,創建Eth-Trunk,然後將介面加入Eth-Trunk,配置Eth-Trunk)

伺服器配置bonding:

在伺服器上起3個iperf3 server( iperf3 -s -p 1234 & ),用3個iperf3 client( iperf3 -c ip -p 1234 -t 30 -b 10G )同時向這3個iperf3 server發起請求,通過nload觀察伺服器上的流量情況是否符合預期。

註:需根據具體的業務場景來選擇合適的bonding模式

⑥ 怎麼在Ubuntu下搭建伺服器

在Ubuntu下搭建伺服器

是什麼?中文翻譯叫做:虛擬專用網路。功能是,在公用網路上建立專用網路,進行加密通訊。

適用的場合:

1.你的公司網路在一個區域網,不能外部訪問。有一天你外出度假了,想訪問一下公司的內部網路,外網是不能直接訪問的。如果公司的網路有一台主機設置了,你就可以通過連上這台主機,來訪問公司內部網路啦。

2.如果你的主機是在國外,你可以在這台主機上配置,然後你的電腦連上之後就可以啦。

3.某台伺服器(如游戲伺服器)限制了一些IP連接到它上面,這時你配置,連上之後,就可以繼續訪問那台伺服器。

我們以Ubuntu為例,說一下怎樣配置伺服器。

1、用root賬戶登陸伺服器

2、安裝PPTPD

apt-get install pptpd

3、編輯pptpd.conf文件

vi /etc/pptpd.conf

取消注釋下面內容

localip 192.168.0.1

remoteip 192.168.0.234-238,192.168.0.245

這幾句的意思是:當外部計算機通過pptp聯接到後所能拿到的ip地址范圍和伺服器的ip地址設置。

4、添加用於登陸的賬戶

vi /etc/ppp/chap-secrets

格式如下:

# client server secret IP addresses

cqc pptpd 123456 *

從左到右依次是用戶名,自己指定。伺服器,填寫pptpd,密碼,自己指定。IP,填*即可。中間用空格分別隔開。

5、設置DNS解析,編輯pptpd-options文件

vi /etc/ppp/pptpd-options

找到ms-dns,取消掉注釋,並修改DNS地址,這里我推薦大家用

Google DNS 8.8.8.8 和 8.8.4.4

更改為如下內容

ms-dns 8.8.8.8

ms-dns 8.8.4.4

6、開啟轉發

vi /etc/sysctl.conf

取消注釋以下內容

net.ipv4.ip_forward=1

這句話意思是:打開內核IP轉發

更新一下配置

sudo sysctl -p

7、安裝iptables並設置

apt-get install iptables

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

後面這句話作用是:立刻讓LINUX支持NAT(platinum)

8、重新啟動服務

/etc/init.d/pptpd restart

9、大功告成,伺服器就這么配置好啦。

接下來,利用IP地址,剛才設置的賬號和密碼,就可以連你的啦。

⑦ 如何安裝配置DHCP伺服器

下面是具體的方法步驟:
1、打開瀏覽器,輸入登陸地址,登陸路由器管理界面。接著輸入用戶名和密碼進行登陸。

2、點擊」DHCP伺服器「選項,然後勾選」啟用 DHCP伺服器「。接著輸入」地址池開始地址「和」地址池結束地址「。 (這兩部分的設置要確保與路由器處於同一網段)。IP地址的前三個數字必須相同。
3、設置完成後,點擊」保存「按鈕,然後重啟一下路由器即可生效。

熱點內容
比特幣微盤平台出租 發布:2025-07-28 05:52:40 瀏覽:714
賣USDT被騙可以報警嗎 發布:2025-07-28 05:43:59 瀏覽:900
雲錢包里的金股是數字貨幣嗎 發布:2025-07-28 05:43:16 瀏覽:472
13usdt 發布:2025-07-28 05:43:16 瀏覽:105
btc彩票平台 發布:2025-07-28 05:42:40 瀏覽:644
以太坊生態社區的平台幣 發布:2025-07-28 05:33:24 瀏覽:435
區塊鏈的幣圈 發布:2025-07-28 05:24:53 瀏覽:314
btce官網網址 發布:2025-07-28 04:39:54 瀏覽:100
safe礦池 發布:2025-07-28 04:35:30 瀏覽:246
現實挖比特幣 發布:2025-07-28 04:05:16 瀏覽:381