Điểm:0

Quy tắc IPSec iptables cho dịch vụ cục bộ

lá cờ in

Tôi có một máy chủ truy cập từ xa StrongSwan IPSec chạy trên RHEL và một máy khách trên cùng một mạng cục bộ. Tôi có một máy chủ Samba chạy trên cùng một máy chủ RHEL mà tôi muốn có sẵn thông qua VPN nhưng không phải bên ngoài đường hầm. Tôi có thể thiết lập thành công đường hầm IPSec (phải tạo một cấu hình MacOS với Apple Configurator2 bật Perfect Forward Security để có một ciphersuite phù hợp) nhưng tôi không thể định tuyến lưu lượng truy cập trong máy chủ đúng cách.Tôi đã chụp một gói và tôi có thể thấy các gói ESP gửi đến và giải mã ICMP từ lệnh ping từ máy khách nhưng máy chủ không thể trả lời lại. Tôi đã dành vài ngày cuối tuần để cố gắng tìm ra quy tắc iptables nào mà tôi cần để kết nối nhưng tôi nghĩ rằng mình đang thiếu hiểu biết nào đó. Tôi đã có thể thiết lập VPN OpenVPN và WireGuard mà không gặp vấn đề gì với các giao diện điều chỉnh nhưng IPSec theo hiểu biết của tôi được giải mã theo chính sách trong nhân nên tôi không quen với việc điều đó sẽ ảnh hưởng đến việc định tuyến như thế nào.

Tôi đã thiết lập dựa trên tài liệu ví dụ StrongSwan chính thức cho Truy cập từ xa, đã sử dụng cái này tài liệu cấu hình Swanctl, đọc các bài đăng trên diễn đàn và dịch định dạng cũ hơn sang định dạng mới hơn với cái này - cũng như đọc về chuyển tiếpVPN dựa trên tuyến đường - nhưng tôi nghĩ rằng tôi chỉ thiếu hiểu biết cấp cao về cách các tuyến lưu lượng truy cập trong máy chủ VPN.

Sơ đồ mạng logic

Sơ đồ mạng logic

swanctl.conf (với những thứ khác đã nhận xét mà tôi đã thử)

kết nối {
        ikev2-vpn {
                phân mảnh = có
                rekey_time=0s
                #xe máy = không
                phiên bản = 2
                đề xuất=aes256gcm16-prfsha384-ecp384
                remote_addrs=%any
                local_addrs=192.168.1.15
                #vips=10.0.3.1
                #remote_addrs=192.168.1.23
                #pools=10.0.3.0/24
                #encap=có
                #dpd_delay=300s
                pool=pool1,pool2
        #if_id_in=6
        #if_id_out=6
                bọn trẻ {
                        ikev2-vpn {
                                #start_action=không
                                esp_proposals=aes256gcm16-prfsha384-ecp384
                                #local_ts=10.0.3.1/32
                                local_ts=10.0.1.0/24
                                remote_ts=10.0.2.0/24
                                #remote_ts=10.0.3.10-10.0.3.200
                                #dpd_action=xóa
                                updown=/usr/libexec/strongswan/_updown iptables
                        }

                }
                địa phương {
                        auth=ecdsa-384-sha384
                        chứng chỉ = /etc/strongswan/ipsec.d/certs/server.crt
                        id = 192.168.1.15
                }
                Xa xôi {
                        auth=ecdsa-384-sha384
                        id =% bất kỳ
                }
        }
}
bể bơi {
        nhóm1 {
                #addrs=10.0.3.0/24
                addrs=10.0.1.0/24
        }
        nhóm2 {
                #addrs=10.0.3.10-10.0.3.200
                addrs=10.0.2.0/24
        }
}
bí mật {
        máy chủ ecdsa {
                tập tin=/etc/strongswan/ipsec.d/private/server.key
        }
        ecdsa-client {
                tập tin=/etc/strongswan/ipsec.d/private/client.key
        }
}
chính quyền {
        cơ quan chứng nhận {
                cacert = /etc/strongswan/ipsec.d/cacerts/ca.crt
        }
}

Swanctl --list-sas

ikev2-vpn: #2, ĐÃ THÀNH LẬP, IKEv2, c98d6dc49ca0acd4_i 85342c9a0809e294_r*
  cục bộ '192.168.1.15' @ 192.168.1.15[4500]
  'client2.vpn' từ xa @ 192.168.1.23[4500] [10.0.1.1]
  AES_GCM_16-256/PRF_HMAC_SHA2_384/ECP_384
  thành lập 53s trước
  ikev2-vpn: #4, yêu cầu 1, ĐÃ CÀI ĐẶT, ĐƯỜNG Hầm, ESP:AES_GCM_16-256
    đã cài đặt 53s trước, nhập lại trong 3247s, hết hạn sau 3907s
    trong c334ea0b, 0 byte, 0 gói
    ra 021348d4, 0 byte, 0 gói
    cục bộ 10.0.1.0/24
    điều khiển từ xa 10.0.2.0/24

