双网口实现网口2做WAN口

设备使用的是中嵌科技的网关设备,现在有两个网口,其中网口1用于和我的电脑建立ssh通信,网口2准备接路由器上网。
先看看系统版本:

root@EC2022v:~# cat /proc/version
Linux version 3.6.9-rt21-Emfuture (root@imx) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r44365) ) #130 PREEMPT Sun Mar 4 16:39:28 CST 2018

原来的配置文件内容如下:

root@EC2022v:/etc/config# cat network
#lo port seting
config interface loopback
	option ifname	lo
	option proto	static
	option ipaddr	127.0.0.1
	option netmask	255.0.0.0

#lan port seting
config interface lan
	option ifname	eth0
	option type 	null
	option proto	static
	option ipaddr	192.168.0.249
	option netmask	255.255.255.0

config interface lan1
	option ifname	eth1
	option type 	null
	option proto	static
	option ipaddr	192.168.1.249
	option netmask	255.255.255.0

修改后的配置文件如下:

root@EC2022v:/etc/config# vi network
root@EC2022v:/etc/config# cat network
#lo port seting
config interface loopback
	option ifname	lo
	option proto	static
	option ipaddr	127.0.0.1
	option netmask	255.0.0.0

#lan port seting
config interface lan
	option ifname	eth0
	option type 	null
	option proto	static
	option ipaddr	192.168.0.249
	option netmask	255.255.255.0

config interface lan1
	option ifname	eth1
	option type 	null
	option proto	dhcp

最后就可以欢快的上网了:

root@EC2022v:~#ping www.baidu.com
PING www.baidu.com (180.97.33.107): 56 data bytes
64 bytes from 180.97.33.107: seq=0 ttl=50 time=54.223 ms
64 bytes from 180.97.33.107: seq=1 ttl=50 time=52.394 ms
64 bytes from 180.97.33.107: seq=2 ttl=50 time=52.507 ms
64 bytes from 180.97.33.107: seq=3 ttl=50 time=52.619 ms
64 bytes from 180.97.33.107: seq=4 ttl=50 time=52.472 ms
64 bytes from 180.97.33.107: seq=5 ttl=50 time=52.367 ms
64 bytes from 180.97.33.107: seq=6 ttl=50 time=52.577 ms
64 bytes from 180.97.33.107: seq=7 ttl=50 time=52.509 ms
64 bytes from 180.97.33.107: seq=8 ttl=50 time=52.482 ms
64 bytes from 180.97.33.107: seq=9 ttl=50 time=52.531 ms

### 配置Android设备以支持网络接同时工作的实现方法 #### 1. 支持多种物理接 为了使Android终端能够处理多网络接,硬件设计需考虑不同类型的接。这些接可以包括但不限于USB接WAN/LAN接、UART接、I2S接、I2C接、SPI接或SDIO接[^1]。 对于LAN/WAN这样的有线网络接以及Wi-Fi无线网络接的支持尤为重要,因为它们是最常用的两种接入互联网的方式之一。当涉及到两个独立的网络连接时——比如一个用于数据流量而另一个专供语音通话使用,则需要特别注意操作系统层面的路由管理机制。 #### 2. 修改ConnectivityService逻辑 要让两块网卡能正常协同运作而不冲突,通常会涉及对`frameworks/base/services/core/java/com/android/server/ConnectivityService.java`文件内特定函数如`updateLinkProperties()`出调整。此过程允许自定义链接属性更新规则,从而更好地控制哪个网络应该优先转发某些类型的数据包[^2]。 具体来说,可以在该类中加入额外的状态跟踪变量来区分不同的网络适配器状态,并确保每当任一活动发生变化(例如新建立了一个PPPoe连接),都会触发重新评估当前最佳路径的选择算法;此外还可以设置特殊的路由表项指向指定的目标地址范围仅经由某条链路发送出去。 #### 3. 路由与防火墙规则设定 为了让应用程序和服务能够在适当时候选择正确的出进行通信,除了上述提到的服务端更改外还需要配置恰当的操作系统级参数。这一般意味着编辑iptables命令集用来定义哪些条件下的请求应当被导向何处: ```bash # 添加一条规则使得来自某个子网的所有HTTP(S)查询都走eth0而不是wlan0 iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 80 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 443 -j MASQUERADE ``` 以上例子展示了怎样强制内部网络内的客户端发起web浏览动作时总是利用以太网而非WiFi完成外部资源获取操作。当然实际应用当中可根据需求灵活定制更多复杂模式。 #### 4. 应用程序级别的优化建议 最后值得注意的是尽管底层架构已经好准备但仍有可能遇到个别APP表现异常的情况。这时开发者们就需要检查其源码看是否存在硬编码IP地址或者其他不利于动态切换环境的因素存在并加以修正。另外考虑到安全性方面的要求,在启用多重在线功能之前务必确认所有必要的加密措施均已到位以免造成敏感信息泄露风险增加等问题发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值