文章目录
gre over ipsec工作原理
原理:先用GRE创建隧道,再用IPSec保护创建的隧道
优点:可以运行动态路由协议
注意:使用GRE隧道,建议修改MTU小于1480
第一步:实现GRE隧道
#检查两台机器是否都加载了gre内核模块(若未加载,可执行modprobe ip_gre)
lsmod |grep gre
#在HK服务器上添加如下文件
[root@200-67 ~]# cat /etc/sysconfig/network-scripts/ifcfg-gre1
DEVICE=gre1
ONBOOT=yes
TYPE=GRE
BOOTPROTO=static
#PEER_OUTER_IPADDR指定SZ服务器的公网IP
PEER_OUTER_IPADDR=192.168.100.67
#PEER_INNER_IPADDR指定SZ服务器的greIP
PEER_INNER_IPADDR=10.0.0.2
#下面表示自己的IP,若是指定后无法建立GRE,可以不指定MY_OUTER_IPADDR
MY_OUTER_IPADDR=192.168.200.67
MY_INNER_IPADDR=10.0.0.1
#在SZ服务器上添加如下文件
[root@100-67 ~]# cat /etc/sysconfig/network-scripts/ifcfg-gre1
DEVICE=gre1
ONBOOT=yes
TYPE=GRE
BOOTPROTO=none
PEER_OUTER_IPADDR=192.168.200.67
PEER_INNER_IPADDR=10.0.0.1
MY_OUTER_IPADDR=192.168.100.67
MY_INNER_IPADDR=10.0.0.2
#重启网络服务
systemctl restart network
#在HK服务器上测试gre联通性
ping 10.0.0.2
#在SZ服务器上抓包,是否是GRE协议(查看对端的IP地址有哪些包)
tcpdump -n -i ens192 host 192.168.200.67
===========================
另一种简单的gre实现方式
#创建并启用gre
ip tunnel add gre100 mode gre remote 121.207.22.123 local 111.2.33.28 ttl 255
ip link set gre100 up
ip addr add 10.10.10.2 peer 10.10.10.1 dev gre100
#删除gre
ip link set gre100 down
ip tunnel del gre100
===========================
ipv6-to-ipv4 gre 隧道实现
#假设您拥有如下ipv6地址空间
3ffe:406:5:1:5:a:2:1/96
#本地IPv4地址:172.16.17.18
#远端IPv4地址:172.22.23.24(6bone路由器的IPv4地址)
ip tunnel add sixbone mode sit remote 172.22.23.24 local 172.16.17.18 ttl 255
ip link set sixbone up
ip addr add 3ffe:406:5:1:5:a:2:1/96 dev sixbone
ip route add 3ffe::/15 dev sixbone
第二步:实现GRE over IPSec(在两台设备上都要安装)
#安装ipsec的实现包,可以是strongswan或者openswan亦或者libreswan
yum install libreswan
#初始化ipsec
ipsec initnss
#生成ckaid,(要指定后面的一些列参数,不指定无法加密GRE)
ipsec newhostkey --configdir /etc/ipsec.d --random /dev/urandom --output /etc/ipsec.d/01.secrets --verbose;
#根据上一步各自生成的ckaid生成各自的leftrsasigkey(记录下该值,后面有用)
ipsec showhostkey --left --ckaid d8fba9e7acd82a08463a116b0b2f2d677a8f1579
#创建ipsec的配置文件/etc/ipsec.d/ipsec.conf(该文件默认不存在)
#注意,该gre1是您创建的网卡接口,该文件,在两台机器上也应该互换左右顺序
#注意leftrsasigkey和rightrsasigkey以及left和right的内容也要调换!
cat /etc/ipsec.d/ipsec.conf
conn gre1
authby=rsasig
auto=start
type=transport
left=192.168.200.67
leftprotoport=gre
leftrsasigkey=0sAwEAAc1/vyyQhR33PiTCRFT0W7y6pzZ6C0uIlhILbl1CdgfWMP+Vv3YTBnOIxiPCceu2qdbFFVohbULr4lOaWri9P9JX0UFnzC2i6KY/2MbEdwR9WcuIWb4XwECC6BCikJFXLb1Zg6gEa9520Gv6zlhzBfVPFW1kTRHkEKsXNDucECOFqemeiy86EuozxEFEs5lzJPx86MczJPhlvu3qk+Awfi8uUugsFo9Lnjx/GKjJos+oGJY0SN3T78v7iPWNKgJg7IyXDTYA2JK7fcx2XVZQ8lDfQNtdAk6hXf4IwufjszYyqykYd1LJLfcwuLPAr7SPw5IqKra75KJAXudqJeRKre2LQ/6mwz2XPox9BTPQm4i4xMN1vPg3SnsKyv6v0WBBTUhAqCya6vAV6pwI5uO66FmoEjXjNwdX3jUjIpasgYJgcDe14ROumtF/MXD4Iie6wlgxJIs/jug/+KoeS6OHrH9A/0KxlSRk8qZ31+Klj8k8yZJJN3AyjLSX+jHr7bz6E4jLnSk2ZuS4eflT/PsH+FhAJJHVQZsLAWemzc3iwNuRK7GJcQpwmMScI3yOLFLeeXjX3AKOcw==
right=192.168.100.67
#leftid=1.2.3.4 如果1.2.3.4个的服务器是NAT网络,即公网地址不在网卡上,需要指定"leftid",另一端也是同理
rightprotoport=gre
rightrsasigkey=0sAwEAAbIy3s6tUWmA5KXfgg/lnRkHqEuJ7yzA71kIUiGwbjkykW15eNFyiCvkxNPHdEvNp4YOFjOZRpXa5iubg/2gVJt/Jg6dvdcYvUhaWvlXP/Styewkr0jP9A6sagFt4XdT+otq18RokF3OYsBtNbWHteIYLY/z1dXJkCQwOkBl/HJcJbLDcCZ0uDHjB+ZrCTcLg5Dyc/lanIah2JrOUSNmUg+3caV2axrENE1eCt/mWnNkTDYMc9yaag0RCqrquUvuoMRfbvQLYlQ6qT56E0Wrty8amq0bBATlRUy7z2jG4KIB/VqSdiTueOmhU9m1Zkkna702zx+uyqLVEv7EzogSi0k/NbSpFXFIdXF6zI6wEdcOtuPZLaw4fK7A9W0DQxyUU+UTe5e1wMmMWksAXySidxcjzdHgxHWPN6sWcxvH7N6OTTnPooMdI7o6SCMiQw7lYSq1r09uAS4MSgRFt6svN60ts6ryjEokM8QiQ+/TNYM7cOtahtid9pHmzWHcqPcBu+dieRDcD8HlkJU=
#重启ipsec服务
systemctl restart ipsec
#验证是否能通,查看ipsec运行状态,并在HK服务器上ping SZ服务器的gre1接口地址
systemctl status ipsec
ping 10.0.0.2
#在SZ服务器上抓包HK服务器192.168.200.67过来的数据包,验证其是否加密(已加密)
[root@100-67 ~]# tcpdump -n -i ens192 host 192.168.200.67
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
01:08:47.060823 IP 192.168.200.67 > 192.168.100.67: ESP(spi=0x665776f8,seq=0x1), length 132
01:08:47.060958 IP 192.168.100.67 > 192.168.200.67: ESP(spi=0x48d46ecd,seq=0x1), length 132
01:08:48.060376 IP 192.168.200.67 > 192.168.100.67: ESP(spi=0x665776f8,seq=0x2), length 132
若是华为设备,可参考如下文章进行实现
https://boke.wsfnk.com/archives/76.html
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论