다음 시나리오의 라우터로 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
이것은 내 netplan 구성입니다.
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
내 클라이언트에서 웹 URL이 확인됩니다.
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
클라이언트에서 인터넷으로 연결하려면 어떻게 해야 합니까?