首页 > 其他分享 >让天大校园网变成真正的校园网——PPPOE连接后原先DHCP的IP不可用的解决方案

让天大校园网变成真正的校园网——PPPOE连接后原先DHCP的IP不可用的解决方案

时间:2023-03-22 20:55:32浏览次数:56  
标签:windows IP 网卡 172.24 linux 校园网 DHCP PPPOE

首先说明我的场景:
一台电脑安装windows,一台安装linux。两台电脑都连接校园网,并且插网线,拨号。这样获取了两个IP:一个是校园网DHCP的IP,一个是PPPOE的IP。
另外,windows电脑还有一个wifi网卡,也可以获得一个IP。
这几个IP的前缀分别是:有线网DHCP:172.24.*.*,PPPOE宽带拨号:172.26.*.*,wifi:172.23.*.*
连接PPPOE后会把默认路由设置为指向PPPOE接口,导致DHCP得到的IP几乎处于废止状态,发出去连接不使用它,给它发的传入连接也会被丢弃。
这两个网络接口分别是:eno1和ppp(ifconfig可以看到)

以下的所有前提是:假定校园网的路由器本身是正确的,有线、宽带、无线都可以正确被路由,本身没有做任何网络切割。

为了解决这些问题
总共分为这么几种情况:

  1. 让linux的dhcp的ip可以被连接
    https://support.huaweicloud.com/trouble-ecs/ecs_trouble_0307.html
sudo vim /etc/iproute2/rt_tables
添加:32000 djc
sudo ip route add default via 172.24.64.1 dev eno1 table djc
sudo ip rule add from 172.24.67.11 lookup djc prio 32000
# sudo ip rule add from $(ip -j -4 addr show eno1 | jq -r '.[0].addr_info[0].local') lookup djc prio 32000

简洁版:

sudo ip route add default via 172.24.64.1 dev eno1 table djc
sudo ip rule add from $(ip -j -4 addr show eno1 | jq -r '.[0].addr_info[0].local') lookup djc prio 32000

让来自不同的网卡的数据包查阅不同的路由表,这样,就不会出现收到来自非默认接口(PPP)的数据包,但是从默认接口(eno1)发出去响应包,导致对方无法接收的情况。

此时,在windows发起ssh连接,连接linux,使用的是windows的PPPOE接口。同时linux ping不通windows的有线网IP和无线网IP,只能ping宽带IP。
原因就是:发出去的ping数据包到达windows网卡后,会从windows的宽带网卡发出响应包!这不正确!会被丢弃。应该是哪个网卡收到就从哪个网卡发送响应包!这个问题在linux下面可以让每个网卡使用自己的路由表来解决,但是windows没有这个功能!

所以只能取舍一下,使用一个略微阴间的解决方案:windows上设置路由,让去往linux主机的数据包走DHCP网卡,而不是PPPOE!这样windows连接linux主机也会走有线网卡而不是默认的PPPOE。
2. 使用dhcp的ip发起传出连接
但是,windows的路由设置没有不同网卡使用不同的路由表的功能,这样就会出现:外部发送到非默认网卡的数据包,从默认网卡发送了响应。一个尴尬的解决办法是,添加一条路由,让目的地是外部的ip路由到DHCP。
代码:

route add 172.24.0.0 mask 255.255.0.0 172.24.8.1 if 16
route add 172.26.0.0 mask 255.255.0.0 172.24.8.1 if 16

这样,让去往172.24.0.0/16和172.26.0.0/16的数据包网关是172.24.8.1,接口是有线网卡。这样linux的两块网卡就可以互相ping通windows的两块网卡了。

这里有点不理解的问题:linux的默认路由是走PPPOE(172.26.x.x),从这里访问windows的有线网卡和PPPOE接口,响应数据包都会通过172.24.x.x发送出去。linux访问windows的pppoe,数据包来自接口pppoe,但是响应包从有线网卡接口发送出去,仍然能正常工作。感觉是把两个接口当成了一个接口在用?或者说windows的rp_filter机制是,PPPOE的响应数据包走物理网卡不会被丢弃,物理网卡的响应数据包走PPPOE会被丢弃。都是猜测。

如果需要让linux ping windows的wifi网卡,按理说那么就要相对应的更改上述路由的网关为wifi的网关。
如果想让来自别人wifi的可以ping通有线网卡,则需要添加一条:

route add 172.23.0.0 mask 255.255.0.0 172.24.8.1 if 16

标签:windows,IP,网卡,172.24,linux,校园网,DHCP,PPPOE
From: https://www.cnblogs.com/wangbingbing/p/17207218.html

相关文章

  • 用友BIP丨事项会计,助力企业跻身世界一流
    3月16日,2023企业数智化财务创新峰会在北京举行,事项会计一词再次高频出现。技术一直影响和改变着商业,尤其是会计。从原始的手工记账、会计电算化时代再到ERP时代,单据凭证从纸......
  • 用友BIP推动大型企业财务从“价值反映和守护”走向“价值发掘和创造”
    2023年3月16日,用友在北京国家会计学院举办“智能会计 价值财务”2023企业数智化财务创新峰会· 北京站。从行业场景中来、到行业场景中去,诸多业界学者、专家、企业CFO、......
  • osip 重复报文发送问题记录
    场景拱墅项目,国标服务每次发送SIP报文都出现重复的情况,服务器IP地址:33.86.188.60,下级国标服务IP地址:33.88.0.211针对下级发送过来的心跳保活报文,回复的200OK的报文也是一样......
  • clipboard.js多次执行
     <ahref="javascript:void(0)"onclick="cloneCode('codeBtn');"data-clipboard-text="aaaa"id="codeBtn">复制券码</a> varclipboard;//这里定义全局变量 funct......
  • [swiper]用户操作swiper之后不再自动播放
    设置参数 autoplayDisableOnInteraction:false来源:https://3.swiper.com.cn/api/basic/2014/1215/19.html 用户操作swiper之后,是否禁止autoplay。默认为true:停止。......
  • 恒创科技:如何防止服务器IP DDOS攻击?
    当今网络安全技术的发展,IPDDoS攻击的威胁也越来越严重,攻击者会攻击网络的关键网络资源,从而造成严重的损失。因此,保护网络资源,有效的防御IPDDoS攻击,已经成为当今网络安......
  • JavaScript 通讯框架 NowJS
    NowJS是一个实现了JavaScript服务器端进行通讯的框架,基于​​Node.js​​开发。示例代码:服务器端:<scriptsrc="/nowjs/now.js"></script>vareveryone=require("now"......
  • scipy模块
    scipy模块scipy依赖于numpy,提供了便捷快速的n维数组操作。scipy子包scipy.cluster:矢量量化/Kmeansscipy.constants:物理和数学常数scipy.fftpack:傅里叶变换scipy......
  • ElementUi使用el-tooltip实现超出部分显示省略号
    效果前:效果后:创建myTooltio.vue组件<template><divclass="tooltip-container"><el-tooltipclass="my-tooltip":disabled="showTooltip":content="t......
  • Vue3 点击复制功能,利用vue-clipboard3
    首先安装插件vue-clipboard3 npminstallvue-clipboard3--save然后在页面里面引入<buttonclass="btn"@click="copy()">点击复制</button>  建议用buttn标签......