Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Vấn đề split tunneling trong IPSec VPN

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vấn đề split tunneling trong IPSec VPN

    Vấn đề split tunneling trong IPSec VPN


    Split tunneling là quá trình gửi một vài traffic trên một tunnel và một vài traffic khác ở dạng clear text. Trong mô hình dùng remote access Ipsec VPN, việc sử dụng split tunneling là một chính sách được định nghĩa trên vpn gateway và sau đó áp đặt (push) xuống client. Trong cách hiện thực của cisco, mặc định split tunneling là tắt trong gateway. Vì vậy, khi Ipsec tunnel đã up giữa client và gateway, tất cả các traffic gửi từ client sẽ chui vào tunnel. Không có tuỳ chọn nào trên client cho phép thay đổi tình trạng này. Do đó, ta phải kiểm soát traffic nào sẽ được bảo vệ (đi vào tunnel).


    Trong cisco, có hai loại lưu lượng là ngoại lệ đối với chính sách này:



    * Arp: các client nếu dùng cổng Ethernet có thể học địa chỉ mac của thiết bị ở phía ISP.
    * Dhcp: các client có thể xin địa chỉ thường là từ isp và sẽ renew khi địa chỉ hết hiệu lục.

    Cấu hình trên VPN server lúc này như sau:


    Creating Groups

    Nếu bạn dùng local authorization trong câu lệnh aaa authorization, bạn phải định nghĩa các nhóm (group) một cách cục bộ trên router. Dùng đoạn cấu hình dưới đây để định nghĩa một nhóm Easy VPN server cho các người dùng:


    Router(config)# ip local pool pool_name first_IP_address last_IP_address

    Router(config)# crypto isakmp client configuration address-pool local pool_name

    Router(config)# crypto isamkp client configuration group {group_name | default}

    Router(config-isakmp-group)# key pre_shared_key

    Router(config-isakmp-group)# pool pool_name

    Router(config-isakmp-group)# domain domain_name

    Router(config-isakmp-group)# dns 1st_DNS_server [2nd_DNS_server]

    Router(config-isakmp-group)# split-dns domain_name

    Router(config-isakmp-group)# wins 1st_WINS_server [2nd_WINS_server]

    Router(config-isakmp-group)# include-local-lan

    Router(config-isakmp-group)# acl ACL_name_or_#

    Router(config-isakmp-group)# firewall are-u-there

    Router(config-isakmp-group)# backup-gateway {IP_address | hostname}

    Router(config-isakmp-group)# save-password

    Router(config-isakmp-group)# pfs

    Router(config-isakmp-group)# max-logins #_of_simultaneous_logins

    Router(config-isakmp-group)# max-users #_of_users

    Router(config-isakmp-group)# access-restrict interface_name

    Router(config-isakmp-group)# group-lock

    Router(config-isakmp-group)# exit

    Lệnh acl cho phép ta chỉ ra nhiều cấu hình split tunneling phức tạp hơn. Với cấu hình này, bạn tham chiếu đến nhiều dạng acl như named, number. Các acl sẽ chỉ ra những lưu lượng nào sẽ được bảo vệ. Lệnh deny sẽ chỉ ra các lưu lượng gửi ở dạng clear text bởi client.

    Router(config)# ip access-list extended splitengineering

    Router(config-ext-nacl)# remark Protect this traffic

    Router(config-ext-nacl)# permit ip 192.168.0.0 0.0.0.255 any

    Router(config-ext-nacl)# remark Send all other traffic in clear-text

    Router(config-ext-nacl)# deny ip any any

    Chú ý rằng khi thiết lập ACL để chỉ ra split tunneliing, địa chỉ nguồn trong ACL là địa chỉ mà client được cấp và địa chỉ đích là địa chỉ của chính client.

    Tóm lại, split tunneling giúp ta chỉ định rõ những traffic nào sẽ được mã hóa, những traffic nào gửi ở dạng không mã hóa, clear text. Việc phân loại thường dựa trên công cụ ACL.
    Đặng Quang Minh, CCIEx2#11897 (Enterprise Infrastructure, Wireless), DEVNET, CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/

  • #2
    Thong tin nay qua tuyet. Thanks a lot!

    Comment


    • #3
      Chào anh Minh,

      Cho em xin được hỏi thêm. Em có yêu cầu như sau:
      Client truy cập Remote Access VPN từ INTERNET để truy cập 1 dịch vụ nào đó của Server A (Server A nằm trong local LAN).
      • Nếu truy cập đến Server A thì traffice sẽ đi qua tunnel
      • Còn lại thì traffic sẽ đi ra INTERNET (không đi qua tunnel)


      Em cấu hình tương tự như trên như sau:

      Router(config)# ip local pool TEST_POOL_REMOTE_VPN 10.10.10.10-10.10.10.100 mask 255.255.255.0

      Router(config)# crypto ipsec transform-set TRANSFORM_SET_VPN esp-3des esp-md5-hmac

      Router(config)# access-list ACL_REMOTE_VPN extended ip permit 10.10.10.0 255.255.255.0 any
      Router(config)# access-list ACL_REMOTE_VPN extended ip deny any any

      Router(config)# crypto dynamic-map DYNAMIC_MAP_VPN match address ACL_REMOTE_VPN
      Router(config)# crypto dynamic-map DYNAMIC_MAP_VPN set transform-set TRANSFORM_SET_VPN
      Router(config)# crypto dynamic-map DYNAMIC_MAP_VPN set reverse-route

      Router(config)# crypto map OUT_SIDE_MAP 1 ipsec-isakmp dynamic DYNAMIC_MAP_VPN
      Router(config)# crypto map OUT_SIDE_MAP interface outside

      Router(config)# tunnel-group TEST_TUNNEL_REMOTE type ipsec-ra

      Router(config)# tunnel-group TEST_TUNNEL_REMOTE general-attributes
      Router(config-tunnel-gerneral)# address-pool TEST_POOL_REMOTE_VPN
      Router(config-tunnel-gerneral)# authentication-server-group TEST_REMOTE_VPN

      Router(config)# tunnel-group TEST_TUNNEL_REMOTE ipsec-attributes
      pre-shared-key *

      ....

      Tuy nhiên:
      • Khi áp đặt access-list vào crypto dynamic-map thì không connect được VPN được.

      • Còn nếu không áp đặt access-list vào crypto dynamic-map thì connect VPN bình thường, truy xuất mạng LAN bình thường. Nhưng không truy cập được INTERNET.


      Nhờ anh hướng dẫn thêm.
      Many thanks
      Last edited by belugavn; 04-06-2009, 02:29 PM.

      Comment


      • #4
        Nếu trường hợp bạn chỉ cần truy cập 1 số dịch vụ của Server trong mang sau khi VPN thì có 1 giải pháp khác là bạn sử dụng WEB VPN của Cisco có thể cấu hình trên ASA hoặc Router.
        Nguyễn Quốc Lễ, CCNP CCSP
        Email: nguyenquocle@wimaxpro.org

        Viet Professionals Co. Ltd. VnPro ®
        ---------------------------------------
        149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
        Tel: (08) 35124257
        Fax: (08) 5124314
        Support Forum : http://www. vnpro.org
        Live Chat http://vnpro.org/forum/image.php?u=2...ine=1233770177 : http://www.vnpro.vn/support
        Blog VnPro : http://www.vnpro.org/blog
        Cộng Đồng Mạng Không Dây Việt Nam

        Comment


        • #5
          To nguyenquocle: Thanks bạn đã hướng dẫn.
          Tuy nhiên mình muốn biết thêm cách để phân lọai traffic (encrypt hoặc không encrypt) để sử dụng split tunneling tốt hơn.

          Thanks

          Comment


          • #6
            1 chút đóng góp ý kiến chủ quan:
            trong chế độ mặc định thì tính năng split tunneling bị disable trên các thiết bị VPn,như Cisco VPN gateway,do 1 số traffic được gửi đi ko qua tunnel ở dạng clear-text nên việc quan trọng là cần 1 giải pháp firewall để bao vệ nội dụng dữ liệu từ client đó,một software firewall sẽ bảo vệ traffic khỏi các hacker.
            Theo như mình nghĩ,nếu một mấy PC đã tunnel IPsec đến một Corporate Office (CO) có DNS được đặt internal thông qua 1 IPsec gateway,gateway này có thể đã gán 1 địa chỉ DNS Server internal của mạng bên trong đó.
            Thông thường,các PC nếu thực hiện truy vấn tên miền của CO thì truy vấn đề sẽ được gửi trực tiếp đến DNS Server đã được chỉ định bởi IPsec gateway,nhưng nếu 1 truy vấn với tên miền công cộng thì trước tiên truy vấn đó được gửi tới internal DNS Server của CO,sau đó DNS Server này sẽ forwald tiếp đến DNS Server bên ngoài(DNS server của ISP),nhưng cơ chế này ko được tối ưu lắm,split DNS sẽ được sử dụng
            1_Nếu sử dụng các thiết bị phần cứng mạng chuyên dụng cho VPN,thì IPsec gateway chỉ đơn giản là đẩy một bản ghi danh sách các địa chỉ DNS Server cho PC đó,bao gồm cả internal và external DNS để PC có thể truy vấn trực tiếp DNS external mà có thể ko qua tunnel.
            2_ nếu là sử dụng các DNS Server như Microsoft 2003 hoặc Linux thì ta cần xây dựng 2 DNS Server để giải quyết tối ưu vấn đề này,1 là DNS Internla,2 là 1 DNS server public,2 DNS Server này sẽ luân phiên trao đổi các tranfers zore để các PC trong lẫn ngoài truy vấn nhanh chóng hơn,mà tunnel VPN ở đây có thể được tạo bởi ISA 2004 hoặc 2006
            Tuỳ vào từng trường hợp để sử dụng

            Comment


            • #7
              Mình đã tìm hiểu được vấn đề này, post lên cùng mọi người tham khảo.

              Sau khi tạo access-list để phân lọai traffic (traffic nào đi vào tunnel, traffic nào không đi vào tunnel), mình sẽ áp đặt access-list này vào group-policy:


              ASA(config)# access-list TEST_ACL extended permit ip <ip LAN> <ip pool cap phat cho client VPN>
              ASA(config)# access-list TEST_ACL extended deny ip any any
              ASA(config)# group-policy TEST_SPLIT_TUNNEL attributes
              ......
              split-tunnel-network-list value TEST_ACL

              Comment


              • #8
                belugavn da giai quyet van de nay xong chua?

                Thanks,
                Hugo

                Comment


                • #9
                  Originally posted by belugavn View Post
                  Mình đã tìm hiểu được vấn đề này, post lên cùng mọi người tham khảo.

                  Sau khi tạo access-list để phân lọai traffic (traffic nào đi vào tunnel, traffic nào không đi vào tunnel), mình sẽ áp đặt access-list này vào group-policy:


                  ASA(config)# access-list TEST_ACL extended permit ip <ip LAN> <ip pool cap phat cho client VPN>
                  ASA(config)# access-list TEST_ACL extended deny ip any any
                  ASA(config)# group-policy TEST_SPLIT_TUNNEL attributes
                  ......
                  split-tunnel-network-list value TEST_ACL
                  Mình đã giải quyết được rồi nên mới viết lên đây để mọi người tham khảo
                  Regards

                  Comment


                  • #10
                    Originally posted by dangquangminh View Post
                    Vấn đề split tunneling trong IPSec VPN


                    Split tunneling là quá trình gửi một vài traffic trên một tunnel và một vài traffic khác ở dạng clear text. Trong mô hình dùng remote access Ipsec VPN, việc sử dụng split tunneling là một chính sách được định nghĩa trên vpn gateway và sau đó áp đặt (push) xuống client. Trong cách hiện thực của cisco, mặc định split tunneling là tắt trong gateway. Vì vậy, khi Ipsec tunnel đã up giữa client và gateway, tất cả các traffic gửi từ client sẽ chui vào tunnel. Không có tuỳ chọn nào trên client cho phép thay đổi tình trạng này. Do đó, ta phải kiểm soát traffic nào sẽ được bảo vệ (đi vào tunnel).


                    Trong cisco, có hai loại lưu lượng là ngoại lệ đối với chính sách này:



                    * Arp: các client nếu dùng cổng Ethernet có thể học địa chỉ mac của thiết bị ở phía ISP.
                    * Dhcp: các client có thể xin địa chỉ thường là từ isp và sẽ renew khi địa chỉ hết hiệu lục.

                    Cấu hình trên VPN server lúc này như sau:


                    Creating Groups

                    Nếu bạn dùng local authorization trong câu lệnh aaa authorization, bạn phải định nghĩa các nhóm (group) một cách cục bộ trên router. Dùng đoạn cấu hình dưới đây để định nghĩa một nhóm Easy VPN server cho các người dùng:


                    Router(config)# ip local pool pool_name first_IP_address last_IP_address

                    Router(config)# crypto isakmp client configuration address-pool local pool_name

                    Router(config)# crypto isamkp client configuration group {group_name | default}

                    Router(config-isakmp-group)# key pre_shared_key

                    Router(config-isakmp-group)# pool pool_name

                    Router(config-isakmp-group)# domain domain_name

                    Router(config-isakmp-group)# dns 1st_DNS_server [2nd_DNS_server]

                    Router(config-isakmp-group)# split-dns domain_name

                    Router(config-isakmp-group)# wins 1st_WINS_server [2nd_WINS_server]

                    Router(config-isakmp-group)# include-local-lan

                    Router(config-isakmp-group)# acl ACL_name_or_#

                    Router(config-isakmp-group)# firewall are-u-there

                    Router(config-isakmp-group)# backup-gateway {IP_address | hostname}

                    Router(config-isakmp-group)# save-password

                    Router(config-isakmp-group)# pfs

                    Router(config-isakmp-group)# max-logins #_of_simultaneous_logins

                    Router(config-isakmp-group)# max-users #_of_users

                    Router(config-isakmp-group)# access-restrict interface_name

                    Router(config-isakmp-group)# group-lock

                    Router(config-isakmp-group)# exit

                    Lệnh acl cho phép ta chỉ ra nhiều cấu hình split tunneling phức tạp hơn. Với cấu hình này, bạn tham chiếu đến nhiều dạng acl như named, number. Các acl sẽ chỉ ra những lưu lượng nào sẽ được bảo vệ. Lệnh deny sẽ chỉ ra các lưu lượng gửi ở dạng clear text bởi client.

                    Router(config)# ip access-list extended splitengineering

                    Router(config-ext-nacl)# remark Protect this traffic

                    Router(config-ext-nacl)# permit ip 192.168.0.0 0.0.0.255 any

                    Router(config-ext-nacl)# remark Send all other traffic in clear-text

                    Router(config-ext-nacl)# deny ip any any

                    Chú ý rằng khi thiết lập ACL để chỉ ra split tunneliing, địa chỉ nguồn trong ACL là địa chỉ mà client được cấp và địa chỉ đích là địa chỉ của chính client.

                    Tóm lại, split tunneling giúp ta chỉ định rõ những traffic nào sẽ được mã hóa, những traffic nào gửi ở dạng không mã hóa, clear text. Việc phân loại thường dựa trên công cụ ACL.
                    Có một đoạn em chưa hiểu được đó là

                    chú ý rằng khi thiết lập ACL để chỉ ra split tunneliing, địa chỉ nguồn trong ACL là địa chỉ mà client được cấp và địa chỉ đích là địa chỉ của chính client.

                    Khi em dùng access để permit giử x.x.x.x (mạng cấp cho clien) và z.z.z.z (mạng của lan cần access) thì chỉ định rõ trong split thì có thể ra được internet (mở ipconfig ở máy vpn client thì chỉ cấp x.x.x.x và subnet mask ko có gateway, theo em đây là nguyên nhân ra được internet) nhưng lúc này lại ko access được lan

                    còn khi em ko dùng split thì có thể truy nhập lan nhưng ko ra được internet vì lúc này client được cấp ip và gateway đầy đủ là x.x.x.x và gateway là x.x.x.1

                    Thầy Minh trả lời giúp em với ạ?
                    phang tường thuật trực tiếp kết quả sồ số kiến thiết 3 miền
                    kimkim chát free cho mobile (có chế độ chát tiếng việt, chát nhóm...)

                    soạn tin DOWN P gửi 8217 | DOWN KK gửi 8217

                    Comment


                    • #11
                      Sorry em chưa đọc kỹ. cam ơn bạn belugavn
                      phang tường thuật trực tiếp kết quả sồ số kiến thiết 3 miền
                      kimkim chát free cho mobile (có chế độ chát tiếng việt, chát nhóm...)

                      soạn tin DOWN P gửi 8217 | DOWN KK gửi 8217

                      Comment


                      • #12
                        hi,

                        Bạn tham khảo link sau:



                        đọc phần " background Information"

                        bye,
                        Thắng.

                        Comment


                        • #13
                          Xin mọi người giúp đỡ. Mình cũng bị tình trạng khi thêm ACL vào
                          ACL namlist permit ip_client_duoc_cap any

                          thì chỉ đi được internet thôi, không thấy được các máy trong local

                          Comment

                          Working...
                          X