centos7搭建6in4隧道

前言:
拓扑图我就不画了,有兴趣可以看一看我上一篇pfsense搭建6in4隧道,这里面的区别就是我将pfsense换成了centos7,其实最早的方案我是使用centos7的,只是防火墙设置的太麻烦加上没有界面化操作不是太方便,而且端口转发上出了问题,使我不得不使用snat,虽然也可以达到效果,大家可以自己研究研究。

构建6in4隧道

1、server 端创建隧道sittun

# 创建隧道 'sittun',local后填写本端地址,remote后填对端地段地址,网卡是ens32
ip tunnel add sittun mode sit local a.a.a.a remote b.b.b.b ttl 64 dev ens32
# 添加本地隧道端ipv6地址
ip addr add dev sittun 240e:aaaa:aaaa:aaaa::a/127
#添加缺省路由,就是出口网关
ip -6 route add default via 出口ipv6网关
# 添加路由回去的路由,下一跳指向client隧道地址
ip -6 route add 240e:096c:0200:0a11::/64 via 240e:096c:0200:0a10::b
# 开启网卡
ip link set dev sittun up

2、client 端创建隧道sittun

ip tunnel add sittun mode sit local b.b.b.b remote a.a.a.a ttl 64 dev ens160
ip addr add dev sittun 240e:aaaa:aaaa:aaaa::b/127
ip -6 route add default via 240e:aaaa:aaaa:aaaa::a
ip link set dev sittun up

3、server开启端口转发,这里是重点。

#server开启ipv6转发功能,可以在/etc/sysctl.conf里面添加配置文件。
sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv6.conf.ens32.accept_ra=2
#设置防火墙,只允许client地址进来,需要注意有的centos7的防火墙版本过低需要重新安装,yum安装就好了。
iptables -I INPUT -s b.b.b.0/24 -j ACCEPT
ip6tables -I  FORWARD -i sittun -j ACCEPT
ip6tables -I  FORWARD -o sittun -j ACCEPT
#查看配置
iptables -vnL --line-number
ip6tables -vnL --line-number

4、client开启端口转发,设置防火墙

#只允许server的地址进来
sysctl -w net.ipv6.conf.all.forwarding=1
iptables -I INPUT -p 41 -s a.a.a.a -j ACCEPT

5、检查隧道,一端能ping通对端的ipv6地址就可以了,如果隧道构建成功后,客户端不能上网,那可能是服务端的端口转发失败了,也可以使用snat将客户端的请求地址段转化为服务端的出口地址,这是下下策。

server:
ip6tables -t nat -A POSTROUTING -s 240e:cccc:cccc:cc11::/64 -o ens32 -j MASQUERADE

参考文档:https://blog.mapstrata.com/post/6in4/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值