默认路由配置在eth0
① 百为bv990w万兆路由器怎么设置
一、登录路由的管理界面
设备出厂的接口的IP地址,参考如下表
接口
IP地址 掩码
eth0 192.168.0.1 255.255.255.0
eth1 192.168.1.1 255.255.255.0
eth2 192.168.2.1 255.255.255.0
eth3 192.168.3.1 255.255.255.0
eth4 192.168.4.1 255.255.255.0
eth5 192.168.5.1 255.255.255.0
(备注:BV200H、BV900W型号至只有5个网口,则没有eth5)
举例说明通过eth0口登录路由,操作步骤如下:
(1)网线连接到百为路由器的eth0口,保证登录的客户机到路由的网络正常连接。
(2)路由器的eth0口的默认地址是192.168.0.1,路由的eth0口没有启用DHCP服务,连接路由器的客户机,需要在网卡配置和eth0同个网段的IP地址,比如客户机的IP配置为192.168.0.200,子网掩码配置为:255.255.255.0.
(3)客户机尝试ping 192.168.0.1,如果能ping通,说明连接正常,则通过浏览器,输入 http://192.168.0.1:2011,登录了路由的web界面,web界面默认的用户名和密码均是 admin
二、配置路由器上网
1、配置LAN口
路由所有网口,默认配置为LAN口模式,修改LAN口IP,不需要修改接口类型。[网络配置]→[接口配置],选择要配置的网口,直接修改 IP 地址。比如修改 eth0 的 IP 地址为
192.168.0.254,直接填写IP地址“192.168.0.254”,点击保存。
备注:有些用户需要在一个 LAN 口使用连续多个网段,比如 eth0 口需要配置掩码: 255.255.252.0,由于eth1、eth2、eth3、eth4、eth5默认为192.168.1.1、192.168.2.1 ......,修改eth0的掩码为255.255.252.0之前,需要把eth1、eth2、eth3、eth4、eth5,先修改为别的网段的IP,比如172.16.1.xxx、172.16.2.xxx、172.16.3.xxx ......
2、配置WAN口
[网络配置]→[接口配置],选择要配置的网口,修改接口类型为“WAN(外网口)”,比如选择 eth4修改接口类型为“WAN(外网口)”,并配置好外网信息
2.1、上网方式——根据实际情况,选择上网方式
ADSL/PPPOE:填入宽带账号和密码
固定IP:填入运营商提供的IP、掩码、网关及DNS
DHCP:直接插入运营商提供的线路,获取IP
2.2、线路中断检测——检测线路是否通外网,如果线路不通,或者线路质量差,丢包严重。路由自动处理,不负载到该线路。建议启用线路中断检测。成都和重庆专网线路不能勾选(无法进行检测)
2.3、带宽配置——配置线路的带宽,比如上行 4M 下行 100M 的拨号光纤,可以配置上行为500KB,下行 10000KB。配置线路带宽非常重要,智能流控根据所配的带宽自动流控。(需要勾选“启用智能流控”的勾选项,配置带宽的值才生效)
3、配置分流规则
单线路可以不配置分流规则;多线路,必须配置分流规则。[网络配置]→[分流规则],点击“自动创建分流规则”。比如三个WAN口,通过自动创建分流规则,可选择线路承载哪些应用。勾选后点击“确定”。
网吧用户,强烈建议部署百为客户端。百为客户端,是运行在客户机的一程序,是单文件的绿色软件,双击运行,没有的安装流程。通常配置开机调用。比如添加到开机启动项,或者从无盘服务器推送为开机调用。
百为官网提供客户端下载,下载路径:http://www.bytevalue.com/down/ 运行百为客户端有如下作用:
1、配合路由识别客户机的应用软件,识别更精确;
2、分流指定应用程序走某条线路,需要客户端配合;
3、客户端可以抑制内网攻击路由;
4、可以更精确的观察客户机的进程流量,方便排查问题。
查看客户端--点击[系统管理]→[在线IP列表],可在左边栏看到有运行客户端的机器,如下图所示,如若看到有客户端的版本号,即说明客户端已经工作。
② pod内部访问svc失败分析
pod 无法访问svc
环境:
3 mst 2 worker
node 双网卡
node eth0:默认路由在eth0 ,k8s管理网络,node访问svc ,pod经过node访问svc,以及pod回包给node都会经过eth0
pod eth1:pod 访问pod需要经过 eth1的网关
情况描述:
原因:kube-proxy 没有开启masquerade导致的, 不开启pod发出的包经过ipvs就不会被伪装成eth0的ip和mac,而是只替换了mac。由于ipvlan模式下,eth1网卡无法向外转发,所以走了eth0出去,即eth0发出了一个不是自己的ip也不是自己的mac的包,所以会导致出问题。
像macvlan,ipvlan,kube-ovn 多网卡场景的node,eth0是k8s管理网卡(svc依赖)必须开启该模式
对比 启用 masquerade 之后
基于kubespray 更新全伪装之后,旧的lb未生效,所以直接重建了下测试集群
首要问题pod 访问svc 概率性不通的问题:
场景1: 在kube-proxy 不启用全伪装模式的时候, 此时pod 内部访问 curl -k https://kubernetes:443/livez?verbose
小概率可成功响应,大概率失败。 而node上访问完全正常。
当kubernetes有三个后端,那么pod内部的成功率是1/3,而node成功率是100%。
原因: 由于是双网关,且无伪装。 pod访问svc后端的node需要eth0的网关,而回包是直接返回给pod。由于node回包给pod时,网关转发包的混乱,包看起来是随机发送给任何一个node的,所以小概率,pod可以收到包。
小结: 本质上是因为node访问pod,跨网关转发,这个转发是不稳定的。
开启全伪装模式之后, pod内部访问 curl -k https://kubernetes:443/livez?verbose 100%成功, 只是有首包慢的问题,localdns的缓存效果,后续请求就很快
前提: 在kube-proxy 启用全伪装模式的情况下,进行2 自建svc的测试。
一般情况下,pod创建出来,node 能否平通 pod是概率性的,但是pod可以100% ping通node
在pod ping 通node之后的一段时间内,node ping pod 也是100%可通的。 也就是在这段时间内,网关知道pod在哪里,可以准确转发。
情况1: 在node 无法ping通pod的情况下,pod 访问svc的情况是概率性的,和kube-proxy未开启全伪装的表现几乎一样
当自定义svc有两个后端, pod内部访问svc成功率是1/2, 而node成功率为0
原因:
跟踪contrack表发现
pod 内部 ping svc, 没有新的contrack条目创建。也就是就是没基于cluster ip建立连接
node 内部 ping svc,发现有新的contrack条目创建。 但是由于node ping 不同 pod,所以依旧无法访问
情况2: 在 node 可以ping 通 pod的情况下,pod 访问svc 100% 成功
保持pod 对node的ping
此时有两条icmp的记录,svc两个后端pod 保持 对 master1的ping
此时在master1 访问cluster ip 100%成功
等待 node访问的contrack记录消失,再进行 pod访问的测试
测试pod访问自定义svc
始终是1/2的成功率,但是完全没有新的contrack记录。 pod访问svc 应该没走kube-proxy。
解决方式: 移除eth1的网卡上的ip,该情况完全消失。 pod 内部访问100%成功,node访问会产生新的contrack
如果自定义 svc 只有一个pod,pod 访问 svc 始终都是成功的
可以看到eth1网卡发起的arp广播。
由于eth1作为master,是无法通往外部以及本地pod的
也就是说这张网卡,完全没有联通的功能,但是仍然会触发arp的更新。
解决方式:该网卡的ip以及路由需要移除掉,达到禁用该网卡的目的
禁用网卡时,可以看到eth1相关的arp记录全部清除
执行ip addr flush dev eth1 时,eth1的arp记录全部清除
pod 内部 访问多pod 后端的svc 也100%回复正常
参考:ipvs https://blog.dianidian.com/post/lvs-snat%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90/
③ 静态路由配置格式是什么
静态路由配置格式在redhat环境下,有三种配置方法:
方法一:在/etc/sysconfig/network配置文件中配置:
default via 192.168.3.1 dev eth0 #192.168.3.1为eth0网卡的网关地址
10.211.6.0/24 via 192.168.3.1 dev eth0
10.0.0.0/8 via 10.212.52.1 dev eth1 #10.212.52.1为eth1网卡的网关地址
注:该种配置写法同样支持写到/etc/sysconfig/network-scripts/route-interferface 配置文件中。
具体可以参看redhat官方文档。
方法二:在/etc/sysconfig/network-scripts/route-interferface 配置文件配置
在这里支持祥尘悉两种配置格式的写法
A:方法1中提到的方法
cat /etc/sysconfig/network-scripts/route-eth0
0.0.0.0/0 via 192.168.3.1 dev eth0
10.211.6.0/24 via 192.168.3.1 dev eth0
cat /etc/sysconfig/network-scripts/route-eth1
10.0.0.0/8 via 10.212.52.1 dev eth1
B:网络掩码法
cat /etc/sysconfig/network-scripts/route-eth0
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=192.168.3.1
ADDRESS1=10.211.6.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.3.1
其中网段地址和掩码全是0代表为所有网段,即默认路由。
cat /etc/sysconfig/network-scripts/route-eth1
ADDRESS0=10.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=10.212.52.1
网络掩码法也可以参看redhat官方文档。
方法三:/etc/sysconfig/static-routes配置
cat /etc/sysconfig/static-route
any net any gw 192.168.3.1
any net 10.211.6.0/24 gw 192.168.3.1
any net 10.0.0.0 netmask 255.0.0.0 gw 10.212.52.1
注:默认情况下主机中并没有该文件,之所以该方法也可以是因为/etc/init.d/network启动脚本会调用该文件,具体调用部分代码如下:
Add non interface-specific static-routes.
if [ -f /etc/sysconfig/static-routes ]; then
grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
/sbin/route add -$args
done
fi
三、suse静态路由配置
(3)默认路由配置在eth0扩展阅读:
配置静态路由的命令的格式为:
router(config)# ip route network [mask] {address | interface} [distance] [permanent]
其中各参数含义如下:
network:目标网络谨乎的网络ID。
mask:目标网络的子网掩码。
address:到达目标网络经过的下一跳路由器的入口IP地址。
interface:到兄蚂达目标网络的必经的本地路由器的出口的接口名称。
distance:管理开销,不需要改变默认管理开销时,使用该参数进行修改。
permanent:永久有效。如果配置了该选项,即使该接口被关闭,这条静态路由也不会被删除。
参考资料:网络-静态路由
④ Centos 双网卡加载顺序引起默认路由配置问题
centos cloud和 裸机均有次问题。
当centos有2个网卡,eth0是连公网,eth1是连内网,default route应该走eth0,系统启动后不能从公网链接。
原因是default route 配置到eth1了,找原因:
/etc/sysconfig/network-scripts/ifcfg-eth0:
/etc/sysconfig/network-scripts/ifcfg-eth1:
虽然有cloudinit 配置默认路由,但是后面还得network service再配置一把,最终改路由的脚本:
network service是按照eth0,eth1 的顺序配置网卡的,配置eth0的时候有DEFROUTE=yes,但是到了配置eth1的时候配置文件ifcfg-eth1里没有指定DEFROUTE,而脚本只判断了变量!="no",其实DEFROUTE这个变量没定义,这个条件也满足,后面也会把default route 替换成从eth1的。
解决办法很多,一个简单的就是echo "DEFROUTE=no" >> /etc/sysconfig/network-scripts/ifcfg-eth1
这个还可以写在cloud环境的userdata里。
⑤ linux怎么设置永久路由
1
首先让我们查看一下当前机器的路由表,执行如下命令:route -n
当前本机只有一条默认路由,网关是192.168.142.1
2
然后我们确认一下当前工作的网卡,这里我们使用的是eth0。
补充:如果机器中存在多块网卡,我们可以为不同网卡指定不同的静态路由。
比如还有eth1,eht2;那么方法是一样的,我们依次为每块网卡创建一个对应的路由配置文件。route-eth0;route-eth1;route-eth2
3
接下来让我们添加两条静态路由,访问192.168.142.100时通过192.168.142.10;访问192.168.142.200时通过192.168.142.20。执行如下命令:vim /etc/sysconfig/network-scripts/route-eth0
添加如下信息:
192.168.142.100/32 via 192.168.142.10
192.168.142.200/32 via 192.168.142.20
保存并退出。
4
然后我们需要重新重启一下网络服务:service network restart
5
最后让我们验证一下:route -n;发现此时路由信息已经添加到路由表了,这时无论是重启主机还是重启网络服务路由信息都不会丢了。