- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我设置了一个带有三个接口(interface)的盒子/小型服务器。一个接口(interface)通向内网,并在路由表 rt1 中拥有一条默认路由。另一个接口(interface)连接到 Fritz!Box 并通向互联网,并且在路由表 rt2 中也有默认路由。
我已经设置了两个默认网关(表 rt1 和 rt2),现在我想在某个接口(interface)(eth0.103)上 ping 互联网中的某些内容,这会通向 Fritz!Box(和互联网),甚至在两者上,但这不起作用,尽管跟踪路由甚至 SSH 连接都在该接口(interface)上工作。我的意思是,我什至可以从外部/通过 Fritz!Box/互联网联系/连接到该盒子 (eth0.103)。此外,在 eth0.101 上没有路由或 ping 发生。
Fritz!Box 的地址为 192.168.178.1,eth0.103 (192.168.178.20) 直接与其连接。
命令
ping -I eth0.103 8.8.8.8
ping -I eth0.101 8.8.8.8
/etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 rt1
2 rt2
/etc/network/interfaces
auto eth0.101
iface eth0.101 inet static
address 172.19.2.2
netmask 255.255.255.0
post-up ip route add 172.19.2.0/24 dev eth0.101 src 172.19.2.2 table rt1
post-up ip route add default via 172.19.2.1 dev eth0.101 table rt1
post-up ip rule add from 172.19.2.2/32 table rt1
post-up ip rule add to 172.19.2.2/32 table rt1
auto eth0.102
iface eth0.102 inet manual
auto eth0.103
iface eth0.103 inet static
address 192.168.178.20
netmask 255.255.255.0
post-up ip route add 192.168.178.0/24 dev eth0.103 src 192.168.178.20 table rt2
post-up ip route add default via 192.168.178.1 dev eth0.103 table rt2
post-up ip rule add from 192.168.178.20/32 table rt2
post-up ip rule add to 192.168.178.20/32 table rt2
auto br0
iface br0 inet static
bridge_ports eth0.102 wlan0
bridge_waitport 0
address 192.168.1.254
network 192.168.1.0
netmask 255.255.255.0
ip路由显示
172.19.2.0/24 dev eth0.101 proto kernel scope link src 172.19.2.2
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.254
192.168.178.0/24 dev eth0.103 proto kernel scope link src 192.168.178.20
ip路由显示表rt1
default via 172.19.2.1 dev eth0.101
172.19.2.0/24 dev eth0.101 scope link src 172.19.2.2
ip路由显示表rt2
default via 192.168.178.1 dev eth0.103
192.168.178.0/24 dev eth0.103 scope link src 192.168.178.20
我无法弄清楚,如果我对这些网关或路由规则/表做错了什么。另外,我觉得很奇怪,我可以通过 Fritz!Box 的公共(public) IP 地址连接到服务器,但从它执行 ping 操作却不起作用。提前谢谢你们,伙计们。
最佳答案
好吧,通过在 Linux 网站和 Stack Overflow 上进行了大量的谷歌搜索和阅读,我找到了解决方案。
路由表很好,但不知何故没有将默认网关传输到主表。因此我无法 ping 或实现任何目标,但跟踪路由仍然有效。甚至静态路由也能正常工作。
因此,我在/etc/network/interfaces 中添加了这两行重要的行(带有度量值),现在两个路由表的默认网关都传输到主路由表。
/etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
101 rt1
102 rt2
/etc/network/interfaces
auto eth0.101
iface eth0.101 inet static
address 172.19.2.2
netmask 255.255.255.0
post-up ip route add 172.19.2.0/24 dev eth0.101 src 172.19.2.2 table rt1
post-up ip route add default via 172.19.2.1 dev eth0.101 table rt1
post-up ip rule add from 172.19.2.2/32 table rt1
post-up ip rule add to 172.19.2.2/32 table rt1
post-up ip route add default via 172.19.2.1 metric 100 dev eth0.101
post-down ip rule del from 0/0 to 0/0 table rt1
post-down ip rule del from 0/0 to 0/0 table rt1
auto eth0.102
iface eth0.102 inet manual
auto eth0.103
iface eth0.103 inet static
address 192.168.178.20
netmask 255.255.255.0
post-up ip route add 192.168.178.0/24 dev eth0.103 src 192.168.178.20 table rt2
post-up ip route add default via 192.168.178.1 dev eth0.103 table rt2
post-up ip rule add from 192.168.178.20/32 table rt2
post-up ip rule add to 192.168.178.20/32 table rt2
post-up ip route add default via 192.168.178.1 metric 101 dev eth0.103
post-down ip rule del from 0/0 to 0/0 table rt2
post-down ip rule del from 0/0 to 0/0 table rt2
auto wlan0
iface wlan0 inet manual
auto br0
iface br0 inet static
bridge_ports eth0.102 wlan0
bridge_waitport 0
address 192.168.1.254
netmask 255.255.255.0
关于linux - 两个默认网关上的路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616718/
我正在寻找的服务器是: 轻量级, 非 buggy , 支持.NET, 在客户端上运行以进行测试, 在Windows上运行 Cassinni太过马车,IIS太昂贵,Apache很难安装,XSP仅是lin
所以我有大约10个短的css文件,可以与mvc应用程序一起使用。 有像 error.css login.css 等等... 仅有一些非常短的CSS文件,这些文件使更新和编辑变得容易(至少对我而言)。我
我正在编写程序来自动化 win32 表单。我正在使用 Microsoft UI 自动化库。我不知道如何获取和调用该表单上的预定义快捷键。现在我只需获取 MenuItem 的 AutomationEle
我有一个在后台线程上运行的及时操作。运行时,我当前将光标置于等待状态: Mouse.OverrideCursor = Cursors.Wait 我刚刚实现了一项功能,允许用户在厌倦等待时单击“取消”按
如何找到所有可能直接或间接调用给定方法的单元测试?当我更改方法时,我希望知道要运行的最佳测试;必须有一个工具! 因为我们有很多接口(interface),所以我对所有调用接口(interface)方法
我想知道,一个类会被装箱吗?我一直假设每个类都有一个虚拟表,可以用来标识类,所以它需要装箱吗? 最佳答案 只有值类型(结构)被装箱。类实例不会被装箱。 关于.net - 类是盒装的吗? 。网,我们在S
所以接下来有一个按钮调用(页面)。它的 href 链接是 site/blah/#。所以我知道它真正运行的 javascript 代码。在我解析完第一页后,我想解析下一页。我如何模拟鼠标点击,以便我可以
我想知道是否有人对解决以下设计问题有好的建议/模式。我有一个命令类的层次结构。在最抽象的层面上,我有一个 ICommand 接口(interface)。执行 ICommand 的 RunCommand
我在资源(xsd 文件)中有几个文件可用于验证收到的 xml 消息。我使用的资源文件名为 AppResources.resx,它包含一个名为 clientModels.xsd 的文件。当我尝试使用这样
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
(最后的简短版本) 我目前正在开发的软件需要跟踪任意数量的 MS Office 文件,现在需要提供将所有这些文件一起打印的功能,以及一些应用程序数据(可能会发送到打印机作为 .xps、.html 或
我想在不指定命名空间或程序集的情况下按名称(字符串)实例化一个类。像这样(Unity 语法): var processor = container.Resolve("SpecialProcessor"
我有一些代码可以对 64 位整数进行大量比较,但是它必须考虑数字的长度,就好像它被格式化为字符串一样。我无法更改调用代码,只能更改函数。 最简单的方法(除了 .ToString().Length 之外
使用遗留代码,我发现我有很多这样的语句(超过 500 个) bool isAEqualsB = (a == b) ? true : false; 这样重写有意义吗? bool isAEqualsB =
我有这个: AudioPlayer player = new AudioPlayer(); player.Directory = vc.Directory; player.StartTime = vc
我已经阅读了很多关于双重检查锁定的危险的文章,我会努力远离它,但话虽如此,我认为他们的阅读非常有趣。 我正在阅读 Joe Duffy 的这篇关于使用双重检查锁定实现单例的文章: http://www.
对于可变类型,值类型和引用类型之间的行为差异很明显: // Mutable value type PointMutStruct pms1 = new PointMutStruct(1, 2); P
关闭。这个问题需要更多 focused .它目前不接受答案。 想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this q
我有一个 Cordova pp 我在 Controller 中调用post方法 它可以在浏览器中工作,但是在构建和调试apk时出现错误 ionic.bundle.js:23826 POST http:
我们正在尝试将时间戳附加到某些 URL 以让内容缓存但在它们发生更改时更新它们。我们有代码可以归结为: DateTime ts = File.GetLastWriteTime(absPath); 其中
我是一名优秀的程序员,十分优秀!