Arch linux下iNode客戶端的安裝和使用方法

H3C中文叫新華三集團,是紫光集團旗下的核心企業,服務種類和範圍還挺廣泛的。由於公司數據中心使用了它的網關方案, 家裏電腦是用的Arch Linux,要連上這個虛擬專用網絡,並不是很簡單。網上搜索資料,也沒幾個講清楚的。

更爲要命的是,有的高校校園網也是H3C的方案,很多Linux新手也要用這個iNode來進行網絡認證。 這讓人想到N年前上大學的時候,學校使用銳捷網絡的客戶端認證計費,Linux下也是各種連不上,或者說讓新手望而生畏。你要用Linux,就上不了校園網,老實說,這種無可奈何的感覺本人真實體驗過,嚴重影響技術學習。

作爲過來人,爲了幫助中國大陸的苦難學子,也順帶整理記錄下,也許對人有用,但並不保證完全正確,我反正能連能用。

1. 首先建議讀一讀官方文檔

如果是其它平臺用戶,完全不用看本文,直接讀官方文檔即可。

如果是Linux用戶,需要瀏覽下官方文檔,主要搞清楚它的邏輯步驟。

  • 下載iNodeManager

  • 定製iNode客戶端

    老實說,作爲一個C端用戶,我有點不理解,一個客戶端也需要通過這種方式生成,莫名其妙,略顯繁瑣。

  • 安裝iNode客戶端

  • 連接

還有它這iNodeManager下載地址貌似不是公開的(未考證),我只能理解成會有人給你這個下載鏈接的,我是從公司那裏獲取到的,校園網用戶可能要聯繫網絡管理人員。

2. 客戶端安裝

作爲用戶,大部分人都是用這個客戶端連接服務端,所以我假設你通過上面的文檔介紹,生成了那個定製後的客戶端壓縮包。

1➜  ~ pwd
2/home/mephisto
3➜  ~ file iNodeClient_Linux64_7.3\ \(E0630\).tar.gz
4iNodeClient_Linux64_7.3 (E0630).tar.gz: gzip compressed data, from Unix, original size modulo 2^32 94699520

比如我定製後得到的客戶端 iNodeClient_Linux65_7.3 (E0630).tar.gz, 解壓後進入:

 1
 2➜  ~ tar -xvf iNodeClient_Linux64_7.3\ \(E0630\).tar.gz
 3iNodeClient/
 4iNodeClient/iNodeClient.png
 5iNodeClient/netaudit.sh
 6iNodeClient/enablecards.ps
 7iNodeClient/iNodeAuthService
 8iNodeClient/checkSoft.sh
 9iNodeClient/updateexec.sh
10iNodeClient/inode.service
11iNodeClient/inode_dhclient_2.conf
12iNodeClient/clientfiles/
13iNodeClient/clientfiles/8021/
14iNodeClient/clientfiles/2041/
15iNodeClient/clientfiles/7000/
16iNodeClient/clientfiles/5020/
17iNodeClient/clientfiles/1100/
18iNodeClient/clientfiles/9019/
19......
20
21➜  ~ cd iNodeClient/

開始安裝,需要切換下 su - root, 爲什麼要這麼做,請看官方的安裝文檔

1➜  iNodeClient su - root
2[root@minipc iNodeClient]# ./install_64.sh
3iNode has been installed on the path /home/mephisto/Downloads/iNode/Linux/iNodeManager/iNodeSetup/iNodeClient.
4This operation will remove iNode. Are you sure to continue?[input Y/y to continue]:y
5chmod: cannot access '/etc/init.d/iNodeAuthService': Not a directory
6Nothing special for
7./install_64.sh: line 516: /etc/init.d/iNodeAuthService: Not a directory
8./install_64.sh: line 529: /etc/init.d/iNodeAuthService: Not a directory

上面那些報錯可以忽略,因爲我之前在一個很深的目錄安裝的,所以它會有提示刪除原來的iNode,第一次裝的時候目錄爲什麼那麼深,這個得問H3C,很離譜。

正常情況下,上述命令會自動啓動一個AuthenMngService服務,在我的Arch Linux上,沒有自動啓動,估計是上面所示報錯的原因。

所以,得手動啓動下,保持它一直運行(由於我用的Tmux,一般要連機房網絡的時候,開個tab連着,頻率很低,當然你也可以直接做成啓動項)。

 1[root@minipc iNodeClient]# ./AuthenMngService
 2[root@minipc iNodeClient]# LibDBus::LoadLibrary: dbus_bus_get = 0x70609d273c40
 3LibDBus::LoadLibrary: dbus_bus_register = 0x70609d2733d0
 4LibDBus::LoadLibrary: dbus_message_new_method_call = 0x70609d280ad0
 5LibDBus::LoadLibrary: dbus_error_init = 0x70609d26d440
 6LibDBus::LoadLibrary: dbus_error_free = 0x70609d26d480
 7LibDBus::LoadLibrary: dbus_message_unref = 0x70609d280830
 8LibDBus::LoadLibrary: dbus_connection_read_write_dispatch = 0x70609d275f90
 9LibDBus::LoadLibrary: dbus_connection_add_filter = 0x70609d270570
