ฉันมีเครื่องเสมือนที่ใช้ Debian 11 และจำเป็นต้องเชื่อมต่อกับ VLAN สองตัว จากภายในอาคารบนเครือข่ายท้องถิ่น ฉันสามารถเข้าถึงได้ผ่าน IP ทั้งสอง แต่เมื่อฉันอยู่นอกเครือข่ายโดยใช้ VPN ของเราเตอร์หรือ NAT 1:1 บนเราเตอร์ ฉันสามารถเชื่อมต่อกับเครือข่ายแรกที่แสดงรายการเท่านั้น ใน /etc/network/interfaces
(จาก VPN ฉันไม่สามารถ ping อันที่สองด้วยซ้ำ)ไม่แน่ใจว่าสิ่งนี้เกี่ยวข้องกับเราเตอร์โดยเฉพาะหรือเป็น "แหล่งภายนอกเพิ่มเติม" ประเภทอื่น
ทำไมคำสั่งซื้อถึงมีความสำคัญ? และมีอะไรที่ฉันสามารถทำได้เพื่อให้ทั้งสองทำงานได้หรือไม่ ถ้าฉันสลับไปมาและรีบูต สิ่งใดก็ตามที่เกิดก่อนในไฟล์เมื่อบูทดูเหมือนว่าจะทำงานได้ดี และสิ่งใดที่สองตามลำดับจะทำงานจากเครื่องคอมพิวเตอร์ในระบบเท่านั้น
การติดตั้งส่วนใหญ่ผ่านคำแนะนำที่ฉันไม่เข้าใจ ดังนั้นฉันจะรวมสิ่งที่ดูเหมือนเกี่ยวข้องไว้ที่นี่ แต่ฉันอาจทำบางอย่างผิดพลาด
ฉันติดตั้งซอฟต์แวร์ vlan (ฉันคิดว่า?) ด้วย
# apt ติดตั้ง vlan
# modprobe 8021q && lsmod | เกรป 8021q
และปิดใช้งาน NetworkManager ของ Gnome
ใน /etc/sysctl.conf
ฉันได้เพิ่ม
net.ipv4.ip_forward=1
net.ipv4.conf.all.arp_filter=0
net.ipv4.conf.all.rp_filter=2
ฉันต้องการส่งต่อพอร์ต 80 และ 443 ไปที่ด้านบน 1024
# iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports [พอร์ตใหม่]
# iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-ports [พอร์ตใหม่]
# iptables -t nat -I OUTPUT -p tcp -o lo --dport 80 -j REDIRECT --to-ports [พอร์ตใหม่]
# iptables -t nat -I OUTPUT -p tcp -o lo --dport 443 -j REDIRECT --to-ports [พอร์ตใหม่]
# iptables บันทึก | sudo ที /etc/iptables.rules
และ /etc/network/interfaces
ดูเหมือนกับ
# ไฟล์นี้อธิบายอินเทอร์เฟซเครือข่ายที่มีอยู่ในระบบของคุณ
#และวิธีเปิดใช้งาน สำหรับข้อมูลเพิ่มเติม โปรดดูอินเทอร์เฟซ(5)
ที่มา /etc/network/interfaces.d/*
# อินเทอร์เฟซเครือข่ายย้อนกลับ
อัตโนมัติ
iface lo inet ย้อนกลับ
# ไคลเอ็นต์ VPN สามารถ ping อันนี้ได้
อัตโนมัติ ens18.200
ไอเฟซ ens18.200 inet dhcp
iptables-restore ล่วงหน้า < /etc/iptables.rules
#แต่ไม่ใช่อันนี้
อัตโนมัติ ens18.40
ไอเฟซ ens18.40 inet dhcp
iptables-restore ล่วงหน้า < /etc/iptables.rules
เราเตอร์คือ Meraki MX250 ถ้านั่นสำคัญ
ผลลัพธ์ที่ร้องขอ
รูท:~# ไอพีเอ
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: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 00:50:56:--:--:-- brd ff:ff:ff:ff:ff:ff
ชื่ออื่น enp0s18
inet6 fe80::---:----:----:----/64 ลิงค์ขอบเขต
valid_lft ตลอดไป reserved_lft ตลอดไป
3: ens18.200@ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 00:50:56:--:--:-- brd ff:ff:ff:ff:ff:ff
inet 10.26.1.100/22 brd 10.26.3.255 ขอบเขตโกลบอลไดนามิก ens18.200
valid_lft 623197วินาทีที่ต้องการ_lft 623197วินาที
inet6 fe80::---:----:----:----/64 ลิงค์ขอบเขต
valid_lft ตลอดไป reserved_lft ตลอดไป
4: ens18.40@ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 00:50:56:--:--:-- brd ff:ff:ff:ff:ff:ff
inet 192.168.1.114/24 brd 192.168.1.255 ขอบเขตโกลบอลไดนามิก ens18.40
valid_lft 623198วินาทีที่ต้องการ_lft 623198วินาที
inet6 fe80::---:----:----:----/64 ลิงค์ขอบเขต
valid_lft ตลอดไป reserved_lft ตลอดไป
รูท:~# ip ru
0: จากการค้นหาทั้งหมดในท้องถิ่น
32766: จากหลักการค้นหาทั้งหมด
32767: จากค่าเริ่มต้นการค้นหาทั้งหมด
รูท:~# ip r
เริ่มต้นผ่าน 10.26.1.1 dev ens18.200
10.26.0.0/22 dev ens18.200 ลิงก์ขอบเขตเคอร์เนลโปรโต src 10.26.1.100
192.168.1.0/24 dev ens18.40 ลิงก์ขอบเขตเคอร์เนลโปรโต src 192.168.1.114
รูท:~# iptables -vnL
Chain INPUT (นโยบายยอมรับ 0 แพ็กเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
เชน FORWARD (นโยบายยอมรับ 0 แพ็กเก็ต 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain OUTPUT (นโยบายยอมรับ 0 แพ็คเก็ต, 0 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
รูท:~# iptables -vnL -t แนท
เชน PREROUTING (นโยบายยอมรับแพ็กเก็ต 39528, 7495K ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
166 8509 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 พอร์ต redir [พอร์ตใหม่]
215 10964 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 พอร์ต redir [พอร์ตใหม่]
Chain INPUT (นโยบายยอมรับแพ็กเก็ต 38823, 7422K ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain OUTPUT (นโยบายยอมรับ 249 แพ็คเก็ต, 15870 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
3 180 REDIRECT tcp -- * lo 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 พอร์ต redir [พอร์ตใหม่]
3 180 REDIRECT tcp -- * lo 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 พอร์ต redir [พอร์ตใหม่]
Chain POSTROUTING (นโยบายยอมรับ 255 แพ็กเก็ต, 16230 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
รูท:~# tcpdump
-bash: tcpdump: ไม่พบคำสั่ง