Score:0

How do I configure a Wireguard Interface to connect to a remote peer through a specific network interface?

ธง eg

Suppose I have two servers, gateway which is publicly visible to the internet and appserver which is hidden behind a nat/firewall. Also suppose that each of these two servers has two interfaces connected to entirely separate internet uplinks (see diagram bellow).

I want to set up two independent Wireguard tunnels between the two servers with the goal of keeping the servers connected if one of them fails:

                   |     Internet     |        
[ gateway ]        |                  |        [appserver]
                   |                  | 
   (wg0) <-----> (ens1) < - - - - > (ens1) <----> (wg0)
                   |                  | 
                   |                  | 
                   |                  |        
   (wg1) <-----> (ens2) < - - - - > (ens2) <----> (wg1)
                   |                  | 
                   |                  | 

By default, Wireguard seems to route all traffic through the system's default gateway. So when appserver attempts to connect to gateway, it only uses one of the two interfaces:

                   |     Internet     |        
[ gateway ]        |                  |        [appserver]
                   |                  | 
   (wg0) <--+--> (ens1) < - - - - > (ens1) <--+--> (wg0)
            |      |                  |       |
            |      |                  |       |
            |      |                  |       | 
   (wg1) <--+    (ens2)      X      (ens2)    +--> (wg1)
                   |                  | 
                   |                  |

Since some network tools allow setting a specific network interface to use when sending network traffic, can Wireguard also do the same thing? That is, only send traffic over ens1 or ens2 regardless of default route metrics? If not, how can I set up Linux's networking systems to do this instead?

Score:0
ธง eg

ฉันไม่สามารถหาวิธีที่จะทำให้ตัว wireguard เชื่อมต่อผ่านอินเทอร์เฟซเฉพาะได้ ดังนั้นในที่สุดฉันจึงตัดสินใจกำหนดเส้นทางทราฟฟิกที่กำหนดให้ ens2 โดยเพิ่มเส้นทางใหม่เป็น เซิร์ฟเวอร์แอปตารางเส้นทางของ:

เส้นทาง ip เพิ่ม $GATEWAY_ESN2_ADDR/32 ผ่าน $APPSERVER_ESN2_ADDR_GW เมตริก 50

APPSERVER_ESN2_ADDR_GW เป็นที่อยู่ของ เซิร์ฟเวอร์แอปเราเตอร์เกตเวย์

ในขณะที่ค้นคว้าข้อมูลนี้ ฉันสังเกตเห็นว่า wireguard อนุญาตให้คุณตั้งค่า fwmark บนทราฟฟิกขาออกที่เป็นอินเทอร์เฟซ wireguard เฉพาะโดยการตั้งค่า FwMark เขตข้อมูลภายใต้ [อินเตอร์เฟซ]. Wireguard ไม่รองรับการตั้งค่าเครื่องหมายนี้แบบรายบุคคล ณ เวลาที่เขียนบทความนี้ (2021-09)

ฉันจะเปิดคำถามนี้ทิ้งไว้เผื่อมีคนค้นพบคำตอบที่แท้จริงสำหรับคำถามนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา