愛戰(zhàn)網(wǎng)關(guān)鍵詞挖掘查詢工具成都優(yōu)化網(wǎng)站哪家公司好
拓?fù)浣Y(jié)構(gòu)
現(xiàn)有兩臺主機(jī),它們具有兩個網(wǎng)口分別接入到不同網(wǎng)絡(luò)中。
- 主機(jī)A:
- eth0:處于
10.0.1.2/24
網(wǎng)段 - eth1: 處于
192.168.1.100/24
網(wǎng)段
- eth0:處于
- 主機(jī)B:
- eth0:處于
10.0.2.3/24
網(wǎng)段 - eth1: 處于
192.168.2.200/24
網(wǎng)段
- eth0:處于
主機(jī)A、B通過eth0 網(wǎng)口連接的網(wǎng)絡(luò)可以相互訪問,現(xiàn)在需要連通兩臺主機(jī)的兩個局域網(wǎng)絡(luò)使 192.168.1.0/24
與 192.168.2.0/24
互通。
Linux IPIP隧道
由于主機(jī)A、B 的 eth0
網(wǎng)口連接的網(wǎng)絡(luò)中間跨越了多個路由,因此無法直接配置該網(wǎng)絡(luò)中的路由來實現(xiàn)兩個網(wǎng)絡(luò)互通的效果。
因此我們需要在A、B之間建立一條隧道,通過隧道傳輸兩個網(wǎng)絡(luò)的數(shù)據(jù)包。
最簡單的隧道就是IP隧道:
- 在要傳輸?shù)腎P數(shù)據(jù)包上在額外添加一個用于隧道傳輸?shù)陌^。
- 對端主機(jī)接受到來自于隧道IP數(shù)據(jù)包后,主動移除隧道包頭。
- 移除后IP包重新投入到隧道目的地網(wǎng)絡(luò)。
- 反之亦然。
如下所示:
配置
下面配置需要在兩個主機(jī)上都配置
Linux 內(nèi)核自帶了 ipip隧道模塊,首先加載模塊到內(nèi)核:
sudo modprobe ipip
打開IPv4的轉(zhuǎn)發(fā):
sudo sysctl -w net.ipv4.ip_forward=1
注意:動態(tài)加載的模塊重啟后不會自動加載,需要通過啟動腳本方式加載。
主機(jī)個網(wǎng)口配置如下:
主機(jī)A配置
步驟如下:
- 創(chuàng)建IPIP類型隧道,設(shè)置隧道的 起點IP(
local
) 和 目的地IP(remote
)。- 起點:
eth0 10.0.1.2
- 重點:
eth0 10.0.2.2
- 起點:
- 啟動虛擬網(wǎng)卡。
- 在虛擬網(wǎng)卡上 配置 到 目的網(wǎng)絡(luò)(
192.168.2.0/24
) 的路由。
ip tunnel add mytunnel mode ipip remote 10.0.2.2 local 10.0.1.2 ttl 64
ip link set mytunnel up
ip route add 192.168.2.0/24 dev mytunnel
主機(jī)B配置
步驟如下:
- 創(chuàng)建IPIP類型隧道,設(shè)置隧道的 起點IP(
local
) 和 目的地IP(remote
)。- 起點:
eth0 10.0.2.2
- 重點:
eth0 10.0.1.2
- 起點:
- 啟動虛擬網(wǎng)卡。
- 在虛擬網(wǎng)卡上 配置 到 目的網(wǎng)絡(luò)(
192.168.2.0/24
) 的路由。
ip tunnel add mytunnel mode ipip remote 10.0.1.2 local 10.0.2.2 ttl 64
ip link set mytunnel up
ip route add 192.168.1.0/24 dev mytunnel
連通性測試
在主機(jī)A上PING 主機(jī)B 的目的網(wǎng)絡(luò)
ping 192.168.2.100
若無法PING通,請檢查防火墻策略是否有配置DENY 或 DROP。
你可以通過
iptables -F
快速清除所有策略來完成測試。
配置持久化
上述配置在系統(tǒng)重啟后將無效,因此我們需要在開機(jī)時重新執(zhí)行配置內(nèi)容對系統(tǒng)進(jìn)行配置。
這里使用Systemd開機(jī)腳本的方式實現(xiàn),下面以 主機(jī)A 的配置講解如何實現(xiàn)。
創(chuàng)建開機(jī)配置腳本config_tunnel.sh
mkdir -p /etc/tunnel_cfg/
vi /etc/tunnel_cfg/config_tunnel.sh
config_tunnel.sh
內(nèi)容如下:
#!/bin/bashmodprobe ipipip tunnel add mytunnel mode ipip remote 10.0.2.2 local 10.0.1.2 ttl 64
ip link set mytunnel up
ip route add 192.168.2.0/24 dev mytunnel
創(chuàng)建systemd服務(wù)文件config_tunnel.service
vi /etc/tunnel_cfg/config_tunnel.service
config_tunnel.service
內(nèi)容如下:
[Unit]
Description=my ipip tunnel.
After=network.target[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/tunnel_cfg/config_tunnel.sh[Install]
WantedBy=multi-user.target
將配置復(fù)制至系統(tǒng)目錄,重新加載,并設(shè)置開機(jī)啟動:
cp /etc/tunnel_cfg/config_tunnel.service /usr/lib/systemd/system/systemctl daemon-reload
systemctl enable config_tunnel.service
運行腳本檢查狀態(tài)
systemctl start config_tunnel.service
systemctl status config_tunnel.service
查看路由以及隧道
route -n
ip tunnel show
參考文獻(xiàn)
[1]. Linux ipip隧道技術(shù)測試一(雙主機(jī)、雙網(wǎng)卡) . olivee . 2020 . http://www.asznl.com/post/81