飞牛OS实现网络共享

该文章已生成可运行项目,

飞牛OS 主机网络共享配置笔记

背景

主机运行飞牛OS(基于debian),有两个网口:

  • 网口 A(例如 eth0):连接家里唯一的宽带网口。
  • 网口 B(例如 eth1):通过网线连接到笔记本的网口。
    目标:通过飞牛主机共享网络,让windows系统笔记本也能上网。

前提条件

  • 飞牛OS 已安装,登录管理员账号。
  • 笔记本网口设置为自动获取 IP(DHCP)。
  • 确认宽带类型(DHCP)。

硬件连接

  1. 用网线将宽带连接到主机网口 A(eth0)。
  2. 用另一根网线将主机网口 B(eth1)连接到笔记本网口。

配置步骤

1. 确认网口名称和网口 A 上网

  • 查看网口名称:

    ip link
    

    示例输出:

    1: lo: <LOOPBACK,UP,LOWER_UP> ...
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    

    记录网口 A(eth0)和网口 B(eth1)的名称,飞牛OS 可能使用 enp0s3ens33 等名称,始终用 ip link 确认

  • 确保网口 A 可上网:

    • DHCP

      sudo dhclient eth0
      

2. 配置网口 B 为局域网

  • 为网口 B 设置静态 IP:
    sudo ip addr add 192.168.2.1/24 dev eth1
    sudo ip link set eth1 up
    
  • 验证:
    ip addr show eth1
    
    确认显示 192.168.2.1/24
  • 图形化工具(可选)
    打开“控制中心” > “网络”:
    • 选择网口 B(eth1)。
    • 设置 IPv4 为“手动”:
      • IP 地址:192.168.2.1
      • 子网掩码:255.255.255.0
      • 网关:留空或 192.168.2.1
    • 保存并应用。

3. 启用 IP 转发

  • 临时启用:
    sudo sysctl -w net.ipv4.ip_forward=1
    
  • 持久化配置:
    sudo nano /etc/sysctl.conf
    
    添加或修改:
    net.ipv4.ip_forward=1
    
    保存并应用(Ctrl+O,Enter,Ctrl+X):
    sudo sysctl -p
    

4. 配置 NAT(网络地址转换)

​ 使用 iptables配置 NAT,将网口 A 的网络共享到网口 B:

  • 设置规则:

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
    

    备注:eth0:网口 A,连接到互联网; eth1:网口 B,连接到笔记本。

  • 保存iptables规则(避免重启丢失):

    sudo apt update
    sudo apt install iptables-persistent
    

    在安装过程中,选择保存当前规则(IPv4 和 IPv6)。 或手动保存:

    sudo iptables-save > /etc/iptables.rules
    

5. 配置 DHCP 服务

  • 安装 DHCP 服务器:

    sudo apt update
    sudo apt install isc-dhcp-server
    

    若报错 unable to locate package,尝试:

    • 检查软件源:
      cat /etc/apt/sources.list
      
      确保包含有效源(如飞牛OS 官方源)。
    • 使用飞牛OS “软件中心”搜索并安装 isc-dhcp-server
  • 配置:

    • 编辑 /etc/dhcp/dhcpd.conf

      sudo nano /etc/dhcp/dhcpd.conf
      

      添加以下内容,定义网口 B 的子网:

      subnet 192.168.2.0 netmask 255.255.255.0 {
          range 192.168.2.100 192.168.2.200;
          option routers 192.168.2.1;
          option subnet-mask 255.255.255.0;
          option domain-name-servers 8.8.8.8, 8.8.4.4;
      }
      

      保存并退出。

    • 指定 DHCP 服务监听网口 B:

      sudo nano /etc/default/isc-dhcp-server
      

      修改 INTERFACESv4 行:

      INTERFACESv4="eth1"
      

      保存并退出。

    • 测试配置:

      sudo dhcpd -t
      

      若提示语法错误,根据提示修改 /etc/dhcp/dhcpd.conf。

  • 启动服务:

    sudo systemctl enable isc-dhcp-server
    sudo systemctl start isc-dhcp-server
    
  • 若启动失败(报错 Job for isc-dhcp-server.service failed):

    • 检查日志:
      sudo journalctl -u isc-dhcp-server
      
    • 确保 eth1 已启用且配置正确:
      ip addr show eth1
      
    • 检查 NetworkManager 冲突:
      nmcli device status
      
      eth1 显示为“managed”,禁用 NetworkManager 管理:
      sudo nano /etc/NetworkManager/NetworkManager.conf
      
      添加:
      [ifupdown]
      managed=false
      
      [device]
      wifi.scan-rand-mac-address=no
      
      重启:
      sudo systemctl restart NetworkManager
      
    • 重新启动 DHCP:
      sudo systemctl restart isc-dhcp-server
      

6. 配置笔记本

  • 确保笔记本网口设置为 DHCP:
    • Windows
      打开“网络和共享中心” > “更改适配器设置” > 右键网口 > “属性” > “Internet 协议版本 4” > 选择“自动获取 IP 地址”。
  • 测试:
    ping 8.8.8.8
    

注意事项

  • 网口名称:飞牛OS 可能使用 enp0s3ens33 等名称,始终用 ip link 确认。

  • 软件源:若 apt 失败,检查 /etc/apt/sources.list 或飞牛OS 软件中心。

  • 防火墙
    若启用 ufw

    sudo ufw allow from 192.168.2.0/24
    sudo ufw allow out on eth0
    
  • 性能:网络共享可能增加 CPU 负载,关闭不必要服务。

故障排除

  • DHCP 服务启动失败
    • 检查日志:
      sudo journalctl -u isc-dhcp-server -b
      
    • 手动调试:
      sudo dhcpd -f -d eth1
      
    • 确认接口和 IP:
      ip addr show eth1
      
本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值