DS-Lite AFTRを設定しようとしています。 B4へのトンネル接続のアドレスが重複しているため、iptables -t nat -A POSTROUTING -j MASQUERADE
RFC 6333で説明されているように、通常のNATテーブルは動作(試行)されません。拡張NATテーブルには、B4から送信されたパケットの送信元IPv6アドレスも含まれます。これは、AFTRがパケットを転送するために使用するトンネルを知っていることを意味します。
Linuxでこの拡張を実行するには?
私はDebianベースのシステム(Ubuntu 18.04)を使用しています。
AFTRを使用して、ip tunnel add dslite mode ip4ip6 local <IPv6 address of AFTR> remote <IPv6 address of B4>
各トンネルインターフェイスのアドレスが192.0.0.1/29で、B4のトンネルインターフェイスに192.0.0.2/29のアドレスでトンネルを設定しています。
注:このトピックのリソースが不足していることがわかりました。これは残念です。これが私がここに尋ねる理由です。助けてくれてありがとう!
ベストアンサー1
まあ、もうやりました。設定プロセスをご案内いたします。再起動後も構成の一部が維持されました。
まず、B4 2個、AFTR 1個でテストし、すべて手動でシステムを設定しました。
また、AFTRにはIPv6アドレスがあり、2000::1
最初のB4にはそのアドレスがあり、2000::2
2番目のB4にはそのアドレスがあるとします2000::3
。 AFTRのWANインタフェース名はここで指定されますeth0
。
今始めましょう。
まず、AFTRとB4にトンネルを手動で作成しました。
AFTRについて:
root@AFTR:~# ip tunnel add dslite mode ip4ip6 local 2000::1 remote 2000::2
root@AFTR:~# ip tunnel add dslite2 mode ip4ip6 local 2000::1 remote 2000::3
root@AFTR:~# ip link set dslite up; ip link set dslite2 up
root@AFTR:~# ip a add 192.0.0.1/29 dev dslite; ip a add 192.0.0.1/29 dev dslite2
これでB4にトンネルを構築できます。 B4 1号:
root@B4-1:~# ip link set dslite up
root@B4-1:~# ip a add 192.0.0.2/29 dev dslite
root@B4-1:~# ip route add default via 192.0.0.1 dev dslite
B4 2号:
root@B4-2:~# ip link set dslite up
root@B4-2:~# ip a add 192.0.0.2/29 dev dslite
root@B4-2:~# ip route add default via 192.0.0.1 dev dslite
これでトンネルが設定され開始されました。しかし、NATはまだAFTRに実装されていません。
root@AFTR:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (eth0 is the Internet side network card)
root@AFTR:~# echo "1 dslite" >> /etc/iproute2/rt_tables
root@AFTR:~# ip route add default dev dslite table dslite
root@AFTR:~# iptables -t mangle -A PREROUTING -i dslite -j MARK --set-mark 1
root@AFTR:~# iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark
root@AFTR:~# iptables -t mangle -I PREROUTING -j CONNMARK --restore-mark
root@AFTR:~# ip rule add fwmark 1 iif eth0 table dslite
root@AFTR:~# echo "2 dslite2" >> /etc/iproute2/rt_tables
root@AFTR:~# ip route add default dev dslite2 table dslite2
root@AFTR:~# iptables -t mangle -A PREROUTING -i dslite2 -j MARK --set-mark 2
root@AFTR:~# ip rule add fwmark 2 iif eth0 table dslite2
root@AFTR:~# sysctl -w net.ipv4.fwmark_reflect=1
B4はIPv4(もちろんIPv6)インターネットにアクセスできるようになりました。しかし、それが互いにつながることができるという意味ではありません。実験するときにこの点を忘れないでください。
ついに解決されました...