歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用ip tunnel打通私有網絡

使用ip tunnel打通私有網絡

日期:2017/2/27 15:56:42   编辑:Linux教程
需求
有2個相互隔離的網絡,拓撲見下圖。ServerA想直接訪問到ServerB連接的私有網絡
                                                  |
            1.1.1.1               2.2.2.2         |
            +---------+  Public   +---------+     | Private
            | ServerA +-----------+ ServerB +-----+
            +---------+  Network  +---------+     | Network
                                                  |
                                                  | 192.168.1.0/24 

實現
通過ip tunnel建立ipip隧道,再通過iptables進行nat,便可以實現。
Step 1. 建立ip隧道
ServerA配置iptunnel,並給tunnel接口配置上ip

ip tunnel add a2b mode ipip remote 2.2.2.2 local 1.1.1.1
ifconfig a2b 192.168.2.1 netmask 255.255.255.0

ServerB配置iptunnel,並給tunnel接口配置上ip

ip tunnel add a2b mode ipip remote 1.1.1.1 local 2.2.2.2
ifconfig a2b 192.168.2.2 netmask 255.255.255.0

隧道配置完成後,請在ServerA上192.168.2.2,看是否可以ping通,ping通則繼續,ping不通需要再看一下上面的命令執行是否有報錯

Step 2. 添加路由和nat
ServerA上,添加到192.168.1.0/24的路由

/sbin/route add -net 192.168.1.0/24 gw 192.168.2.2

ServerB上,添加iptables nat,將ServerA過了訪問192.168.1.0/24段的包進行NAT,並開啟ip foward功能

iptables -t nat -A POSTROUTING -s 192.168.2.1 -d 192.168.1.0/24 -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1
sed -i '/net.ipv4.ip_forward/ s/0/1/'  /etc/sysctl.conf

至此,完成了兩端的配置,ServerA可以直接訪問ServerB 所接的私網了。

Copyright © Linux教程網 All Rights Reserved