當前位置:首頁 » 幣種行情 » ethethershost

ethethershost

發布時間: 2023-01-29 22:30:28

1. hostname和/etc/hosts的區別

linux下/etc/hosts 和hostname文件的區別
hostname與/etc/hosts的關系

很過人一提到更改hostname首先就想到修改/etc/hosts文件,認為hostname的配置文件就是/etc/hosts。其實不是的。

hosts文件的作用相當如DNS,提供IP地址到hostname的對應。早期的互聯網計算機少,單機hosts文件里足夠存放所有聯網計算機。不過隨著互聯網的發展,這就遠遠不夠了。於是就出現了分布式的DNS系統。由DNS伺服器來提供類似的IP地址到域名的對應。具體可以man hosts。

Linux系統在向DNS伺服器發出域名解析請求之前會查詢/etc/hosts文件,如果裡面有相應的記錄,就會使用hosts裡面的記錄。/etc/hosts文件通常裡麵包含這一條記錄

127.0.0.1 localhost.localdomain localhost
hosts文件格式是一行一條記錄,分別是IP地址 hostname aliases,三者用空白字元分隔,aliases可選。

127.0.0.1到localhost這一條建議不要修改,因為很多應用程序會用到這個,比如sendmail,修改之後這些程序可能就無法正常運行。

修改hostname後,如果想要在本機上用newhostname來訪問,就必須在/etc/hosts文件里添加一條newhostname的記錄。比如我的eth0的IP是192.168.1.61,我將hosts文件修改如下:

#hostname blog.infernor.net
# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.61 blog.infernor.net blog
這樣,我就可以通過blog或者blog.infernor.net來訪問本機。

從上面這些來看,/etc/hosts於設置hostname是沒直接關系的,僅僅當你要在本機上用新的hostname來訪問自己的時候才會用到/etc/hosts文件。兩者沒有必然的聯系。

RHEL還有個問題。

我開始在測試的時候,只修改/etc/hosts,裡面添加 192.168.1.61 blog.infernor.net blog,而/etc/sysconfig/network維持原狀,也就是裡面的HOSTNAME=localhost.localdomain。我重啟系統後居然發現hostname給修改成了blog.infernor.net。這樣看的話,倒真覺得/etc/hosts是hostname的配置文件。後來終於在/etc/rc.d/rc.sysinit這個啟動腳本里發現了問題的所在。

rc.sysinit文件里一開始就設置了hostname

if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
fi
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
HOSTNAME=localhost
fi
確實使用了/etc/sysconfig/network里的hostname值。不過後面還有一段關於設置hostname的

