家庭宽带环境下centos8 nginx 配置ipv6公网访问

最近换了移动的宽带,没有公网ipv4,好像可以开一个公网ip的叠加包。但是本着能省钱就省钱的原则,ipv6本身也比较普及了,正好就来折腾一下。

移动宽带默认就是支持ipv6的,而且移动光猫的配置也没有防火墙限制(可能跟光猫的版本有关,可以搜索相关教程确认是否需要修改配置,我的是 h3-2slite),机器离光猫比较近就直接用网线连的光猫的路由,没有使用接出来的无线路由器上的接口,要是接的外接出来的无线路由器,需要再路由器上开启ipv6的支持,且要注意防火墙之类的问题。

我这里是linux系统,centos8,使用nginx对外提供服务,nginx最新的版本中已经默认支持ipv6了,在server配置中直接启用即可,如:

server {
    listen 80;
    listen [ipv6地址]:80;
...
    }

上面的配置同时支持 ipv4及ipv6,假如只支持ipv6,则可以改为:

server {
    listen [ipv6地址]:80 ipv6only=on;
...
}

校验配置  sudo nginx -t   生效: sudo nginx -s reload   浏览器或命令行访问: http://[ipv6地址] (ipv6地址外面的[] 是必须的),一般本地或者局域网内是可以访问的,但公网访问还有些问题,需要继续向下看。

  • 现在80端口在公网大概率是被封禁掉的,虽然是ipv6,也难逃被封禁端口,还有其他端口被封禁了,比如443,这时候需要使用其他端口,比如 8000,上方的配置80改为8000尝试是否可以访问。
  • 除了端口被封禁之外,防火墙/安全组没开放也是因素之一,可关闭防火墙,但是这样毕竟不是很安全,所以也可以针对端口进行开放,这里使用的是 centos8firewall-cmd --zone=public --add-port=8000/tcp --permanent  ,重启防火墙生效 systemctl restart firewalld 此外还要确认 selinux 是否已关闭,临时关闭可使用命令 setenforce 0 ,永久关闭可修改配置: vi  /etc/selinux/config 中的 SELINUX=disabled ,然后保存后重启生效。
  • 使用手机的4g网络访问 http://[ipv6地址]:8000 此时可以访问了。说明可被公网访问。(本身支持ipv6的网络才可以访问ipv6的地址,4g移动网络是支持的,假如本身不支持ipv6的网络是没办法访问ipv6网站的,假如单位的网不支持ipv6,那么就没办法访问这个地址了。)

更进一步-域名访问ipv6

需要提前准备一个域名,一般都是在阿里云买的,这里有优惠链接:

阿里云企航_万网域名_工商财税_知识产权_资质备案_智能设计_网站建设-阿里云
阿里云企航是基于云计算领先的互联网应用服务提供商,阿里云旗下品牌,是中国最大的域名注册服务提供商,中国虚拟主机服务的开创者,中国企业邮箱服务的领先者和中国网站建设服务的创新者。

在订单页面还可以通过优惠口令再次优惠(一般是关注公众号说明哪些后缀的有优惠。):

ipv6地址毕竟一长串不说,而且上面的ipv6也是被随机分配的,且不是固定的,这样使用起来很是麻烦,所以就需要配置一个域名解析,另外使用一个开源的的工具,可自动更新ipv6/ipv4地址到域名解析,这就是 ddns-go

这里使用docker方式运行,centos8的docker安装可参考

docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go

启动后访问 http://ip:9876  进行配置,具体配置可参考页面说明。另外该服务为了安全一般不对外网开放,ip使用内网ipv4的地址进行访问即可。保存的信息存储在了上面挂载的目录中: /opt/ddns-go/  是一个.开头的文件

后记

只有在所有的网络都支持ipv6时体验才会更好,假如有ipv4的公网地址还是使用ipv4比较好,电信是有的,虽然是临时的但也可以通过上面的方式通过域名配置访问。联通听说有,移动的这个公网ip包没具体问。

家庭宽带的一些端口在公网都是被封的,(别以为内网可以访问到就以为公网也可以,哪怕配置了域名,走的还是内网)再者有云服务器的,可以使用 frp 工具进行内网穿透,优势可以通过域名的80端口访问,不过就是带宽要用云服务器的带宽,而且有些贵,可以整体衡量一下。当然要是没注册过的作为新用户可以薅下羊毛,在一些节日/非节日都有新人优惠,直接购买合适的云服务器就行,也不用折腾,或者优先买带宽比较多的,其他配置低些的,用内网穿透的方式利用公网带宽,本地可以用二手电脑、树莓派、二手服务器等运行服务然后低配置的云服务器做一个数据备份、负载均衡等保证对外的服务,因为公网带宽最贵。

当然要是简单的服务就直接在云服务器上面运行就行,毕竟电费也可以省下来。其它云厂商的新用户也有优惠,可以这边到期了再换一家。下面有阿里云的新人优惠链接。

免费试用的

阿里云免费试用 - 阿里云
阿里云免费试用提供多种产品免费,包括免费云服务器、免费云存储、免费数据库以及AI试用等。飞天免费试用计划,全栈产品体验,让企业和个人轻松享受云服务。

新人服务器优惠链接

新人特惠_云产品推荐_云服务器-阿里云
汇聚阿里云爆款云产品,数十款云产品新人价低至1元起

学生新用户的优惠

分享得好礼,学生限时专享福利
学生限时福利!云服务器t6 低至10.14元/月,下单就送10元优惠券!邀请学生下单,低至1折的新购或续费权益等你来拿!

一般老用户优惠并不多,建议使用亲友手机号注册

【阿里云】云服务器 全面降价
阿里云云服务器ECS全面降价:持续降低用云成本,让算力更普惠,指定云服务器低至0.3元/天。