ฉันพยายามเชื่อมต่อเวิร์กสเตชัน Windows 7 ของฉันกับอินเทอร์เน็ตผ่านช่องทาง ipsec
ฉันมี:
192.168.88.251 - win7 workstation
192.168.88.1 - my mikrotik router
VPN_IPSEC - my vpn with ipsec address
VPN_TEST - my 2nd vpn for connectiviti testing
StrongSwan config บน VPN_IPSEC:
config setup
charondebug="ike 1, knl 1, cfg 0"
uniqueids=no
conn ikev2-vpn
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
ike=aes256-sha-modp1024
esp=aes256-sha-modp1024
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
leftid=VPN_IPSEC_IP
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
authby=secret
rightsubnet=192.168.88.251/24
rightdns=8.8.8.8,8.8.4.4
ด้าน mikrotik ฉันมีการตั้งค่าที่สอดคล้องกัน
เอาต์พุตคำสั่งสถานะ ipsec:
ikev2-vpn[1]: ESTABLISHED 110 minutes ago,
VPN_IPSEC_IP[VPN_IPSEC_IP]...MY_PUB_IP[MY_PUB_IP]
ikev2-vpn{1}: INSTALLED, TUNNEL, ESP SPIs: ca494e15_i 099301b9_o
ikev2-vpn{1}: 0.0.0.0/0 === 192.168.88.251/32
เห็นได้ชัดว่าอุโมงค์ ipsec ของฉันทำงานได้อย่างถูกต้อง บน VPN_IPSEC ฉันทำการ ping 192.168.88.251 และฉันเห็นการส่ง Ping ในเวลาเดียวกันเมื่อใน win7 ฉันทำ ping 8.8.8.8 ฉันเห็นทราฟฟิกในส่วน SA ที่ติดตั้งบน mikrotik และถ้าฉันสร้างกฎไฟร์วอลล์บางอย่างบน VPN_IPSEC ที่ทำงานกับ 192.168.88.251 ฉันเห็นเคาน์เตอร์ที่ตรงกันเพิ่มขึ้น
ใน VPN_IPSEC ฉันมีการกำหนดค่าไฟร์วอลล์เริ่มต้นนี้:
Chain INPUT (policy ACCEPT 936 packets, 92296 bytes)
Chain FORWARD (policy ACCEPT 483 packets, 29148 bytes)
Chain OUTPUT (policy ACCEPT 306 packets, 30108 bytes)
ตาราง NAT เหมือนกัน: ทั้งหมดยอมรับ
ตอนนี้ฉันตอนนี้ทราฟฟิกที่เข้ารหัสจาก win7 มาถึง VPN_IPSEC ตอนนี้ฉันต้องการที่จะส่งต่อนอก VPN_IPSEC
ใน win7 ฉันทำ
ping VPN_TEST
ใน VPN_IPSEC ฉันทำ
tcpdump -nni venet0 icmp
ฉันเห็น:
IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 512, seq 21277, length 40
IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 512, seq 49949, length 40
เช่นไม่มีคำตอบ
ตอนนี้ฉันเพิ่มกฎการโพสต์:
iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o venet0 -j MASQUERADE
IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 25095, seq 301, length 64
IP 185.69.52.31 > VPN_TEST_IP: ICMP echo request, id 25095, seq 301, length 64
IP 192.168.88.251 > VPN_TEST_IP: ICMP echo request, id 25095, seq 302, length 64
IP 185.69.52.31 > VPN_TEST_IP: ICMP echo request, id 25095, seq 302, length 64
เช่นไม่มีคำตอบ แต่ฉันเห็นว่าแพ็กเก็ตถูกปลอมแปลง
ในเวลาเดียวกันบน VPN_TEST ฉัน:
tcpdump -nni eth0 icmp
และฉันไม่เห็นการปิงจาก VPN_IPSEC ของฉัน แต่ฉันเห็นการปิงแบบสุ่มจากโฮสต์ผ่านอินเทอร์เน็ต
ฉันยังทำใน win7:
ping 8.8.8.8
และฉันไม่ได้รับคำตอบ
ในเวลาเดียวกันเมื่อฉันทำบน VPN_IPSEC
ping VPN_TEST
ฉันเห็นการปิงทั้งหมดบน tcpdumps และดูการตอบกลับ
เช่นการรับส่งข้อมูลจากอุโมงค์ของฉันยังคงอยู่บน VPN_IPSEC
แมวมันเป็นยังไง ??
ฉันจะกำหนดค่าไฟร์วอลล์บน VPN_IPSEC ได้อย่างไร
UPD: ฉันรู้ว่าสำหรับการแบ่งปันการเชื่อมต่ออินเทอร์เน็ตฉันควรสร้างกฎการส่งต่อและส่งต่อ นอกจากนี้ฉันควรมี net.ipv4.ip_forward = 1 ฉันมีแล้ว และฉันได้ลองใช้กฎปลอมตัวและส่งต่อกฎในการผสม ไม่มีผลลัพธ์.
ในตอนนี้ฉันแค่อยากเห็นตอนนี้ว่าการส่ง Ping จาก tunnel ไปที่ VPN_TEST ของฉันและกลับมาที่ VPN_IPSEC
ipsec status
คำสั่งบนเซิร์ฟเวอร์ VPN ของคุณและระบุเอาต์พุต