10LibDBus::LoadLibrary: dbus_connection_remove_filter = 0x70609d2719d0
11LibDBus::LoadLibrary: dbus_error_is_set = 0x70609d26dde0
12LibDBus::LoadLibrary: dbus_message_is_signal = 0x70609d27ba50
13LibDBus::LoadLibrary: dbus_bus_add_match = 0x70609d274950
14LibDBus::LoadLibrary: dbus_connection_send_with_reply_and_block_func = 0x70609d273180
15LibDBus::LoadLibrary: dbus_connection_unref_func = 0x70609d271670
16LibDBus::LoadLibrary: dbus_message_get_args_func = 0x70609d27f600
17LibDBus::LoadLibrary: dbus_message_get_args_valist_func = 0x70609d27f520
18LibDBus::LoadLibrary: dbus_message_append_args_func = 0x70609d281b40
19LibDBus::LoadLibrary: dbus_message_append_args_valist_func = 0x70609d2817e0
20LibDBus::LoadLibrary: dbus_message_iter_init_func = 0x70609d279ae0
21LibDBus::LoadLibrary: dbus_message_iter_recurse_func = 0x70609d27a500
22LibDBus::LoadLibrary: dbus_message_iter_get_basic_func = 0x70609d27f870
23LibDBus::LoadLibrary: dbus_message_iter_get_arg_type_func = 0x70609d27a3d0LibDBus::LoadLibrary: dbus_message_iter_next_func = 0x70609d27a350
24
25[root@minipc iNodeClient]# ps -ef |grep -i Authen
26root        3467       1  0 14:43 ?        00:00:01 ./AuthenMngService

3. 運行客戶端開始連接

確認上述進程運行沒有退出後,切換回普通用戶。

1➜  iNodeClient whoami
2mephisto
3➜  iNodeClient ./iNodeClient.sh

最終它會彈出一個圖形界面的客戶端,按照官方文檔介紹進行連接(校園網用戶,協議不同,可能不一樣,需要自己摸索下,應該不難的,我這裏展示的是連虛擬專用網絡,爲什麼不用那三個字母代替,因爲文章還要發到公衆號,你應該懂的,用心良苦,有苦說不出,反正大陸妖魔鬼怪多)。

iNode client

H3C還管它叫智能客戶端,沒看出來智能在哪裏,連個網絡都這麼多步驟。

如上所示,填上自己的認證信息,連接成功後,會分到一個內網ip地址。

同時,會生成一個tun0的網卡,網卡的ip就是上面分到的ip(爲了給公司保密,敏感信息我用xxx代替了)

 1➜  ~ ip a
 21: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 3    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 4    inet 127.0.0.1/8 scope host lo
 5       valid_lft forever preferred_lft forever
 6    inet6 ::1/128 scope host noprefixroute
 7       valid_lft forever preferred_lft forever
 82: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
 9    link/ether 70:70:fc:06:ac:aa brd ff:ff:ff:ff:ff:ff
103: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
11    link/ether e4:c7:67:3f:6a:06 brd ff:ff:ff:ff:ff:ff
12    inet 192.168.18.206/24 brd 192.168.18.255 scope global dynamic noprefixroute wlp2s0
13       valid_lft 42199sec preferred_lft 42199sec
14    inet6 fe80::f381:c4ab:a43d:ab0e/64 scope link noprefixroute
15       valid_lft forever preferred_lft forever
164: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
17    link/none
18    inet 10.xx.xxx.xx/24 brd 10.xxx.xx.xx scope global tun0
19       valid_lft forever preferred_lft forever
20    inet6 xxx::xxx:xxx:xxx:xx/64 scope link stable-privacy proto kernel_ll
21       valid_lft forever preferred_lft forever

系統路由表也會有相應變更, 幾乎都要經過tun0,網絡高手應該知道爲什麼會這樣,普通用戶看看就好。

這些都是聯通網絡後,雙方協商自動處理的,退出客戶端,路由表也會自動刪除。

 1➜  ~ ip route
 2default via 192.168.18.1 dev wlp2s0 proto dhcp src 192.168.18.206 metric 600
 310.xx.xx.0/24 dev tun0 scope link
 410.xx.xx.0/24 dev tun0 scope link
 510.xx.xx.0/24 dev tun0 scope link
 610.xx.xx.0/24 dev tun0 scope link
 710.xx.xx.0/24 dev tun0 scope link
 810.xx.xx.0/24 dev tun0 scope link
 910.xx.xx.0/24 dev tun0 proto kernel scope link src 10.xx.xxx.xx
1010.xx.xx.0/24 dev tun0 scope link
11x.x.x.x via 192.168.18.1 dev wlp2s0

如果沒有生成tun0,可能要自己再摸索下,那裏弄錯了。

連上網絡後,你可以找個內網的服務測試下,因爲是在家裏連的虛擬專用網絡,經確認訪問公司服務沒有問題。

後續連接,只要切換用戶後,開啓./AuthenMngService 後,再切回普通用戶執行腳本啓動即可,並不想系統有那麼多自啓動服務,按需開啓挺好。

其實,這些應該都可以自動的,Desktop文件都創建好了(好吧,H3C還是略微有點智能的),懂的都懂。

1➜  iNodeClient cat iNodeClient.desktop
2[Desktop Entry]
3BinaryPattern=iNodeClient;
4MimeType=
5Name=iNodeClient
6Exec="/home/mephisto/iNodeClient/iNodeClient.sh"
7Icon=/home/mephisto/iNodeClient/resource/iNodeClient.png
8Type=Application
9Terminal=0

4. 總結

Arch linux在一些特定軟件上,還是沒有Deb系列的方便,要費精力多倒騰下,很多軟件商默認只提供deb包。

作爲一個N年的Linux用戶,早已適應了這一切,不用Linux反倒渾身不舒服,比如公司用的電腦是Mac,各種Command鍵,經常要鼠標點點點,效率很低。

上班賺錢得和人協作,不能只考慮自己,也是一種妥協。

如果你對本文有疑問,可以關注我的微信公衆號留言聯繫,有空我儘量回覆處理。

最後修改於: Monday, June 10, 2024

相關文章:

翻譯: