ubuntu 下设置双网卡 实现内外网访问

本文介绍了如何在一台笔记本电脑上通过无线网卡连接到路由器上网,同时使用有线网卡与本地设备进行通信。通过手动配置默认网关和删除内网网关,实现了无线网卡上网和有线网卡与其他设备的连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



基本情况:

笔记本有无线网卡与有线网卡共两块网卡,欲通过无线网卡练路由器上网,有线网卡与本地设备进行测试通信;
无线网卡设置为DHCP,有线网卡设置为手动配置

实现方式:
手动添加默认网关为无线网卡的默认网卡,即外网数据通过默认网关转发



配置情况:


#终端中输入以下命令行

sudo vi /etc/network/interfaces

#在vi中输入以下配置

auto lo
iface lo inet loopback

# The primary network interface
auto wlan0
iface wlan0 inet dhcp


#the second eth0
auto eth0
iface eth0 inet static
address 192.168.10.1

#在终端中重新载入网卡配置文件

sudo /etc/init.d/networking restart

#手动测试两个网卡能否完成预定功能,如果不行,手动添加默认网关(10.180.32.1),删除内网的网关(192.168.10.2 )

sudo route add default gw 10.180.32.1  dev wlan0
sudo route del default gw 192.168.10.2  dev eth0

实现情况:

最后就可以实现无线网卡上网,以太网卡ping通


<think>好的,我现在需要帮助用户设置Ubuntu系统的内外网双网卡。用户可能希望同时连接内网和外网,比如公司内网和互联网。我需要确保步骤清晰正确,避免配置错误导致网络问题。 首先,我得确认用户使用的是Ubuntu哪个版本,不过通常网络配置方法在较新版本中类似。Ubuntu从17.10开始改用Netplan,所以用户可能用的是基于Netplan的配置。如果是旧版本,可能需要ifupdown,但Netplan更常见。 接下来,用户需要安装双网卡,可能一个有线一个无线,或者两个有线。假设都是有线网卡,接口名称通常是enpXsY形式,比如enp3s0和enp4s0。用户需要确定哪张卡连接内网,哪张是外网。使用ip a或ifconfig查看接口。 然后,配置静态IP给内网,因为内网通常需要固定IP访问资源。外网可能用DHCP,但用户可能也有静态IP。需要确认内网的网关和DNS,外网的网关可能不同。 关键点是路由表的设置,确保内网流量走内网网关,外网走默认网关。可能需要添加静态路由。如果内网有多个子网,需添加相应路由。 配置Netplan的YAML文件,比如/etc/netplan/01-netcfg.yaml。需要注意语法正确,缩进正确,否则netplan apply会报错。配置两个网卡的IP,子网掩码,网关和DNS。注意外网网卡可能需要设置默认网关(metric较低),而内网不设默认网关或设置较高metric,避免冲突。 保存配置后,应用更改:netplan apply。测试连通性,ping内网地址和外网地址如8.8.8.8。检查路由表route -n,确认默认网关正确,内网路由存在。 可能遇到的问题:如果两个网卡设置默认网关,会导致路由冲突,流量可能走错接口。解决方案是只在外网接口设置默认网关,内网接口设置特定路由。 如果用户有更复杂的需求,比如策略路由或多个子网,可能需要更高级的配置,比如使用ip route add或者修改路由表。不过基本配置应该能满足大部分情况。 需要提醒用户备份原配置文件,避免配置错误无法恢复。另外,如果使用NetworkManager,可能需要禁用其管理,特别是服务器环境通常用Netplan。 最后,确保所有步骤用中文清晰解释,代码部分正确无误,用户能一步步跟着操作。检查是否有错别字,比如网关、子网掩码是否正确,YAML格式是否正确,比如冒号后的空格,缩进是否用空格而非制表符。</think>以下是在Ubuntu系统中配置内外网双网卡的逐步指南: --- ### 一、查看网卡信息 ```bash ip a ``` 确认网卡名称(如`enp3s0`和`enp4s0`),记录内外网对应的网卡名称。 --- ### 二、配置Netplan文件 1. 编辑配置文件(路径可能不同): ```bash sudo nano /etc/netplan/01-netcfg.yaml ``` 2. 示例配置: ```yaml network: version: 2 renderer: networkd ethernets: # 内网网卡(固定IP) enp3s0: addresses: [192.168.1.100/24] routes: - to: 192.168.1.0/24 via: 192.168.1.1 metric: 100 nameservers: addresses: [192.168.1.1, 8.8.8.8] # 外网网卡(默认路由) enp4s0: dhcp4: yes optional: true routes: - to: 0.0.0.0/0 via: 10.0.0.1 metric: 50 ``` --- ### 三、参数说明 1. **内网网卡**: - `addresses`:静态IP地址(根据实际内网段修改) - `routes`:强制内网流量通过指定网关 - `metric`:路由优先级(数值越小优先级越高) 2. **外网网卡**: - `dhcp4: yes`:外网可通过DHCP获取IP(如需静态IP,仿照内网配置) - `routes`:设置默认路由指向外网网关 - 外网网关的`metric`需低于内网 --- ### 四、应用配置 ```bash sudo netplan apply ``` --- ### 五、验证配置 1. 检查IP分配: ```bash ip addr show ``` 2. 查看路由表: ```bash ip route show ``` 确保默认路由(`default via`)指向外网网关。 3. 连通性测试: ```bash ping 内网地址 # 如 192.168.1.1 ping 8.8.8.8 # 测试外网 ``` --- ### 六、常见问题 1. **路由冲突**: - 确保只有外网网卡设置默认路由 - 内网网卡仅配置特定子网路由 2. **DNS解析失败**: - 在`nameservers`中同时配置内外网DNS 3. **网卡未启用**: ```bash sudo netplan --debug apply # 查看详细错误 ``` --- ### 七、高级场景 1. **策略路由**: 如需根据源IP选择出口,需添加路由表: ```yaml routing-policy: - from: 192.168.1.100/32 table: 100 ``` 2. **多网段内网**: ```yaml routes: - to: 10.10.0.0/16 via: 192.168.1.1 metric: 100 ``` --- 通过以上步骤,可实现内外网流量分离。建议操作前备份原配置文件!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值