Tôi đã thiết lập thành công một đường hầm vpn với thiên nga mạnh mẽ
trong bộ chứa docker và muốn sử dụng kết nối được tạo đường hầm đó để chuyển tiếp các cổng cụ thể như SMTP tới máy chủ ở phía bên kia của đường hầm, trong trường hợp của tôi máy chủ 10.0.0.10
.
Mục tiêu là có thể sử dụng trực tiếp SMTP trong ứng dụng của tôi bằng cách kết nối với Strongswan-container
dịch vụ ở giữa như thế này
(smtp-host)-[IPSec-tunnel]-(strongswan-container [hiển thị cổng 25 và chuyển tiếp mọi thứ tới smtp-host được tạo đường hầm])-[some-docker-network]-(my-mail-sending-app-container [ gọi Strongswan-container:25 cho smtp])
sau khi đọc một số tài liệu về điều này, tôi đã thử những iptables
lệnh trên Strongswan-container
nhưng không thành công:
iptables -t nat -A PREROUTING -p tcp --dport 25 -j DNAT --to-destination 10.0.0.10:25
iptables -t nat -A POSTROUTING -p tcp -d 10.0.0.10 --dport 25 -j MASQUERADE
trên my-mail-gửi-app-container
tôi đã thử chạy
telnet Strongswan-container 25
nhưng nó sẽ chỉ đợi phản hồi cho đến khi hết thời gian chờ.
vấn đề với tôi là gì iptables
chỉ huy?
iptables-save
đầu ra sau khi Strongswan đã kết nối với đường hầm:
root@14d43f1e2f55:/# iptables-save
# Được tạo bởi iptables-save v1.8.4 vào Thứ Năm ngày 22 tháng 7 16:25:04 năm 2021
*lọc
:INPUT CHẤP NHẬN [1:112]
:CHẤP NHẬN VỀ PHÍA TRƯỚC [0:0]
:CHẤP NHẬN ĐẦU RA [1:112]
-A INPUT -s 10.0.0.0/16 -d 192.168.112.2/32 -i eth0 -m policy --dir in --pol ipsec --reqid 1 --proto esp -j ACCEPT
-A OUTPUT -s 192.168.112.2/32 -d 10.0.0.0/16 -o eth0 -m policy --dir out --pol ipsec --reqid 1 --proto esp -j ACCEPT
LÀM
# Hoàn thành vào Thứ Năm 22/07 16:25:04 2021
# Được tạo bởi iptables-save v1.8.4 vào Thứ Năm ngày 22 tháng 7 16:25:04 năm 2021
* tự nhiên
:CHẤP NHẬN TRƯỚC [0:0]
:INPUT CHẤP NHẬN [0:0]
:CHẤP NHẬN ĐẦU RA [2:1600]
:CHẤP NHẬN SAU ĐÓ [2:1600]
:DOCKER_OUTPUT - [0:0]
:DOCKER_POSTROUTING - [0:0]
-A ĐẦU RA -d 127.0.0.11/32 -j DOCKER_OUTPUT
-A POSTROUTING -d 127.0.0.11/32 -j DOCKER_POSTROUTING
-A DOCKER_OUTPUT -d 127.0.0.11/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.11:46701
-A DOCKER_OUTPUT -d 127.0.0.11/32 -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.11:58024
-A DOCKER_POSTROUTING -s 127.0.0.11/32 -p tcp -m tcp --sport 46701 -j SNAT --to-source :53
-A DOCKER_POSTROUTING -s 127.0.0.11/32 -p udp -m udp --sport 58024 -j SNAT --to-source :53
LÀM
# Hoàn thành vào Thứ Năm 22/07 16:25:04 2021
của tôi ipsec.conf
:
thiết lập cấu hình
nghiêm ngặtcrlpolicy=không
uniqueids=no
# trái là cục bộ theo mặc định, trái và phải được phát hiện động nếu không
kết nối %default
kết nối "ezvpn"
keyexchange=ikev2
tích cực = có
ike=(some-ciphers) # Thông số giai đoạn 1
esp=(some-ciphers) # Thông số phase2
left=192.168.112.2 # local IP dùng để kết nối với IOS
leftid=12.123.123.1 # IKEID (tên nhóm) dùng cho IOS
tường lửa trái = có
leftauth=psk
rightauth=psk
phân mảnh = có
right=12.123.123.2 #gateway (IOS) IP
rightsubnet=10.0.0.0/16
tường lửa bên phải=có
auto=lộ trình
loại = đường hầm
ikelifetime=180m
tuổi thọ phím = 60m