Q:如何設置ip/ip或ip/gre tunnel構建VPN
A:通過ip/ip或ip/gre tunnel能夠通過兩個tunnel網關連接兩個私有的網絡
例如:
Public Network
------------------------------------
| 10.71.101.100/24 | 10.71.101.200/24
GRE Router A GRE Router B
| 192.168.0.1/24 | 192.168.10.1/24
| |
--------------------- --------------------
| Private Network A | | Private Network B |
| | | |
ClientA1 ClientAn ClientB1 ClientBm
192.168.0.10/24 192.168.10.10/24
如果沒有設置tunnel,Private Network A是沒有辦法訪問Private Network B中的機器的,設置
了tunnel之后,兩個Private Network中的機器互相訪問了。
所需的設置是主要是在兩個GRE Router上設置的
GRE Router A的設置 (gre):
# modprobe ipgre
# ip tunnel add.netb mode gre remote 10.71.101.200 local 10.71.101.100 ttl 255
# ip link set netb up
# ip addr add 192.168.0.1 dev netb
# ip route add 192.168.10.0/24 dev netb
GRE Router B的設置 (gre):
# modprobe ipgre
# ip tunnel add neta mode gre remote 10.71.101.100 local 10.71.101.200 ttl 255
# ip link set neta up
# ip addr add 192.168.10.1 dev neta
# ip route add 192.168.0.0/24 dev neta
在Private Network A上的主機設置:
# route add default gw 192.168.0.1
在Private Network B上的主機設置:
# route add default gw 192.168.10.1
對ip/ip tunnel的設置可以通過加載ipip模塊,并將ip tunnel命令中的mode改為ipip加以實現。