ฉันมี VPS ที่มีหนึ่ง IP สาธารณะ 64.x.x.x
ซึ่งมอบหมายให้ enp1s0
.
เป้าหมายของฉันคือการให้คอนเทนเนอร์ LXC ทำงานบน VPS นี้ซึ่งมี การเชื่อมต่อกับโฮสต์และ WAN. นั่นหมายถึงเส้นทางการจราจรมาจาก คอนเทนเนอร์ > lxcbr0 > enp1s0 > WAN
ฉันทำตามขั้นตอนมาตรฐานใน LXC ซึ่งสร้างสะพาน lxcbr0
และเครื่องปรุงที่ต่อกับสะพาน จากคอนเทนเนอร์ฉันสามารถ ping โฮสต์และ IP สาธารณะของโฮสต์ แต่ฉันไม่สามารถเข้าถึง WAN! เท่าที่ฉันรู้ว่าฉันทำทุกอย่างถูกต้องในการกำหนดค่า แต่เห็นได้ชัดว่าฉันไม่ได้ทำอย่างนั้น
เจ้าภาพ:
#ไอพีเอ
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 ขอบเขตโฮสต์ lo
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 ::1/128 ขอบเขตโฮสต์
valid_lft ตลอดไป reserved_lft ตลอดไป
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 64.x.x.x/32 brd 64.x.x.250 ขอบเขตโกลบอลไดนามิก enp1s0
valid_lft 84329วินาทีที่ต้องการ_lft 84329วินาที
ลิงค์ขอบเขต inet6 fe80::9400:1ff:fe0e:33dc/64
valid_lft ตลอดไป reserved_lft ตลอดไป
3: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 00:16:3e:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 10.0.3.1/24 brd 10.0.3.255 ขอบเขต global lxcbr0
valid_lft ตลอดไป reserved_lft ตลอดไป
ลิงค์ขอบเขต inet6 fe80::216:3eff:fe00:0/64
valid_lft ตลอดไป reserved_lft ตลอดไป
4: vethf6wBpH@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxcbr0 สถานะ UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ fe:1f:bc:2d:41:3c brd ff:ff:ff:ff:ff:ff ลิงค์-netnsid 0
ลิงค์ขอบเขต inet6 fe80::fc1f:bcff:fe2d:413c/64
valid_lft ตลอดไป reserved_lft ตลอดไป
# iptables -L -t แนท -v
CHAIN PREROUTING (นโยบายยอมรับ 0 แพ็คเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain INPUT (นโยบายยอมรับ 0 แพ็กเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain OUTPUT (นโยบายยอมรับ 0 แพ็คเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain POSTROUTING (นโยบายยอมรับ 0 แพ็คเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
2 124 MASQUERADE ทั้งหมด -- ใดๆ 10.0.3.0/24 !10.0.3.0/24
# เส้นทาง -n
ตารางเส้นทางเคอร์เนล IP
เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะการอ้างอิงเมตริก ใช้ Iface
0.0.0.0 17.x.x.1 0.0.0.0 UG 0 0 0 enp1s0
10.0.3.0 0.0.0.0 255.255.255.0 คุณ 0 0 0 lxcbr0
17.x.x.1 0.0.0.0 255.255.255.255 UH 0 0 0 enp1s0
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
# iptables -L ไปข้างหน้า
ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ยอมรับทั้งหมด - ทุกที่ทุกที่
ยอมรับทั้งหมด - ทุกที่ ทุกรัฐ ที่เกี่ยวข้อง ก่อตั้ง
คอนเทนเนอร์:
#ไอพีเอ
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 ขอบเขตโฮสต์ lo
valid_lft ตลอดไป reserved_lft ตลอดไป
inet6 ::1/128 ขอบเขตโฮสต์
valid_lft ตลอดไป reserved_lft ตลอดไป
2: eth0@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 4e:53:3c:48:56:ad brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.0.3.25/24 brd 10.0.3.255 ขอบเขต global eth0
valid_lft ตลอดไป reserved_lft ตลอดไป
ลิงค์ขอบเขต inet6 fe80::4c53:3cff:fe48:56ad/64
valid_lft ตลอดไป reserved_lft ตลอดไป
# เส้นทาง -n
ตารางเส้นทางเคอร์เนล IP
เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะการอ้างอิงเมตริก ใช้ Iface
0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0 eth0
10.0.3.0 0.0.0.0 255.255.255.0 คุณ 0 0 0 eth0
ฉันมองไปที่ tcpdump -i lxcbr0 icmp
บนโฮสต์ ปิง ขอ ผ่านมาแต่ไม่เห็นมี ตอบ. tcpdump -i enp1s0 icmp
ไม่แสดงกิจกรรมใด ๆ ในขณะที่ฉัน ping WAN จากคอนเทนเนอร์
ขอบคุณความคิดทั้งหมดเกี่ยวกับเรื่องนี้!