Ubuntu 作為具有 netplan 和 dnsmasq 的路由器 - 無法存取網站

Ubuntu 作為具有 netplan 和 dnsmasq 的路由器 - 無法存取網站

我已將 Ubuntu 22.04 LTS 設定為以下場景的路由器:

Client (192.168.222.100) <--> Switch <--> Ubuntu Router eth0 (192.168.222.1) <--> Ubuntu Router enx2887ba778049 (192.168.178.111) <--> WAN Router (192.168.178.1) <--> Internet

這是我的網路規劃配置:

network:
    ethernets:
        eth0:
            dhcp4: false
        enx2887ba778049:
            dhcp4: true
            optional: true
    bridges:
        br0:
            interfaces:
                - eth0
            addresses:
                - 192.168.222.1/24
            nameservers:
                addresses: [8.8.8.8]
                search: []
            optional: true
    version: 2

這是我的 dnsmasq 配置:

port=53

domain-needed
bogus-priv
strict-order

except-interface=enx2887ba778049

expand-hosts
domain=example.com

dhcp-range=192.168.222.50,192.168.222.240,255.255.255.0,24h
dhcp-option=option:router,192.168.222.1
dhcp-option=option:dns-server,192.168.222.1
dhcp-option=option:netmask,255.255.255.0

從我的客戶端,網址得到解析:

dig google.com        

; <<>> DiG 9.10.6 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47720
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     269 IN  A   142.250.74.206

然而,問題是我無法聯繫到他們:

ping google.com
PING google.com (142.250.74.206): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

我想我必須對 iptables 做一些事情,但以下失敗了:

sudo iptables -t nat -A POSTROUTING -o enx2887ba778049 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

我需要做什麼才能從客戶端連接到網路?

相關內容