Swanctl --list-conns

ikev2-vpn: IKEv2, không cần xác thực lại, không cần nhập lại khóa
  cục bộ: 192.168.1.15
  điều khiển từ xa: % bất kỳ
  xác thực khóa công khai cục bộ:
    id: 192.168.1.15
    chứng chỉ: [CERT_DN]
  xác thực khóa công khai từ xa:
    id: % bất kỳ
  ikev2-vpn: TUNNEL, nhập lại khóa sau mỗi 3600 giây
    địa phương: 10.0.1.0/24
    từ xa: 10.0.2.0/24

trạng thái ip -s xfrm

src 192.168.1.15 dst 192.168.1.23
        đường hầm chế độ proto esp spi 0x021348d4(34818260) reqid 1(0x00000001)
        cửa sổ phát lại 0 seq 0x00000000 cờ af-unspec (0x00100000)
        aead rfc4106(gcm(aes)) [KEY] (288 bit) 128
        bối cảnh chống phát lại: seq 0x0, oseq 0x0, bitmap 0x00000000
        cấu hình trọn đời:
          giới hạn: mềm (INF)(byte), cứng (INF)(byte)
          giới hạn: mềm (INF)(gói), cứng (INF)(gói)
          hết hạn thêm: mềm 3418(giây), cứng 3960(giây)
          hết hạn sử dụng: mềm 0(giây), cứng 0(giây)
        trọn đời hiện tại:
          0(byte), 0(gói tin)
          thêm [TIME] sử dụng -
        số liệu thống kê:
          cửa sổ phát lại 0 phát lại 0 thất bại 0
src 192.168.1.23 dst 192.168.1.15
        đường hầm chế độ proto esp spi 0xc334ea0b(3275024907) reqid 1(0x00000001)
        cửa sổ phát lại 32 cờ seq 0x00000000 af-unspec (0x00100000)
        aead rfc4106(gcm(aes)) [KEY] (288 bit) 128
        bối cảnh chống phát lại: seq 0xc, oseq 0x0, bitmap 0x00000fff
        cấu hình trọn đời:
          giới hạn: mềm (INF)(byte), cứng (INF)(byte)
          giới hạn: mềm (INF)(gói), cứng (INF)(gói)
          hết hạn thêm: mềm 3300(giây), cứng 3960(giây)
          hết hạn sử dụng: mềm 0(giây), cứng 0(giây)
        trọn đời hiện tại:
          1008(byte), 12(gói)
          thêm [TIME] sử dụng [TIME]
        số liệu thống kê:
          cửa sổ phát lại 0 phát lại 0 thất bại 0

chính sách ip xfrm hiển thị

src 10.0.1.0/24 dst 10.0.2.0/24 
        dir out priority 375423 ptype chính 
        tmpl src 192.168.1.15 dst 192.168.1.23
                proto esp spi 0x021348d4 yêu cầu đường hầm 1 chế độ
src 10.0.2.0/24 dst 10.0.1.0/24 
        ưu tiên dir fwd 375423 ptype chính 
        tmpl src 192.168.1.23 dst 192.168.1.15
                đường hầm chế độ proto esp reqid 1
src 10.0.2.0/24 dst 10.0.1.0/24 
        thư mục ưu tiên 375423 ptype chính 
        tmpl src 192.168.1.23 dst 192.168.1.15
                đường hầm chế độ proto esp reqid 1
src 0.0.0.0/0 dst 0.0.0.0/0 
        ổ cắm ưu tiên 0 ptype chính 
src 0.0.0.0/0 dst 0.0.0.0/0 
        ổ cắm ra ưu tiên 0 ptype chính 
src 0.0.0.0/0 dst 0.0.0.0/0 
        ổ cắm ưu tiên 0 ptype chính 
src 0.0.0.0/0 dst 0.0.0.0/0 
        ổ cắm ra ưu tiên 0 ptype chính 
src ::/0 dst ::/0 
        ổ cắm ưu tiên 0 ptype chính 
src ::/0 dst ::/0 
        ổ cắm ra ưu tiên 0 ptype chính 
src ::/0 dst ::/0 
        ổ cắm ưu tiên 0 ptype chính 
src ::/0 dst ::/0 
        ổ cắm ra ưu tiên 0 ptype chính 

iptables-save

