GNUer's Blog

技术博客存档 - 分享GPS、DNS、网络、Linux等技术文章

checksum error的原因

checksum error的原因 今天有同事反馈dig @223.5.5.5的时候看到本地发出去的包是提示“bad udp cksum” xxx > 223.5.5.5.53: [bad udp cksum 0x85e1 -> 0xc2e3!] 8250+ A? www.baidu.com. 实际这个是因为网卡开启了tx checksum,开启之后这个checksum的计算是由网卡硬 …

arp_announce引发的1个ARP问题

arp_announce引发的1个ARP问题 最近配置服务器时遇到在dummy0上宣告的公网地址不能正常访问公网的问题。网络的基本结构为2个网卡分别上联2个交换机,跑OSPF。在dummy0上会单独宣告1个公网的地址。自己通过在zebra内修改路由表使得访问公网时设置自己宣告的公网地址为源IP。 以前这个方案实际线上跑了多次,一直OK。最近有一套服务器安装这样的配置会出现刚启动时是OK的,过段时间 …

bind 9.10的Pre-fetch测试

bind 9.10的Pre-fetch测试 bind 9.10里有个prefetch的特性。文档描述如下 When a query is received for cached data which is to expire shortly, named can refresh the data from the authoritative server immediately, ensuring …

bind启动时提示953端口被使用

bind启动时提示953端口被使用 部署DNS的时候遇到个奇葩的问题,总是提示 couldn't add command channel 0.0.0.0#953: address in use 实际上系统上并没有进程使用953端口。查询了一下找 …

配置OpenVPN只注入特定路由表

配置OpenVPN只注入特定路由表 通过情况下大家配置VPN时,都会直接把默认网关指向服务端。但是这会影响访问公司内网资源,造成一些不便。如果只是希望走VPN访问部分外网资源,可以不让VPN客户端改默认的网关,通过加一些路由表使得到特定地址走VPN。 比如我在公司的时候只是需要访问一下google,可以在VPN服务端新增配置,其中把push redirect-gateway def1 …

nginx做cache时,缓存时间的指定顺序

nginx做cache时,缓存时间的指定顺序 其实做cache的server,绝大部分都是优先根据站源header里的Expires或者Cache-control里的max-age时间来设置本地cache文件的有效期。只有当站源没有这2个参数或者使用了其他的参数忽略了站源header的时候,才是使用nginx内的 proxy_cache_valid设置缓存时间。基本的顺序如下 后端有设置有效期的一 …

nginx的合并回源

nginx的合并回源 最近使用nginx做缓存,发现当大量客户端访问一个没有cache的文件时,回源的流量非常大,在站源上查看日志也看到确实有并发的请求。这个就是需要改成合并回源,当cache内没有数据的时候,只允许1个请求去站源请求数据,写到本地cache。nginx从1.1.12开始原生支持合并回源了。主要有2个配置 …

一个因VLAN tag和MTU引发的线上故障

一个因VLAN tag和MTU引发的线上故障 前段时间帮其他部门的同事排查了一个故障和MTU有点关系。同事找到我说线上的服务器访问有点问题,并直接给出了关键点:使用ping的时候 -s 1468能通,但是-s 1469就不通了。 简单看了一下是个虚拟机,再综合宿主机的情况看了下。就判断出是在虚拟机上的网卡加vlan tag引发的问题。因为我们习惯性的都是在宿主机上打vlan tag,单独建个网桥, …

使用route-map修改收到的路由

使用route-map修改收到的路由 在quagga内,可以配置zebra使得对外部OSPF/BGP学习到的路由进行一些处理。比如学到了1段到192.168.0.0/16的路由,如果想自己单独指定到这段地址时使用特定IP做源IP,那么可以直接在配置 ip prefix-list INNET1 seq 5 permit 192.168.0.0/16 le 32 route-map …

自动化配置ospf脚本

自动化配置ospf脚本 前面有提到过自己写的一个自动化在服务器上配置quagga跑ospf的脚本。简单说一下适用的环境 服务器同时有千兆和万兆的接入,万兆接入交换机上起OSPF,互联地址每个网卡使用/30的一段地址。 ospf的验证需要和交换机相一致。 使用dummy0宣告单独的万兆服务地址 使用的方式比较简单 sh config_ospf.sh eth4 eth5 192.168.1.1 当交换 …