nuc4 装了 Linux Mint ,买了 usb 转网线接口想搞软路由,就完全没有头绪。。
如何使用 Debian/Ubuntu 等 Linux 做软路由(物理机版本,非虚拟机容器版) - 知乎
1 、目前光猫拔号,能否在这个前提下搞软路由?
2 、光猫已经拔号了,光猫 - nuc - 路由器 - 笔记本,nuc 能够连接外网,笔记本能内网访问到 nuc ,但是笔记本无法访问外网,理论上是应该修改路由器模式实现以 nuc 作为网关和 dhcp 服务器,然而 AP / 桥接模式怎么设置?
3 、如何验证 nuc 配置的 dhcp 是正确的?试过 光猫 - nuc - 笔记本 ,最终会变成「电缆拔出」。。
4 、恢复 光猫 - 路由器 - nuc ,局域网能够访问到 nuc ,但是 nuc 无外网,哪一步的操作导致了这个问题?固定使用 enp0s25 网卡连接光猫
下边是照着教程外加凭感觉改的各种配置。。。
network:
version: 2
renderer: networkd
ethernets:
enx207bd2cec82d:
# 接光猫
dhcp4: yes
nameservers:
addresses:
- 223.5.5.5
- 1.1.1.1
enp0s25:
# 接路由器
dhcp4: no
addresses:
- 192.168.123.154/24
dhcp4: false
# 两个 dhcp4 是重复了么?
net.ipv4.ip_forward=1
subnet 192.168.123.0 netmask 255.255.255.0 {
range 192.168.123.10 192.168.123.233;
option routers 192.168.123.154;
option domain-name-servers 223.5.5.5,1.1.1.1;
option broadcast-address 192.168.123.255;
default-lease-time 600;
max-lease-time 7200;
}
# 原教程 -o 参数是 ppoe 拔号对应的网卡?我这边光猫拨号所以尝试了接光猫的网卡
sudo iptables -t nat -A POSTROUTING -o enx207bd2cec82d -j MASQUERADE
# 不知道是啥
sudo apt install iptables-persistent -y
1
fredcc 363 天前 via Android
软路由一般用 openwrt 系统,因为你问的这些问题基本开箱可用不用折腾。
当然喜欢用 Linux 发行版从零折腾请无视前一句。 |
2
fsdrw08 363 天前 via Android
用 vyOS 吧,路由防火墙专用系统,Linux 的
|
3
Ggmusic 363 天前 via iPhone
如果是 nuc 到笔记本,估计 systemd-networkd 需要配 dhcpd ,比如:
DHCPServer= Takes a boolean. If set to "yes", DHCPv4 server will be started. Defaults to "no". Further settings for the DHCP server may be set in the [DHCPServer] section described below. https://man.archlinux.org/man/systemd.network.5 |
4
yyzh 363 天前
|
5
aphorism 363 天前
1. Linux 机器做软路由其实很简单。首先需要有两个网卡,一个是 WAN ,接入上级路由器,一个是 LAN ,为需要上网的设备提供网络连接。Linux 需要打开系统的转发功能并配置 iptables 来做网络 NAT 。你如果对 Linux 系统较熟悉,应该很快就能试成功。详细指示可以看这个贴子,https://blog.noviantech.com/2010/12/22/debian-router-gateway-in-15-minutes/
2. 一般在中国配置软路由的目标都是为了突破 GFW 的限制访问 Internet. 所以根据我和一些曾经在中国生活过的朋友的经验,建议光猫->中国网路由器->软路由->Internet 路由器。软路由其实就起一个建立安全隧道的作用,不要让它真的当路由器,所以在它下面再接一个专门的路由器为好。 3. 你设立软路由的目标是做什么,是看流媒体如 netflix, Disney+, MAX, Hulu 和 Sling ?还是为玩游戏如 XGPU 和 Battle.net? 不同的需求其实技术方案也有不同。如果目标是看流媒体,你可能需要一个二级软路由运行 Google One VPN 客户端,因为这是一个对流媒体最友好的 VPN 服务方案。如果是玩游戏则需要找一个延迟特别低的第一跳,例如韩国、日本、香港等国家的网络服务器作为第一跳出口。 4. 你的软路由有两个 IP 地址,一个是 WAN 口的,一个是 LAN 口的,至于你描述的 ssh 无法登录,也许是防火墙安全策略的问题。用 ss -tnlp 看看各个服务的侦听端口是不是正常,再用 ip addr list 看看网络地址。再用 iptables -L 看看防安全策略。一般这些没问题应该就没问题才对。 |
6
msg7086 363 天前
ermmm OPNSense 不好用吗?
|
7
laminux29 363 天前 2
楼主你知道 OpenWRT 是怎么来的嘛?世界上顶级公司,公司里的多少顶级工程师,花了大量的时间精力,才把 Linux 一点点打造为 OpenWRT ,而且要用好,至今要安装一大堆第三方 mod ,这些 mod ,每个都是作者花费大量时间去设计、实现、调试维护。
你现在想一个人把 Linux 发行版,打造成为网络设备,你就需要重复这个过程。 当然,没啥难度,只是有亿点工作量而已。 |
8
chitaotao 363 天前 via Android
光猫拨号,当然可以用软路由,但是可能出现多层 nat 的情况了,也不能完全控制网络
如果有软路由,还有一个路由器一般拿来做无线 ap 吧,将路由器设置成 ap 看看 如果想保留路由器作为软路由上级,那你可能想要配置的是旁路由/透明网关 我也是用 Debian 自己配置的软路由,但我用的是 ifupdown ,更手动,不知道 netplan 这边是怎么设置的 |
10
yyzh 363 天前 via Android 1
@JohnSmith ?人家研究 irqbalance,fast classifier,shortcut fe,dpdk,bpf,ebpf,xdp,bpfilter 等等这些你就全无视?另外人家还有给那些打游戏的做 full cone nat 的补丁.这些其他可没有.
|
11
hefish 363 天前
这不是就是配好了网卡,然后一句 iptables -t nat -A POSTROUTING -o 出口网卡 -j MASQUERADE 嘛。。。
当然,sysctl 里面 net.ipv4.ip_forward=1 这个要设置 |
12
EdmondGUO 363 天前 1
我的评价是专业的人做专业的事儿,放着 openwrt ROS ikuai 专业的系统不用,靠自己半吊子的 linux 和网络的知识储备搞网络,图啥呢,linux 技术洁癖?
|