iptableを理解するのに問題があります(予想していたのとは対照的に動作します)。

iptableを理解するのに問題があります(予想していたのとは対照的に動作します)。

私はと呼ばれるwireguard intergafce wg1を持っていますPostUp = /etc/wireguard/postup.sh。私の postup.sh は次のようになります。

WIREGUARD_INTERFACE=wg1
WIREGUARD_LAN=10.0.0.0/24
MASQUERADE_INTERFACE=eth0
CHAIN_NAME=WIREGUARD_wg1
WIREGUARD_CLIENT=10.0.0.2
WIREGUARD_DNS=192.168.178.47

iptables -t nat -I POSTROUTING -o $MASQUERADE_INTERFACE -j MASQUERADE -s $WIREGUARD_LAN

# Add a WIREGUARD_wg0 chain to the FORWARD chain
iptables -N $CHAIN_NAME
iptables -A FORWARD -j $CHAIN_NAME

# Accept related or established traffic
iptables -A $CHAIN_NAME -o $WIREGUARD_INTERFACE -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# Allow traffic to router and DNS gateway
iptables -A $CHAIN_NAME -s $WIREGUARD_CLIENT -d 192.168.178.1 -j ACCEPT
iptables -A $CHAIN_NAME -s $WIREGUARD_CLIENT -d 192.168.178.47 -j ACCEPT

# Accept outgoing connections to any IP address (public because of rule above)
iptables -A $CHAIN_NAME -s $WIREGUARD_CLIENT -i $WIREGUARD_INTERFACE -j ACCEPT

# Accept outgoing connections to HTTP(S) ports to any IP address (public because of rule above)
iptables -A $CHAIN_NAME -s $WIREGUARD_CLIENT -i $WIREGUARD_INTERFACE -d 0.0.0.0/0 -p tcp -m multiport --dports 80,443 -j ACCEPT

# Drop traffic to your any private IP address
iptables -A $CHAIN_NAME -s $WIREGUARD_CLIENT -i $WIREGUARD_INTERFACE -d 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 -j DROP

# Drop everything else coming through the Wireguard interface
iptables -A $CHAIN_NAME -i $WIREGUARD_INTERFACE -j DROP

# Return to FORWARD chain
iptables -A $CHAIN_NAME -j RETURN

接続されたクライアントがWeb検索を実行できるようにしたいが、Wireguardサーバーが実行されているネットワーク上のすべてのIPへのアクセスは許可されません。しかし、その逆は本当です。クライアントはIPにアクセスでき、ローカルDNSも使用できますが、インターネット上のどのページにもアクセスできません。

出力はiptables -L -v -n次のとおりです

Chain INPUT (policy ACCEPT 6449 packets, 1002K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 338 packets, 60782 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 2772 1683K WIREGUARD_wg1  0    --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 8419 packets, 5997K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain WIREGUARD_wg1 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  877 1535K ACCEPT     0    --  *      wg1     0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
  446 48489 ACCEPT     0    --  *      *       10.0.0.2             192.168.178.1         
  103  6958 ACCEPT     0    --  *      *       10.0.0.2             192.168.178.47        
 1346 92153 ACCEPT     0    --  wg1    *       10.0.0.2             0.0.0.0/0           
    0     0 ACCEPT     6    --  wg1    *       10.0.0.2             0.0.0.0/0            multiport dports 80,443
    0     0 DROP       0    --  wg1    *       10.0.0.2             10.0.0.0/8          
    0     0 DROP       0    --  wg1    *       10.0.0.2             172.16.0.0/12       
    0     0 DROP       0    --  wg1    *       10.0.0.2             192.168.0.0/16      
    0     0 DROP       0    --  wg1    *       0.0.0.0/0            0.0.0.0/0           
    0     0 RETURN     0    --  *      *       0.0.0.0/0            0.0.0.0/0 

私の理解によると、出力は私が期待していることを示しています。ところで、私が理解力が不足しているようです。私の目標を達成するのに役立つヒントや助けをすることができますか?クライアントはインターネットにのみアクセスできる必要があり、それ以外はアクセスできません。私のwg0インターフェイスを使用すると、すべてがうまく動作するため、「より大きな」ネットワークの問題ではありません。

どんな助けでも事前に感謝します:)

ベストアンサー1

おすすめ記事