各位大大早安
小弟我最近剛申請到 ASN 並且在做一些練習
目前在 JP 以及 EU 都各有一台 VPS
並且對外廣播同一段 IPv6 /44 的路由 (ex. 2a0f:607:1500::/44
接著利用 wireguard 將兩台 VPS tunnel 起來
在 wg 中分別給
JP 2a0f:607:1500::3/48
EU 2a0f:607:1500::1/48
兩台透過 wg 互 ping 是正常的
那由於台灣都走 JP 那邊過去的關係
我目前只能 ping 到 ::3
但不知道為什麼卻無法透過 JP 這台機器的 tunnel ping 到位於 EU 的 ::1
我現在卡住的點是 wg 給的 ip 如果透過外網可以直接 ping 的到
為什麼位於 wg 另一頭的 ip 卻 ping 不到了呢?
是不是我除了 wg 以外還需要設定什麼?
還煩請大家不吝解答了 <(_ _)>
2021/08/14 12:56 更新
以下是 wg config
[Interface]
Address = 2a0f:607:1500::3/48
ListenPort = 51821
PrivateKey = <privkey>
[Peer]
PublicKey = <pubkey>
AllowedIPs = 2a0f:607:1500::/48
Endpoint = 193.148.249.81:51821
[Interface]
Address = 2a0f:607:1500::1/48
ListenPort = 51821
PrivateKey = <privkey>
[Peer]
PublicKey = <pubkey>
AllowedIPs = 2a0f:607:1500::/48
Endpoint = 108.61.163.115:51821
目前抓到的 tcpdump 資料是 ping 過去的流量的確有到達 ::1
但回覆至 ::3 時會卡在 wg if 裡走不到 對外的那張 if
我現在有個想法是
如果在 ::1 時就將 ping reply 的封包直接走對外的那張 if,而不走回 ::3
不知道這樣的想法是否正確?
但目前卡在不知道如何將 wg if 內的流量強迫往另一張 if 轉...
2021/08/14 12:56 更新
因為原本我在 wg 的 AllowedIPs
中給了 ::/0
這樣會將整台機器的流量都透過 wg 傳出去導致 BGP 爛掉
所以後來將兩台的設定都刪除 AllowedIPs
的 ::/0
但是這樣就出現一個問題
假設我今天從家裡 ping 過去 EU 那台 會先走到 JP
我從 JP 的 tcpdump 抓 wg if 是可以正常看到 <中華電信IP> --> 2a0f:607:1500::1
從 ens3 forward 到 wg0
但因為 EU 那邊的 AllowedIPs
只剩 2a0f:607:1500::/48
導致除了 range 內的來源以外都過不到 EU 那邊 (tcpdump 在任何網卡都抓不到 JP forward 過來資料,因為 source 不在 wg subnet 內...)
所以接著這步驟才開始使用 NAT 來轉發流量 就成功達成我預期的效果!
感謝下面兩位大神的協助!!!
請貼你兩端的 wg0.conf 出來看看...(Key 可以遮掉)
VPS 上面的 ip forwarding 有開嗎?
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.eth0.proxy_ndp=1
net.ipv6.conf.all.accept_ra=2
你可能還需要 PostUp 做 MASQUERADE:
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT
(上面的 ens3 要改成你實際的 interface name)
大大您好
今天首先嘗試了 NAT 但似乎沒有作用
forwarding 我都有開
接著還發現 wg AllowedIPs = ::/0
會造成的問題
所以我有更動一下設定
一樣將詳述更新在文章底部
麻煩大大了<(_ _)>
抱歉大大 看來是我設定錯了
NAT可以生效XD
感謝您!!!