使用ip tunnel打通私有網絡

網絡拓撲如下:

                                                  |
            1.1.1.1               2.2.2.2         |
            +---------+  Public   +---------+     | Private
            | ServerA +-----------+ ServerB +-----+
            +---------+  Network  +---------+     | Network
                                                  |
                                                  | 192.168.1.0/24
需求如下:
ServerA想直接訪問到ServerB連接的私有網絡

實現方法:
通過ip tunnel建立ipip隧道,再通過iptables進行nat,便可以實現。
Step 1. 建立ip隧道
ServerA配置
  1. ip tunnel add a2b mode ipip remote 2.2.2.2local1.1.1.1

  2. ifconfig a2b 192.168.2.1 netmask 255.255.255.0

ServerB 配置
  1. ip tunnel add a2b mode ipip remote 1.1.1.1local2.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的路由
  1. /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功能
  1. iptables -t nat -A POSTROUTING -s 192.168.2.1-d 192.168.1.0/24-j MASQUERADE

  2. sysctl -w net.ipv4.ip_forward=1

  3. sed -i '/net.ipv4.ip_forward/ s/0/1/'/etc/sysctl.conf

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章