# Được tạo bởi iptables-save v1.8.4
*Bảo vệ
:INPUT CHẤP NHẬN [22858074:106762962340]
:CHẤP NHẬN TRƯỚC [7:588]
:CHẤP NHẬN ĐẦU RA [13832427:3964756363]
LÀM
# Được tạo bởi iptables-save v1.8.4
* nguyên
: CHẤP NHẬN TRƯỚC [22858911:106763119967]
:CHẤP NHẬN ĐẦU RA [13832428:3964756655]
LÀM
# Được tạo bởi iptables-save v1.8.4
* mangle
: CHẤP NHẬN TRƯỚC [22858911:106763119967]
:CHẤP NHẬN ĐẦU VÀO [22858308:106763007491]
:CHẤP NHẬN TRƯỚC [7:588]
:CHẤP NHẬN ĐẦU RA [13832428:3964756655]
:CHẤP NHẬN SAU ĐÓ [13833383:3964877586]
:LIBVIRT_PRT - [0:0]
-A POSTROUTING -j LIBVIRT_PRT
-A LIBVIRT_PRT -o virbr0 -p udp -m udp --dport 68 -j KIỂM TRA --checksum-fill
LÀM
# Được tạo bởi iptables-save v1.8.4
*tự nhiên
:CHẤP NHẬN TRƯỚC [186346:34394324]
:CHẤP NHẬN ĐẦU VÀO [185651:34259782]
:CHẤP NHẬN SAU ĐÓ [16086:1727773]
:CHẤP NHẬN ĐẦU RA [16085:1727689]
:LIBVIRT_PRT - [0:0]
-A POSTROUTING -j LIBVIRT_PRT
-A POSTROUTING -s 172.16.0.0/24 -o enp0s31f6 -j MASQUERADE
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 224.0.0.0/24 -j TRẢ LẠI
-A LIBVIRT_PRT -s 192.168.122.0/24 -d 255.255.255.255/32 -j TRẢ LẠI
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A LIBVIRT_PRT -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MẶT MẠO
LÀM
# Được tạo bởi iptables-save
*lọc
:CHẤP NHẬN ĐẦU VÀO [22831621:106727043679]
:CHẤP NHẬN TRƯỚC [0:0]
:CHẤP NHẬN ĐẦU RA [13832420:3964757167]
:LIBVIRT_INP - [0:0]
:LIBVIRT_OUT - [0:0]
:LIBVIRT_FWO - [0:0]
:LIBVIRT_FWI - [0:0]
:LIBVIRT_FWX - [0:0]
-A FORWARD -s 10.0.2.0/24 -d 10.0.1.0/24 -i enp0s31f6 -m policy --dir in --pol ipsec --reqid 1 --proto esp -j CHẤP NHẬN
-A FORWARD -s 10.0.1.0/24 -d 10.0.2.0/24 -o enp0s31f6 -m policy --dir out --pol ipsec --reqid 1 --proto esp -j CHẤP NHẬN
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 53 -j CHẤP NHẬN
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 53 -j CHẤP NHẬN
-A LIBVIRT_INP -i virbr0 -p udp -m udp --dport 67 -j CHẤP NHẬN
-A LIBVIRT_INP -i virbr0 -p tcp -m tcp --dport 67 -j CHẤP NHẬN
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 53 -j CHẤP NHẬN
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 53 -j CHẤP NHẬN
-A LIBVIRT_OUT -o virbr0 -p udp -m udp --dport 68 -j CHẤP NHẬN
-A LIBVIRT_OUT -o virbr0 -p tcp -m tcp --dport 68 -j CHẤP NHẬN
-A LIBVIRT_FWO -s 192.168.122.0/24 -i virbr0 -j CHẤP NHẬN
-A LIBVIRT_FWO -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWI -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate LIÊN QUAN, ĐÃ THÀNH LẬP -j CHẤP NHẬN
-A LIBVIRT_FWI -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A LIBVIRT_FWX -i virbr0 -o virbr0 -j CHẤP NHẬN
LÀM
Ginnungagap avatar
lá cờ gu
Bạn có thể thêm IP nào bạn ping và IP nào bạn đang cố truy cập Samba không?
joe_shmo avatar
lá cờ in
Chắc chắn rồi. Không chắc liệu sơ đồ mạng có hiển thị rõ hay tôi không giải thích rõ nhưng tôi đang ping từ máy khách ở 10.0.2.1 đến máy chủ StrongSwan/Samba ở 10.0.1.1. Nó đến máy chủ và được giải mã nhưng không định tuyến trở lại máy khách.Và tôi muốn máy chủ Samba có thể truy cập được từ cùng 10.0.1.1 với máy chủ StrongSwan vì đó là cùng một máy vật lý trong cùng một hệ thống RHEL.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.