AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1270402
Accepted
Bryan
Bryan
Asked: 2020-08-27 21:08:25 +0800 CST2020-08-27 21:08:25 +0800 CST 2020-08-27 21:08:25 +0800 CST

客户端(Ubuntu 20.04)无法访问互联网,但路由器是(Debian 10.5)

  • 772

我对此完全陌生,正在为练习实验室设置路由器和客户端。客户端可以ping通路由器,路由器也可以ping通客户端。路由器可以访问互联网,但客户端不能。我不知道为什么会这样,有人可以帮忙吗?

这是我所有的设置。

客户端 /etc/netplan/01-network-manager-all.yaml

network:
    version: 3
    renderer: networkd
    ethernets:
      enp0s3:
        dhcp4: no
        addresses:
          - 10.0.20.21/24
        gateway4: 10.0.20.1
        nameservers:
          addresses: [10.0.20.15, 8.8.8.8]

路由器:/etc/network/interfaces

source /etc/nework/interfaces.d/*

auto lo
iface lo inet loopback

#NAT Network
allow-hotplug enp0s3
iface enp0s3 inet static
address 10.0.2.15
netmask 255.255.255.0
gateway 10.0.2.2
dns-nameserver 10.0.0.1
dns-nameserver 8.8.8.8
pre-up iptables-restore < /etc/iptables.rules

#Internal Network
allow-hotplug enp0s8
iface enp0se8 static 
address 10.0.20.15
netmask 255.255.255.0
gateway 10.0.20.15
network 10.0.20.0
broadcast 10.0.20.255

iptables 规则

iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
iptables -A FORWARD -i enp0s3 -o enp0s8 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
networking iptables debian internet
  • 1 1 个回答
  • 1222 Views

1 个回答

  • Voted
  1. Best Answer
    Brian Turek
    2020-08-27T22:01:00+08:002020-08-27T22:01:00+08:00

    有几个问题领域:

    • 如果您打算在客户端上通过路由器进行路由,则客户端的网关必须设置为路由器的 IP 地址
      • 在您的情况下,这意味着客户端的网关应该是 10.0.20.15,而不是 10.0.20.1
    • 您的路由器需要启用 IP 转发,有几种方法可以做到这一点:
      • 运行(以 root 身份)echo 1 > /proc/sys/net/ipv4/ip_forward 请注意,这不会在重新启动后持续存在
      • 运行(以 root 身份)sysctl -w net.ipv4.ip_forward=1请注意,这不会在重新启动后持续存在
      • 如果您希望它在重新启动后仍然存在,请编辑 /etc/sysctl.conf 并确保“net.ipv4.ip_forward”值未注释并设置为“1”。这不会影响操作系统的当前状态,因此您需要第一次执行上述命令之一。
    • 从路由器的 enp0s8 配置中删除“网关”条目。我不知道它是否会受到伤害,但路由器作为自己的网关没有意义
    • 正如其他人指出的那样,您似乎将客户端的 DNS 服务器设置为路由器,但(可能)没有在路由器上运行 DNS 服务器。从客户端的名称服务器列表中删除“10.0.20.15”条目。
    • 作为一个仅供参考,这并没有什么坏处,但假设您的默认策略是“接受”,则 iptables 规则中的“-A FORWARD”行是不必要的。

    假设您的路由器可以访问互联网,这应该可以让您工作。

    • 1

相关问题

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

  • iptables 的图形用户界面?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve