需求简介
Ubuntu主机通过有线网卡与无线网卡同时连接,有线用于访问内部的服务器设备,无线用于访问外部互联网。现需要主机能够同时访问互联网与内网服务器。
注:路由交换配置部分略,如有需要可在后台回复【双网卡】获取工程文件

192.168.1.254
的默认路由优先级较高,导致所有流量都通过该网卡发送

解决方法
删除去往内网的默认路由,重新添加一条明细路由
ip route del default via 192.168.1.254
#添加去内网的明细路由
ip route add 192.168.101.0/24 via 192.168.1.254 dev ens33

访问测试

路由追踪查看,可以看到访问流量分别通过不同的网关发送出去

路由持久化配置
手动添加的路由在系统重启后会丢失,导致路由失效。如需实现永久有效,将其写入到开机自启文件内执行即可。
编写systemd文件,文件存放路径:
/etc/systemd/system
[Unit]
Description=routeadd
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/routeadd.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
xx.service
,赋予文件可执行权限chmod +x /etc/systemd/system/routeadd.service

将添加路由的命令写入到脚本,脚本存放路径为:
/usr/local/bin/routeadd.sh
#!/usr/bin/env bash
sudo ip route del default via 192.168.1.254
sudo ip route add 192.168.101.0/24 via 192.168.1.254 dev ens33
chmod +x /usr/local/bin/routeadd.sh

/etc/sudoers
配置文件,使普通用户可以使用sudo免密执行以下命令#test用户使用其他命令时需要输入密码
test ALL=(ALL:ALL) ALL
#test用户可以免密执行ip和systemctl命令
test ALL=(ALL:ALL) NOPASSWD:/usr/sbin/ip,/usr/bin/systemctl

systemctl enable routeadd.service
#查看开机自启服务
systemctl list-unit-files --type=service --state=enabled
可以看到,我们自定义的服务已经设置为自启动了


▽往期推荐△
原文始发于微信公众号(青菜浪人):
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/308371.html