- Ubuntu 20.04LTS
- StrongSwan Swanctl 5.8.2
- Linux 5.8.0-1035-gcp
Tôi đang cố gắng thiết lập VPN "chiến binh đường bộ" IKEv2 để trì hoãn xác thực bán kính cho máy chủ ngược dòng của chúng tôi. Tin tốt là, tôi có thể yêu cầu khách hàng kết nối và vượt qua RADIUS auth. Nhưng, tôi đã thử khoảng một triệu thứ, nhưng tôi không thể nhận gói tin để chuyển tiếp. Tôi thấy lưu lượng truy cập đến trong đường hầm, nhưng nó sẽ không NAT ra bên ngoài. Lưu ý rằng những nỗ lực của tôi trong tập lệnh updown để cố gắng NAT lưu lượng truy cập không có kết quả (hiện đã được nhận xét).
Đây là cấu hình:
sudo tee /etc/strongswan.d/charon-systemd.conf << "EOF"
charon-systemd {
# cài đặt_ảo_ip=không
# cài đặt_tuyến=0
load=random nonce aes sha1 sha2 hmac pem pkcs1 x509 thu hồi đường cong25519 gmp curl kernel-netlink socket-default updown vici eap-radius eap-identity
tạp chí {
# Loglevel cho một hệ thống con cụ thể.
# <hệ thống con> = <mặc định>
# Cấp nhật ký mặc định.
mặc định = 2
enc=1
asn=1
}
bổ sung {
eap-bán kính {
may chủ {
sơ cấp {
địa chỉ=10.128.0.13
bí mật=siêu bí mật
auth_port=21812
}
}
}
}
}
EOF
sudo tee /etc/swanctl/conf.d/vpn.conf << "EOF"
kết nối {
rw-eap {
phiên bản = 2
đề xuất=aes128gcm16-sha256-modp2048
local_addrs=10.128.0.14
send_cert=luôn luôn
pool=dhcp_ipv4
địa phương {
auth=pubkey
certs=vpn.pem
id=vpn.xxx.com
}
Xa xôi {
auth=eap-bán kính
id=*
}
bọn trẻ {
bọc lưới {
local_ts=0.0.0.0/0
remote_ts=172.16.20.64/26
if_id_in=%duy nhất
if_id_out=%duy nhất
mark_in=%duy nhất
mark_out=%duy nhất
updown=/usr/local/bin/rw-updown.sh
esp_proposals=aes128gcm16-sha256-modp2048
}
}
}
}
bể bơi {
dhcp_ipv4 {
addrs=172.16.20.64/26
dns=10.128.0.9
}
}
EOF
tee /usr/local/bin/rw-updown.sh << "EOF"
#!/bin/bash
set -o danh từ
đặt -o errexit
XFRM_IF="xfrm${PLUTO_UNIQUEID}"
trường hợp "${PLUTO_VERB}" trong
khách hàng lên)
logger -t "vpn rw-updown" ${PLUTO_VERB} ${PLUTO_UNIQUEID} ${XFRM_IF} ${PLUTO_ME} ${PLUTO_PEER} ${PLUTO_MARK_OUT%%/*} ${PLUTO_PEER_SOURCEIP}
liên kết ip thêm ${XFRM_IF} loại xfrm dev ens4 if_id ${PLUTO_UNIQUEID}
thiết lập liên kết ip ${XFRM_IF}
# iptables -A FORWARD --in-interface ${XFRM_IF} -j CHẤP NHẬN
# iptables --table nat -A POSTROUTING --out-interface ens4 -j MASQUERADE
;;
khách hàng xuống)
# iptables -D FORWARD --in-interface ${XFRM_IF} -j CHẤP NHẬN
# iptables --table nat -D POSTROUTING --out-interface ens4 -j MASQUERADE
liên kết ip từ ${XFRM_IF}
;;
thoát hiểm
EOF
chmod +x /usr/local/bin/rw-updown.sh
Vì vậy, sau khi máy khách kết nối, chúng ta sẽ thấy giao diện được tạo:
root@vpn-iowa:~# chính sách ip xfrm
src 0.0.0.0/0 dst 172.16.20.64/26
dir out ưu tiên 386687
đánh dấu 0x2/0xffffffff
tmpl src 10.128.0.14 dst 173.197.16.118
proto esp spi 0x08547b23 yêu cầu đường hầm 2 chế độ
if_id 0x2
src 172.16.20.64/26 dst 0.0.0.0/0
dir fwd ưu tiên 386687
đánh dấu 0x2/0xffffffff
tmpl src 173.197.16.118 dst 10.128.0.14
đường hầm chế độ proto esp reqid 2
if_id 0x2
src 172.16.20.64/26 dst 0.0.0.0/0
thư mục ưu tiên 386687
đánh dấu 0x2/0xffffffff
tmpl src 173.197.16.118 dst 10.128.0.14
đường hầm chế độ proto esp reqid 2
if_id 0x2
src 0.0.0.0/0 dst 0.0.0.0/0
ổ cắm ở mức ưu tiên 0
src 0.0.0.0/0 dst 0.0.0.0/0
ưu tiên ổ cắm 0
src 0.0.0.0/0 dst 0.0.0.0/0
ổ cắm ở mức ưu tiên 0
... hơn
Và chạy ổn định ping 1.1.1.1
trên máy khách khiến lưu lượng truy cập đến gói RX 246
:
root@vpn-iowa:~# ifconfig
ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.128.0.14 netmask 255.255.255.255 phát sóng 0.0.0.0
inet6 fe80::4001:aff:fe80:e tiền tốlen 64 phạm vi 0x20<link>
ether 42:01:0a:80:00:0e txqueuelen 1000 (Ethernet)
Gói RX 2668 byte 444824 (444,8 KB)
Lỗi RX 0 bị rớt 0 tràn 0 khung hình 0
Gói TX 1907 byte 586712 (586,7 KB)
Lỗi TX 0 bị rớt 0 tràn 0 sóng mang 0 va chạm 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 mặt nạ mạng 255.0.0.0
inet6 ::1 tiền tốlen 128 phạm vi 0x10<máy chủ>
vòng lặp txqueuelen 1000 (Local Loopback)
Gói RX 140 byte 13208 (13,2 KB)
Lỗi RX 0 bị rớt 0 tràn 0 khung hình 0
Gói TX 140 byte 13208 (13,2 KB)
Lỗi TX 0 bị rớt 0 tràn 0 sóng mang 0 va chạm 0
xfrm2: flags=193<LÊN,CHẠY,NOARP> mtu 1500
inet6 fe80::85d9:2aa5:841:803f tiền tốlen 64 phạm vi 0x20<link>
không xác định 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
Gói RX 246 byte 18819 (18,8 KB)
Lỗi RX 0 bị rớt 0 tràn 0 khung hình 0
Gói TX 0 byte 0 (0,0 B)
Lỗi TX 0 bị rớt 0 tràn 0 sóng mang 0 va chạm 0
Tôi sẽ mãi mãi mắc nợ bạn nếu bạn có thể giúp tôi việc này.Tôi đã đọc một triệu tài nguyên và vẫn không thể tìm ra điều này. Cảm ơn bạn!