ipaddr=
if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]
; then
ipaddr=$(ip addr show to 0/0 scope global | awk '/[[:space:]]inet
/ { print gensub("/.*","","g",$2) }')
if [ -n "$ipaddr" ]; then
eval $(ipcalc -h $ipaddr 2>/dev/null)
hostname ${HOSTNAME}
fi
fi
腳本判斷hostname是否為localhost或者localhost.localdomain,如果是的話,將會使用介面IP地址對應的 hostname來重新設置系統的hostname。問題就出在這里,我的/etc/sysconfig/network默認的hostname是 localhost.localdomain,eth0的IP是192.168.1.61,而/etc/hosts里有192.168.1.61的記錄。於是就用192.168.1.61這條記錄來替換了hostname。

估計這也是很多人將/etc/hosts誤以為是hostname的配置文件的原因。

hostname帶選項查詢

hostname的-s -f -i等等選項都用到了/etc/hosts或者DNS系統,跟我們討論的hostname有點遠了,也容易產生誤會。具體可以man hostname查看。
----------------------------------------
總結一下修改主機名最安全的方法:
1. 停止與主機名相關的軟體運行,比如mysql。
2. 先使用 hostname newname 設置主機名。
3. 在/etc/hosts中修改或增加 ip newname 行,並檢查原來127.0.0.1行localhost回環的設置。
4. 在/etc/sysconfig/network中修改HOSTNAME=newname。
5. 重新啟動機器並確認是否修改成功。

2. 虛擬主機配置 eth0和eth1 和 配置eth0和eth0:1 有什麼區別

vmnet1 是內部網
vmnet8 是nat吧

終端運行下
#dhclient
就能獲得ip了
或者
#dhclient eth0
讓eth0獲得

3. ETH hardhat介紹

官方doc

官方Tutorial

環境配置:因為需要使用 Ethers.js 進行測試和交互,所以需要安裝node.js;

安裝:npm install --save-dev hardhat

在項目中執行 npx hardhat,經過提示,選擇自己要使用的模版,然後會在根目錄中創建必要的文件和目錄;

可以看到框架已經幫我們分好了目錄,其中contracts目錄下是具體的solidity合約代碼;scripts中是部署合約需要的代碼;test中是測試代碼;

編譯: npx hardhat complie

部署: npx hardhat run scripts/deploy.js --network

測試: npx hardhat test

由於hardhat自帶本地ETH網路,所以不需要啟動節點可以通過web3介面進行測試;

Debug:

4. 如何給linux給ARP表添加條目

Liunx添加ARP表方式如下:
[功能]
管理系統的arp緩存。

[描述]
用來管理系統的arp緩存,常用的命令包括:
arp: 顯示所有的表項。
arp -d address: 刪除一個arp表項。
arp -s address hw_addr: 設置一個arp表項。

常用參數:
-a 使用bsd形式輸出。(沒有固定的列)
-n 使用數字形式顯示ip地址,而不是默認的主機名形式。
-D 不是指定硬體地址而是指定一個網路介面的名稱,表項將使用相應介面的MAC地址。一般用來設置ARP代理。
-H type, --hw-type type: 指定檢查特定類型的表項,默認type為ether,還有其他類型。
-i If, --device If: 指定設置哪個網路介面上面的arp表項。
-f filename: 作用同'-s',不過它通過文件來指定IP地址和MAC地址的綁定。文件中每行分別是主機和MAC,中間以空格分割。如果沒有指定文件名稱,則使用/etc/ethers文件。

以下例子中,用主機名稱的地方也可以用點分10進制的ip地址來表示。另外輸出結果中用"C"表示ARP緩存內容,"M"表示永久性表項,"P"表示公共的表項。

[舉例]
*查看arp表:
#arp
Address HWtype HWaddress FlagsMask Iface
hostname1 ether 44:37:e6:97:92:16 C eth0
hostname2 ether 00:0f:fe:43:28:c5 C eth0
hostname3 ether 00:1d:92:e3:d5:ee C eth0
hostname4 ether 00:1d:0f:11:f2:a5 C eth0
這里,Flags中的"C"代表此表項目是高速緩存中的內容,高速緩存中的內容過一段時間(一般20分鍾)會清空,而"M"則表示靜態表項,靜態表項的內容不會過一段時間被清空。

*查看arp表,並且用ip顯示而不是主機名稱:
# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0
10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0
10.1.10.178 ether 00:1b:78:83:d9:85 C eth0
10.1.10.119 ether 00:1d:0f:11:f2:a5 C eth0
這里,對於上面的條目,假設當我們"ping 10.1.10.1"通過之後,arp中會多一條"10.1.10.1"相關的信息。

*查看arp表,顯示主機名稱和ip:
#arp -a
ns.amazon.esdl.others.com (10.1.10.254) at00:1d:92:e3:d5:ee [ether] on eth0
server.amazon.eadl.others.com (10.1.10.253) at44:37:e6:9b:2c:53 [ether] on eth0
D2-jh.amazon.esdl.others.com (10.1.10.178) at00:1b:78:83:d9:85 [ether] on eth0
aplab.local (10.1.10.119) at 00:1d:0f:11:f2:a5[ether] on eth0

*添加一對IP和MAC地址的綁定:
# arp -s 10.1.1.1 00:11:22:33:44:55:66
這里,如果網路無法達到,那麼會報告錯誤,具體如下:
root@quietheart:/home/lv-k# arp -s 10.1.1.100:11:22:33:44:55:66
SIOCSARP: Network is unreachable
root@quietheart:/home/lv-k# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0
10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0
10.1.10.178 ether 00:1b:78:83:d9:85 C eth0
10.1.10.119 ether 00:1d:0f:11:f2:a5 C eth0
實際上,如果"arp -s"設置成功之後,會增加一個Flags為"CM"的表項,有些系統靜態條目不會因為ARP響應而更新,而高速緩存中的條目會因此而更新。如果想要手工設置沒有"M",那麼用"temp"選項,例如:"arp -s IP MAC temp"類似的命令,實踐發現,如果已經設置過IP了,那麼再設置也不會改變其Flags。

*刪除一個arp表項:
# arp -d 10.1.10.118
這里,刪除之後只是硬體地址沒有了,如下:
root@quietheart:~# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.118 ether 00:25:9c:c2:79:90 CM eth0
10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0
root@quietheart:~# arp -d 10.1.10.118
root@quietheart:~# arp -n
Address HWtype HWaddress FlagsMask Iface
10.1.10.118 (incomplete) eth0
10.1.10.254 ether 00:1d:92:e3:d5:ee C

*刪除eth0上面的一個arp表項:
# arp -i eth0 -d 10.1.10.118

[其它]
*指定回復的MAC地址:
#/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub
當eth0收到IP地址為10.0.0.2的請求時,將會用eth1的MAC地址回答。
例如,雙網卡機器運行這條命令:
/usr/sbin/arp -i eth0 -Ds 10.0.0.2 eth1 pub
會多一項:
10.0.0.2 * MP eth0

5. unknown host問題怎麼解決

unknown host
譯為:未知的主機或無法解析域名。

ping: unknown host解決辦法
如果ping命令返回如下錯誤,那主要的可能性就是系統的DNS設置有誤。
[cpp]
[root@CentOS5 ~]# ping www.sina.com.cn
ping: unknown host www.sina.com.cn
可以通過如下方法來解決,此方法已經在linux和solaris系統下通過驗證。
1) 確定設置了域名伺服器
沒有的話, 建議設置Google的公共DNS服務, 它應該不會出問題的
[cpp]
# cat /etc/resolv.conf
-------------------------------------------------------------------
nameserver 8.8.8.8
nameserver 8.8.4.4
-------------------------------------------------------------------
2) 確保路由表正常
[cpp]
[root@CentOS5 ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.128.2 0.0.0.0 UG 0 0 0 eth0
如果未設置, 則通過如下方式增加網關:
[cpp]
# route add default gw 192.168.128.2
3) 確保可用dns解析(這步常忘了)
[cpp]
# grep hosts /etc/nsswitch.conf
-------------------------------------------------------------------
hosts: files dns
-------------------------------------------------------------------
注意,上面的配置要加上dns。
以下是dns的配置,備忘。
hosts: dns files
表示只在DNS失效時候才使用/etc/hosts文件
hosts: dns
表示只用DNS解析主機
host: files
表示只用/etc/hosts文件解析主機
hosts: files dns
將使用/etc/hosts文件解析主機,表示如果無法解析主機名將使用DNS。

