【Linux教程系列】把SoYouStart的闲置IP挪给Kimsufi杜甫使用

335次阅读
没有评论

共计 1918 个字符,预计需要花费 5 分钟才能阅读完成。

大家好呀,今天来介绍一下搭建 GRE 隧道的简单教程,把一台服务器的 IP 地址映射给另外一台服务器使用。之前写过一篇 IPIP 隧道的 (https://hostloc.com/forum.php?mod=viewthread&tid=343926),这次介绍更好用的 GRE 隧道。

典型的使用场景:有一台 SoYouStart 大盘鸡,它有 16 个免费的 IPv4,然而我们只需要用 1 个 IP 地址;另有一台 Kimsufi 杜甫,我们需要用它来生小鸡,但是没有多余的 IP 地址给它用。因此,我们就可以搭建 GRE 隧道,将 SoYouStart 的免费 IPv4 映射给 Kimsufi 杜甫使用。下面开始教程。

提供 IP 的服务器为 A,接受 IP 的服务器为 B。服务器 A 提供的 IP 地址为 88.88.88.88,服务器 B 地址为 99.99.99.99.

1, 在服务器上绑定 IP.

以 Ubuntu 20.04 为例,编辑文件 /etc/netplan/50-cloud-init.yaml,添加下面的语段:

  1. network:
  2.     version: 2
  3.     ethernets:
  4.          网卡名:
  5.             dhcp4: true
  6.             match:
  7.                 macaddress: 网卡 MAC 地址
  8.             set-name: 网卡名
  9.             addresses:
  10.             – 88.88.88.88/32

然后输入命令让 IP 绑定生效:

  1. netplan try
  2. netplan apply

此时,如果你用 SSH 登录 88.88.88.88, 你应该能够登录上服务器 A。

2, 启用 GRE 模块,以及前置准备工作

在两台服务器上分别执行

  1. modprobe ip_gre
  2. lsmod | grep gre
  3. apt-get install -y iptables iproute2

如果执行 lsmod 这步的时候看不到相应模块的显示,可能需要换内核。

然后,在服务器 A 上执行

  1. echo ‘net.ipv4.ip_forward=1’ >> /etc/sysctl.conf
  2. sysctl -p

3, 搭建 GRE 隧道

服务器 A 上执行:

  1. ip tunnel add qing.su mode gre local 88.88.88.88 remote 99.99.99.99 ttl 255
  2. ip addr add 10.0.0.1/30 dev qing.su
  3. ip link set qing.su up

服务器 B 上执行:

  1. ip tunnel add qing.su mode gre local 99.99.99.99 remote 88.88.88.88 ttl 255
  2. ip addr add 10.0.0.2/30 dev qing.su
  3. ip link set qing.su up

此时,在服务器 A 上 ping 10.0.0.2 或者在服务器 B 上 ping 10.0.0.1,应该都能 ping 通。

4, 设置路由表、数据与端口转发

服务器 B 上执行:

  1. echo ‘100 SHC’ >> /etc/iproute2/rt_tables
  2. ip rule add from 10.0.0.0/30 table SHC
  3. ip route add default via 10.0.0.1 table SHC

服务器 A 上执行:

  1. iptables -t nat -A POSTROUTING -s 10.0.0.0/30 ! -o gre+ -j SNAT –to-source 88.88.88.88
  2. iptables -A FORWARD -d 10.0.0.2 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
  3. iptables -A FORWARD -s 10.0.0.2 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
  4. iptables -t nat -A PREROUTING -d 88.88.88.88 -p TCP -m TCP  -j DNAT –to-destination 10.0.0.2
  5. iptables -t nat -A PREROUTING -d 88.88.88.88 -p UDP -m UDP  -j DNAT –to-destination 10.0.0.2

至此,GRE 隧道及后续的转发全部配置完毕。此时,原来分配给服务器 A 的 IP 地址 88.88.88.88 已经被映射到 IP 地址为 99.99.99.99 的服务器 B 上了,可以进行后面的做网站、开小鸡等操作了。此时如果你再用 SSH 登录 88.88.88.88, 你应该能够登录上服务器 B。

如果大家觉得有用或者有什么问题,欢迎在这里或者在我的博客上留言。本文作者为香菇肥牛,原文链接为 https://qing.su/article/create-gre-tunnel-for-ipv4-mapping.html,转载需注明原文链接。谢谢大家的支持!

正文完
 
阿里郎
版权声明:本站原创文章,由 阿里郎 2021-12-19发表,共计1918字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
国外主机测评
国外主机测评
专注于主机测评,主机推荐,VPS测评,VPS推荐,VPS教程,服务器推荐,Linux教程,服务器教程
阅读量
190838
评论数
27



hostkvm优惠促销活动
评论(没有评论)
衡天云优惠活动