tinc是一個開源的×××解決方案。本文假設tinc以及相關環境已經在實驗機器上安裝妥當,在此基礎上,給出一個簡單的配置示例。
實驗環境如圖一所示。
圖一 tinc *** in lan
環境由同在一個局域網的機器PC01、PC02構成,PC01和PC02都運行Linux操作系統,都有一張網卡eth0,其中PC01的IP地址爲192.168.1.6,PC02的IP地址爲192.168.1.126。
現在擬在PC01和PC02之間配置一條tinc ×××隧道,PC01和PC02在tinc ×××網絡中使用的IP分別爲10.0.2.1和10.0.1.1,當10.0.2.1和10.0.1.1進行通信時,PC01和PC02的eth0之間的數據時tinc ×××密數據。
×××連接取名爲twwh,PC01、PC02爲×××的節點,其節點名分別爲twwhclient、twwhserver(需要說明的是,tinc ×××並無服務器、客戶端之分。如果非要說有,可將沒有配置ConnectTo字段,等待其他用戶連接的視爲服務器。而實際上,連接的兩端都可以配置ConnectTo字段)。具體配置過程如下:
1、配置PC01
①創建所需文件夾以及文件
cd /etc/tinc
mkdir twwh
mkdir twwh/hosts
touch twwh/tinc.conf
touch twwh/tinc-up
touch twwh/tinc-down
②創建公私鑰
tincd -n twwh -K
公私鑰文件路徑使用默認的,無須修改。
③修改tinc.conf文件
# beg tinc.conf
ConnectTo=twwhserver
Device=/dev/net/tun
Mode=switch
Name=twwhclient
PrivateKeyFile=/etc/tinc/twwh/rsa_key.priv
# end
④修改twwhclient文件
twwhclient在創建密鑰的時候生成,在其頭部添加
Compression=9
Subnet=10.0.2.0/24
Address=192.168.1.6
⑤修改tinc-up和tinc-down
tinc-up內容如下:
#!/bin/sh
ifconfig $INTERFACE 10.0.2.1 netmask 255.255.255.0
route add -host 10.0.1.1 dev $INTERFACE
route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.1.1
tinc-down內容如下:
ifconfig $INTERFACE down
1、配置PC01
①創建所需文件夾以及文件
cd /etc/tinc
mkdir twwh
mkdir twwh/hosts
touch twwh/tinc.conf
touch twwh/tinc-up
touch twwh/tinc-down
②創建公私鑰
tincd -n twwh -K
公私鑰文件路徑使用默認的,無須修改。
③修改tinc.conf文件
# beg tinc.conf
ConnectTo=twwhserver
Device=/dev/net/tun
Mode=switch
Name=twwhclient
PrivateKeyFile=/etc/tinc/twwh/rsa_key.priv
# end
④修改twwhclient文件
twwhclient在創建密鑰的時候生成,在其頭部添加
Compression=9
Subnet=10.0.2.0/24
Address=192.168.1.6
⑤修改tinc-up和tinc-down
tinc-up內容如下:
#!/bin/sh
ifconfig $INTERFACE 10.0.2.1 netmask 255.255.255.0
route add -host 10.0.1.1 dev $INTERFACE
route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.1.1
tinc-down內容如下:
ifconfig $INTERFACE down
2、配置PC02
①創建所需文件夾以及文件
cd /etc/tinc
mkdir twwh
mkdir twwh/hosts
touch twwh/tinc.conf
touch twwh/tinc-up
touch twwh/tinc-down
②創建公私鑰
tincd -n twwh -K
公私鑰文件路徑使用默認的,無須修改。
③修改tinc.conf文件
# beg tinc.conf
ConnectTo=twwhclient
Device=/dev/net/tun
Mode=switch
Name=twwhclient
PrivateKeyFile=/etc/tinc/twwh/rsa_key.priv
# end
④修改twwhserver文件
twwhserver在創建密鑰的時候生成,在其頭部添加
Compression=9
Subnet=10.0.1.0/24
Address=192.168.1.126
⑤修改tinc-up和tinc-down
tinc-up內容如下:
#!/bin/sh
ifconfig $INTERFACE 10.0.1.1 netmask 255.255.255.0
route add -host 10.0.2.1 dev $INTERFACE
route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.2.1
tinc-down內容如下:
ifconfig $INTERFACE down
配置完成後,圖一中橙色實線代表的是192.168.1.6與192.168.1.126之間的通信;藍色虛線是××× 10.0.1.1和10.0.2.1之間的物理數據走向,橙色虛線是它們的邏輯走向。
在PC01上ping 10.0.1.1,在PC02上用wireshark嗅探192.168.1.126網絡接口的數據,如圖二所示。由圖可以看出,這些數據都是tinc的×××密數據。
圖二 PC02 192.168.1.126接口的通信數據
若在PC02上用wireshark嗅探10.0.1.1網絡接口的數據,其結果如圖三。右圖可知,這些數據已經過×××端點解密,是明數據。
圖三 PC02 10.0.1.1接口的通信數據
到此爲止,一個最簡單的tinc ***實驗環境已構建完畢。