下面是我的世界游戲遇到unknown host解決方法的範例,請參考:
1.下載一個水桶伺服器:見底部附件craftbukkit-1.4.7-R1.0.jar(官網下載:http://dl.bukkit.org/)

2.在你的電腦新建一個文件夾,名字隨便,例如「MCServer」
3.將第1步下載的伺服器文件放進MCServer文件夾內
4.再在MCServer文件夾內新建一個記事本,名字為Start.txt
5.打開記事本,把以下代碼粘貼去:
title 【這里填你的伺服器名稱】
color 【伺服器bat字體顏色】
java -Xms1024M -Xmx1024M -jar 【這里填伺服器文件jar的文件名】
PAUSE
例如:
title myworld
color f
java -Xms1024M -Xmx1024M -jarcraftbukkit-1.4.7-R1.0.jar
PAUSE
6.保存以上代碼到記事本後,將記事本的擴展名txt改為bat,即Start.bat
7.雙擊Start.bat,彈出黑色窗口,等待處理jar(需要一段時間)
8.看到黑色窗口出現Done字樣,就完成了,然後關閉黑色窗口
9.會發現MCServer文件夾生成了很多文件,找到server.properties,用記事本打開
10.修改以下參數:
online-mode=true 改為online-mode=false
gamemode=0 改為gamemode=1(0為生存模式,1為創造模式)
註:online-mode必須修改,否則玩不了,其他參數你看著辦吧
11.改完後運行Start.bat,進入游戲。(Start.bat不能關閉,怎麼關閉後面講)
12.選擇多人游戲 - 添加伺服器 - 在伺服器地址輸入localhost,然後點擊完成
13.如果看到伺服器有信號證明你成功了
14.邀請朋友方法:網路一下IP,會看到自己的IP地址,然後復制,發送給朋友
15.朋友拿到地址後,進入游戲 - 多人游戲 - 直接連接 - 直接輸入剛才的伺服器地址

6. 如何配置Linux網卡

linux下配置網路步驟方法:

配置動態IP

1、在終端命令窗口中輸入setup,就會彈出如下窗口。
[root@wgods ~]# setup

拓展資料

1、網卡上面裝有處理器和存儲器(包括RAM和ROM)。網卡和區域網之間的通信是通過電纜或雙絞線以串列傳輸方式進行的。而網卡和計算機之間的通信則是通過計算機主板上的I/O匯流排以並行傳輸方式進行。因此,網卡的一個重要功能就是要進行串列/並行轉換。由於網路上的數據率和計算機匯流排上的數據率並不相同,因此在網卡中必須裝有對數據進行緩存的存儲晶元。

2、在安裝網卡時必須將管理網卡的設備驅動程序安裝在計算機的操作系統中。這個驅動程序以後就會告訴網卡,應當從存儲器的什麼位置上將區域網傳送過來的數據塊存儲下來。網卡還要能夠實現乙太網協議。

3、網卡並不是獨立的自治單元,因為網卡本身不帶電源而是必須使用所插入的計算機的電源,並受該計算機的控制。因此網卡可看成為一個半自治的單元。當網卡收到一個有差錯的幀時,它就將這個幀丟棄而不必通知它所插入的計算機。當網卡收到一個正確的幀時,它就使用中斷來通知該計算機並交付給協議棧中的網路層。當計算機要發送一個IP數據包時,它就由協議棧向下交給網卡組裝成幀後發送到區域網。

4、隨著集成度的不斷提高,網卡上的晶元的個數不斷的減少,雖然各個廠家生產的網卡種類繁多,但其功能大同小異。

參考資料:網路:網卡

熱點內容
元宇宙和平行宇宙 發布:2025-07-20 03:15:48 瀏覽:293
以太坊交易簽名js 發布:2025-07-20 03:00:02 瀏覽:43
中國哪些公司做元宇宙 發布:2025-07-20 02:58:39 瀏覽:661
以太坊調智能合約 發布:2025-07-20 02:51:57 瀏覽:793
數字貨幣用中文大寫數字 發布:2025-07-20 02:32:30 瀏覽:59
pi就是元宇宙嗎 發布:2025-07-20 01:50:20 瀏覽:553
螞蟻礦機S7一天能挖多少比特幣 發布:2025-07-20 01:41:51 瀏覽:628
比特股中國比特幣平台 發布:2025-07-20 01:35:25 瀏覽:746
顯卡挖礦eth能賺多少錢 發布:2025-07-20 01:33:04 瀏覽:1
中國區塊鏈政策湖南省 發布:2025-07-20 01:22:12 瀏覽:346