=== 03 ① 배포된 두 파일이 문서 판인가 ===
1
1
(문서는 0 과 1 이 나와야 맞다고 적는다)

=== 03 ② lab_edge 테이블 실물 ===
table ip lab_edge {
	chain prerouting {
		type nat hook prerouting priority dstnat; policy accept;
		iifname "tailscale0" tcp dport { 80, 443 } dnat to 192.168.122.10
	}

	chain forward {
		type filter hook forward priority filter - 10; policy accept;
		ip daddr 192.168.122.10 tcp dport { 80, 443 } ct state new accept
	}
}

=== 03 ③ guest_input 체인 — 구멍이 들어가 있나 ===
table ip libvirt_network {
	chain guest_input {
		oif "virbr0" ip daddr 192.168.122.10 tcp dport { 80, 443 } ct state new counter packets 44 bytes 2640 accept
		oif "virbr0" ip daddr 192.168.122.10 tcp dport { 80, 443 } ct state new counter packets 0 bytes 0 accept
		oif "virbr0" ip daddr 192.168.122.0/24 ct state established,related counter packets 141705 bytes 2375116597 accept
		oif "virbr0" counter packets 5 bytes 300 reject
		oif "virbr0" ip daddr 192.168.122.10 tcp dport { 80, 443 } ct state new counter packets 10 bytes 600 accept
	}
}

=== 03 ④ 출발지를 덮는 것이 무엇인가 ===
# Warning: table ip filter is managed by iptables-nft, do not touch!
# Warning: table ip nat is managed by iptables-nft, do not touch!
# Warning: table ip6 filter is managed by iptables-nft, do not touch!
# Warning: table ip6 nat is managed by iptables-nft, do not touch!
# Warning: table ip mangle is managed by iptables-nft, do not touch!
# Warning: table ip6 mangle is managed by iptables-nft, do not touch!
122:		meta l4proto tcp ip saddr 192.168.122.0/24 ip daddr != 192.168.122.0/24 counter packets 308 bytes 18480 masquerade to :1024-65535
123:		meta l4proto udp ip saddr 192.168.122.0/24 ip daddr != 192.168.122.0/24 counter packets 39 bytes 2964 masquerade to :1024-65535
124:		ip saddr 192.168.122.0/24 ip daddr != 192.168.122.0/24 counter packets 0 bytes 0 masquerade
