<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[自刘地]]></title><description><![CDATA[关于 AWS、Network、Python 的学习笔记。]]></description><link>https://liuqianglong.com/</link><image><url>https://liuqianglong.com/favicon.png</url><title>自刘地</title><link>https://liuqianglong.com/</link></image><generator>Ghost 5.89</generator><lastBuildDate>Fri, 10 Apr 2026 19:59:00 GMT</lastBuildDate><atom:link href="https://liuqianglong.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Dify 创建 Flux AI 免费绘图应用]]></title><description><![CDATA[<p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x5982;&#x4F55;&#x5229;&#x7528; Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;&#x3002;&#x53EA;&#x9700;&#x8981;&#x5728; Dify &#x4E2D;&#x8F93;&#x5165;&#x63D0;&#x793A;&#x8BCD;&#x548C;&#x56FE;&#x7247;&#x5206;&#x8FA8;&#x7387;&#xFF0C;Dify &#x4F1A;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#x56FE;&#x7247;&#x3002;&#x6587;&#x4E2D;</p>]]></description><link>https://liuqianglong.com/dify-create-flux-ai-free-drawing-app/</link><guid isPermaLink="false">67090b6ff97a56cdde1387f2</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Fri, 11 Oct 2024 11:30:13 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/10/Kung_Fu_Panda_holds_a__Dify_with_Flux__banner-_Pix.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/10/Kung_Fu_Panda_holds_a__Dify_with_Flux__banner-_Pix.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;"><p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x5982;&#x4F55;&#x5229;&#x7528; Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;&#x3002;&#x53EA;&#x9700;&#x8981;&#x5728; Dify &#x4E2D;&#x8F93;&#x5165;&#x63D0;&#x793A;&#x8BCD;&#x548C;&#x56FE;&#x7247;&#x5206;&#x8FA8;&#x7387;&#xFF0C;Dify &#x4F1A;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#x56FE;&#x7247;&#x3002;&#x6587;&#x4E2D;&#x8FD8;&#x4ECB;&#x7ECD;&#x4E86;&#x5982;&#x4F55;&#x83B7;&#x53D6;&#x7845;&#x57FA;&#x6D41;&#x52A8;&#x7684;&#x514D;&#x8D39; API&#xFF0C;&#x4EE5;&#x53CA;&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49; Dify &#x7684;&#x7ED8;&#x56FE;&#x63D2;&#x4EF6;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81flux-ai-%E7%AE%80%E4%BB%8B">&#x4E00;&#x3001;Flux AI &#x7B80;&#x4ECB;</h2>
<p>AI &#x7ED8;&#x753B;&#xFF0C;&#x5F00;&#x6E90;&#x4E2D;&#x77E5;&#x540D;&#x5EA6;&#x6700;&#x9AD8;&#x7684;&#x80AF;&#x5B9A;&#x662F; Stable Diffusion&#x3002;&#x5728; 2024&#x5E74;8&#x6708;1&#x65E5;&#xFF0C;&#x6765;&#x81EA; Stable Diffusion &#x56E2;&#x961F;&#x7684;&#x6210;&#x5458;&#x6210;&#x7ACB;&#x4E86;&#x9ED1;&#x68EE;&#x6797;&#x5B9E;&#x9A8C;&#x5BA4;&#x516C;&#x53F8;&#xFF08;Black Forest Labs&#xFF09;&#xFF0C;&#x81F4;&#x529B;&#x4E8E;&#x5F00;&#x53D1;&#x6700;&#x5148;&#x8FDB;&#x7684;&#x5F00;&#x6E90;&#x751F;&#x6210;&#x6A21;&#x578B;&#xFF0C;&#x7528;&#x4E8E;&#x56FE;&#x50CF;&#x548C;&#x89C6;&#x9891;&#x3002;&#x76EE;&#x524D;&#x516C;&#x53F8;&#x6709; 4 &#x6B3E; AI &#x7ED8;&#x56FE;&#x6A21;&#x578B;&#xFF1A;[1]</p>
<ul>
<li><strong>FLUX1.1 [pro]</strong> &#xFF1A;2024&#x5E74;10&#x6708;1&#x65E5;&#x53D1;&#x5E03;&#x7684;&#x6700;&#x5148;&#x8FDB;&#x4E14;&#x9AD8;&#x6548;&#x7684;&#x7248;&#x672C;&#xFF0C;&#x4EE3;&#x53F7;&#x201C;&#x84DD;&#x8393;&#x201D;&#xFF0C;&#x662F;&#x76EE;&#x524D;&#x5E02;&#x9762;&#x6700;&#x5F3A;&#x7684; AI &#x753B;&#x56FE;&#x6A21;&#x578B;&#xFF08;&#x662F;&#x7684;&#xFF0C;&#x5F3A;&#x4E8E;Midjourney&#xFF09;&#x3002;&#x6BD4;FLUX.1 [pro]&#x5FEB;&#x516D;&#x500D;&#xFF0C;&#x540C;&#x65F6;&#x63D0;&#x5347;&#x56FE;&#x50CF;&#x8D28;&#x91CF;&#x3001;&#x63D0;&#x793A;&#x9075;&#x5FAA;&#x80FD;&#x529B;&#x548C;&#x591A;&#x6837;&#x6027;&#x3002;</li>
<li><strong>FLUX.1 [pro]</strong> &#xFF1A;&#x9876;&#x7EA7;&#x6027;&#x80FD;&#x56FE;&#x50CF;&#x751F;&#x6210;&#x6A21;&#x578B;&#xFF0C;&#x95ED;&#x6E90;&#x6A21;&#x578B;&#xFF0C;&#x5177;&#x6709;&#x6700;&#x5148;&#x8FDB;&#x7684;&#x63D0;&#x793A;&#x9075;&#x5FAA;&#x80FD;&#x529B;&#x3001;&#x89C6;&#x89C9;&#x8D28;&#x91CF;&#x3001;&#x7EC6;&#x8282;&#x8868;&#x73B0;&#x548C;&#x8F93;&#x51FA;&#x591A;&#x6837;&#x6027;&#x3002;&#x9002;&#x7528;&#x4E8E;&#x5546;&#x4E1A;&#x548C;&#x4F01;&#x4E1A;&#x7EA7;&#x5E94;&#x7528;&#x3002;</li>
<li><strong>FLUX.1 [dev]</strong> &#xFF1A;&#x662F; FLUX.1 [pro] &#x7684;&#x84B8;&#x998F;&#x7248;&#x672C;&#xFF0C;&#x5F00;&#x6E90;&#x4F46;&#x4E0D;&#x53EF;&#x5546;&#x7528;&#xFF0C;&#x9002;&#x5408;&#x975E;&#x5546;&#x4E1A;&#x5E94;&#x7528;&#xFF0C;&#x81F3;&#x5C11;&#x9700;&#x8981;24G&#x663E;&#x5B58;&#x8FD0;&#x884C;&#x3002;</li>
<li><strong>FLUX.1 [schnell]</strong> &#xFF1A;&#x6700;&#x5FEB;&#x901F;&#x7684;&#x672C;&#x5730;&#x5F00;&#x53D1;&#x548C;&#x4E2A;&#x4EBA;&#x4F7F;&#x7528;&#x6A21;&#x578B;&#xFF0C;&#x6709;120&#x4EBF;&#x53C2;&#x6570;&#xFF0C;&#x5B8C;&#x5168;&#x5F00;&#x6E90;&#xFF08;Apache2.0&#x8BB8;&#x53EF;&#xFF09;&#x3002;&#x548C;FLUX.1 [dev]&#x4E00;&#x6837;&#xFF0C;&#x6743;&#x91CD;&#x53EF;&#x5728; Hugging Face&#x4E0A;&#x83B7;&#x53D6;&#xFF0C;&#x5E76;&#x652F;&#x6301; ComfyUI &#x7684;&#x96C6;&#x6210;&#x3002;</li>
</ul>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241008202232904.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<h2 id="%E4%BA%8C%E3%80%81%E8%8E%B7%E5%8F%96-flux-%E5%85%8D%E8%B4%B9-api">&#x4E8C;&#x3001;&#x83B7;&#x53D6; Flux &#x514D;&#x8D39; API</h2>
<p>&#x76EE;&#x524D;&#x5E02;&#x9762;&#x4E0A;&#x6709;&#x5F88;&#x591A;&#x5382;&#x5546;&#x90FD;&#x63D0;&#x4F9B; Flux &#x7684; API &#x63A5;&#x53E3;&#xFF0C;&#x9488;&#x5BF9; <code>FLUX.1 [schnell]</code> &#x6A21;&#x578B;&#xFF0C;&#x56E0;&#x4E3A;&#x6A21;&#x578B;&#x5C0F;&#xFF0C;&#x6709;&#x4E00;&#x4E9B;&#x5382;&#x5546;&#x63D0;&#x4F9B;&#x4E86;&#x514D;&#x8D39;&#x7684; API &#x989D;&#x5EA6;&#x3002;&#x4E0B;&#x9762;&#x4E24;&#x4E2A;&#x5382;&#x5546;&#x90FD;&#x53EA;&#x9700;&#x8981;&#x7B80;&#x5355;&#x6CE8;&#x518C;&#x5373;&#x53EF;&#x4F7F;&#x7528;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x7ED1;&#x5B9A;&#x4EFB;&#x4F55;&#x4FE1;&#x7528;&#x5361;&#x4FE1;&#x606F;&#xFF0C;&#x6240;&#x4EE5;&#x4F5C;&#x4E3A;&#x63A8;&#x8350;&#x3002;</p>
<ul>
<li>
<p>&#x7845;&#x57FA;&#x6D41;&#x52A8;&#x63D0;&#x4F9B;&#x4E86;&#x6BCF;&#x5206;&#x949F;&#x8C03;&#x7528; 2 &#x6B21;&#xFF0C;&#x6BCF;&#x5929; 400 &#x6B21;&#x7684;&#x514D;&#x8D39;&#x989D;&#x5EA6;&#xFF08;IPM=2 IPD=400&#xFF09;&#x3002;[2]</p>
</li>
<li>
<p>Together.ai &#x63D0;&#x4F9B;&#x4E86;&#x6BCF;&#x5206;&#x949F;&#x8C03;&#x7528; 10 &#x6B21;&#x7684;&#x514D;&#x8D39;&#x989D;&#x5EA6;&#xFF08;10 img/min&#xFF09;&#x3002;[3]</p>
</li>
</ul>
<p>&#x540E;&#x9762;&#x6211;&#x4F1A;&#x5229;&#x7528;&#x7845;&#x57FA;&#x6D41;&#x52A8;&#x8FDB;&#x884C;&#x6F14;&#x793A;&#xFF0C;&#x5176;&#x4ED6;&#x5382;&#x5546;&#x7684;&#x5BF9;&#x63A5;&#x6B65;&#x9AA4;&#x5927;&#x540C;&#x5C0F;&#x5F02;&#x3002;</p>
<h3 id="siliconflow">Siliconflow</h3>
<p>&#x7845;&#x57FA;&#x6D41;&#x52A8;&#xFF08;Siliconflow&#xFF09;&#x662F;&#x4E00;&#x5BB6;&#x5317;&#x4EAC;&#x516C;&#x53F8;&#xFF0C;SiliconCloud &#x5E73;&#x53F0;&#x63D0;&#x4F9B;&#x6A21;&#x578B;&#x4E91;&#x670D;&#x52A1;&#x3002;&#x5E73;&#x53F0;&#x4E0A;&#x63D0;&#x4F9B;&#x4E86;&#x591A;&#x79CD;&#x5F00;&#x6E90;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x548C;&#x56FE;&#x50CF;&#x751F;&#x6210;&#x6A21;&#x578B;&#xFF0C;&#x5305;&#x62EC; Qwen2.5&#x3001;DeepSeek-V2.5&#x3001;Llama-3.1&#x7B49;&#x3002;&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x514D;&#x8D39;&#x4F7F;&#x7528;&#x90E8;&#x5206;&#x53C2;&#x6570;&#x8F83;&#x5C0F;&#x7684;&#x6A21;&#x578B;&#xFF0C;&#x4F8B;&#x5982; Qwen2.5&#xFF08;7B&#xFF09;&#x3001;Llama3.1&#xFF08;8B&#xFF09;&#x3001;FLUX.1-schnell &#x7B49;&#x591A;&#x4E2A;&#x6A21;&#x578B;&#x7684; API &#x53EF;&#x4EE5;&#x514D;&#x8D39;&#x4F7F;&#x7528;&#xFF08;&#x6709;&#x9650;&#x901F;&#xFF09;&#x3002;</p>
<p>&#x8FD9;&#x91CC;&#x4E0D;&#x6F14;&#x793A;&#x8D26;&#x53F7;&#x6CE8;&#x518C;&#x8FC7;&#x7A0B;&#xFF0C;&#x6CE8;&#x518C;&#x4E4B;&#x540E;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5B98;&#x7F51;&#x63D0;&#x4F9B;&#x7684;&#x754C;&#x9762;&#x76F4;&#x63A5;&#x4F53;&#x9A8C;&#x5404;&#x4E2A;&#x6A21;&#x578B;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x4E0B;&#x9762;&#x4F7F;&#x7528; <code>FLUX.1 [schnell]</code> &#x6A21;&#x578B;&#x8FDB;&#x884C;&#x7ED8;&#x56FE;&#x3002;[4]</p>
<p>&#x6A21;&#x578B; <code>FLUX.1 [schnell]</code> &#xFF0C;&#x63D0;&#x793A;&#x8BCD;&#x201C;Kung Fu Panda holds a &quot;Dify with Flux&quot; banner, Pixar style.&#x201D;&#xFF0C;&#x56FE;&#x7247;&#x6BD4;&#x4F8B;16:9&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241008213310901.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x70B9;&#x51FB;&#x9875;&#x9762;&#x5DE6;&#x4FA7;&#x201C;API&#x79D8;&#x94A5;&#x201D;&#xFF0C;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x79D8;&#x94A5;&#xFF0C;&#x540E;&#x7EED; Dify &#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;&#x9700;&#x8981;&#x8C03;&#x7528;&#x8FD9;&#x4E2A;&#x79D8;&#x94A5;&#x4FE1;&#x606F;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241008215429313.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<h3 id="togetherai">Together.ai</h3>
<p>Together.ai &#x662F;&#x4E00;&#x5BB6;&#x6210;&#x7ACB;&#x4E8E;2022&#x5E74;6&#x6708;&#xFF0C;&#x603B;&#x90E8;&#x4F4D;&#x4E8E;&#x7F8E;&#x56FD;&#x7845;&#x8C37;&#x7684;&#x5F00;&#x6E90;&#x751F;&#x6210;&#x5F0F;&#x4EBA;&#x5DE5;&#x667A;&#x80FD;&#x5E73;&#x53F0;&#x3002;&#x76EE;&#x524D;&#x7684;&#x5185;&#x5BB9;&#x4E3B;&#x8981;&#x662F;&#x5F00;&#x53D1;&#x53BB;&#x4E2D;&#x5FC3;&#x5316;&#x7684;AI&#x6280;&#x672F;&#xFF0C;&#x63D0;&#x4F9B;&#x5F00;&#x6E90;&#x7684;AI&#x6A21;&#x578B;&#x3002;&#x4E3A;&#x5404;&#x79CD;&#x5927;&#x6A21;&#x578B;&#x63D0;&#x4F9B;&#x4E86;&#x7EDF;&#x4E00;&#x7684;API&#x63A5;&#x5165;&#xFF0C;&#x5305;&#x62EC;&#x6587;&#x672C;&#x751F;&#x6210;&#x548C;&#x4EE3;&#x7801;&#x751F;&#x6210;&#x6A21;&#x578B;&#x3002;&#x5176;&#x4E2D;<code>FLUX.1 [schnell]</code> &#x6A21;&#x578B;&#x53EF;&#x4EE5;&#x514D;&#x8D39;&#x4F7F;&#x7528;&#x3002;</p>
<p>&#x8FD9;&#x91CC;&#x4E0D;&#x6F14;&#x793A;&#x8D26;&#x53F7;&#x7684;&#x6CE8;&#x518C;&#x8FC7;&#x7A0B;&#xFF0C;&#x6CE8;&#x518C;&#x4E4B;&#x540E;&#xFF0C;&#x5382;&#x5546;&#x4F1A;&#x8D60;&#x9001;5&#x7F8E;&#x5143;&#x7684;&#x989D;&#x5EA6;&#xFF0C;&#x53EF;&#x4EE5;&#x4F53;&#x9A8C;&#x4E00;&#x4E9B;&#x4ED8;&#x8D39;&#x6A21;&#x578B;&#xFF0C;&#x4F8B;&#x5982;&#x8FD9;&#x91CC;&#x4F7F;&#x7528;<code>FLUX.1.1 [pro]</code>&#x6A21;&#x578B;&#x7ED8;&#x56FE;&#x6D4B;&#x8BD5;&#xFF0C;&#x8FD9;&#x4E2A;&#x6A21;&#x578B;&#x7684;&#x4EF7;&#x683C;&#x662F;&#x6BCF;&#x5F20;&#x56FE; 0.04 &#x7F8E;&#x5143;&#x3002;[5]</p>
<p>&#x6A21;&#x578B; <code>FLUX.1.1 [pro]</code> &#xFF0C;&#x63D0;&#x793A;&#x8BCD;&#x201C;Kung Fu Panda holds a &quot;Dify with Flux&quot; banner, Pixar style.&#x201D;&#xFF0C;&#x50CF;&#x7D20;&#x201C;1024x576&#x201D;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241008211323926.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<h2 id="%E4%B8%89%E3%80%81dify-%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7">&#x4E09;&#x3001;Dify &#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;</h2>
<p>Dify &#x6CA1;&#x6709; FLUX &#x7ED8;&#x56FE;&#x7684;&#x63D2;&#x4EF6;&#xFF0C;&#x8FD9;&#x91CC;&#x6F14;&#x793A;&#x4E00;&#x4E0B;&#x5982;&#x4F55;&#x81EA;&#x5B9A;&#x4E49; FLUX &#x7684;&#x7ED8;&#x56FE;&#x63D2;&#x4EF6;&#x3002;</p>
<p>&#x67E5;&#x770B;&#x6A21;&#x578B; <code>FLUX.1 [schnell]</code>&#x7684;API&#x6587;&#x6863;&#xFF0C;&#x62F7;&#x8D1D;&#x8FD9;&#x4E2A;&#x8BF7;&#x6C42;&#x683C;&#x5F0F;&#xFF0C;&#x590D;&#x5236;&#x7ED9;ChatGPT&#xFF0C;&#x8BA9;&#x5199;&#x4E00;&#x4E2A;&#x5BF9;&#x5E94;&#x7684; OpenAPI Schema&#x3002;[6]<img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009091154057.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x5199;&#x7ED9; ChatGPT &#x7684; Prompt&#x3002;</p>
<pre><code>curl --request POST \
     --url https://api.siliconflow.cn/v1/black-forest-labs/FLUX.1-schnell/text-to-image \
     --header &apos;accept: application/json&apos; \
     --header &apos;content-type: application/json&apos; \
     --data &apos;
{
  &quot;prompt&quot;: &quot;an island near sea, with seagulls, moon shining over the sea, light house, boats int he background, fish flying over the sea&quot;,
  &quot;image_size&quot;: &quot;768x1024&quot;,
  &quot;num_inference_steps&quot;: 20
}

&#x57FA;&#x4E8E;&#x4E0A;&#x9762;&#x7684;&#x5185;&#x5BB9;&#xFF0C;&#x5199;&#x4E00;&#x4E2A;OpenAPI Schema
</code></pre>
<p>ChatGPT &#x7684;&#x56DE;&#x590D;&#xFF0C;&#x540E;&#x7EED;&#x590D;&#x5236;&#x5230; Dify &#x7684;&#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;&#x4E2D;&#x53BB;&#x3002;</p>
<pre><code>openapi: 3.0.3
info:
  title: FLUX.1 Schnell Text-to-Image API
  description: This API generates images based on a text prompt.
  version: 1.0.0
servers:
  - url: https://api.siliconflow.cn/v1/black-forest-labs
    description: Production Server
paths:
  /FLUX.1-schnell/text-to-image:
    post:
      summary: Generate an image from a text prompt
      operationId: generateImage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                  description: The text prompt to generate the image.
                  example: an island near sea, with seagulls, moon shining over the sea, light house, boats in the background, fish flying over the sea
                image_size:
                  type: string
                  description: The desired size of the generated image.
                  example: 768x1024
                num_inference_steps:
                  type: integer
                  description: The number of inference steps for generating the image.
                  example: 20
      responses:
        &apos;200&apos;:
          description: Image generated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  image_url:
                    type: string
                    description: URL of the generated image
                    example: https://api.siliconflow.cn/v1/black-forest-labs/images/generated-image-12345.png
        &apos;400&apos;:
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                    example: Invalid prompt or parameters
      headers:
        accept:
          description: Accepted response format
          required: true
          schema:
            type: string
            example: application/json
        content-type:
          description: Content type of the request
          required: true
          schema:
            type: string
            example: application/json
</code></pre>
<p>&#x5728; Dify &#x5E73;&#x53F0;&#x4E0A;&#xFF0C;&#x70B9;&#x51FB;&#x201C;&#x521B;&#x5EFA;&#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;&#x201D;&#xFF0C;&#x8BBE;&#x7F6E;&#x5DE5;&#x5177;&#x7684;&#x540D;&#x79F0;&#xFF0C;&#x590D;&#x5236; ChatGPT &#x56DE;&#x590D;&#x7684; OpenAPI Schema&#xFF0C;&#x70B9;&#x51FB;&#x201C;&#x6D4B;&#x8BD5;&#x201D;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009091620726.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x8BBE;&#x7F6E;<code>API Key</code>&#x65B9;&#x5F0F;&#x6388;&#x6743;&#xFF0C;&#x524D;&#x7F00;&#x8BBE;&#x7F6E;&#x4E3A;<code>Bearer</code>&#xFF0C;&#x8F93;&#x5165;&#x7845;&#x57FA;&#x6D41;&#x52A8;&#x521B;&#x5EFA;&#x7684;API Key&#x503C;&#xFF0C;&#x70B9;&#x51FB;&#x201C;&#x4FDD;&#x5B58;&#x201D;&#xFF08;&#x6B64; API &#x6211;&#x5DF2;&#x7ECF;&#x5220;&#x9664;&#xFF09;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009090457294.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x8F93;&#x5165;&#x63D0;&#x793A;&#x8BCD;&#xFF0C;&#x5206;&#x8FA8;&#x7387;&#x548C;&#x63A8;&#x7406;&#x6B65;&#x6570;&#x8FDB;&#x884C;&#x6D4B;&#x8BD5;&#xFF0C;&#x67E5;&#x770B;&#x8FD4;&#x56DE;&#x7684;&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;&#x3002;&#x6D4B;&#x8BD5;&#x6210;&#x529F;&#xFF0C;&#x8FD4;&#x56DE;&#x4E86;&#x56FE;&#x7247;&#x7684;URL&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009090502874.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x62F7;&#x8D1D;&#x8FD9;&#x4E2A;&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;&#xFF0C;&#x540E;&#x7EED;&#x4F1A;&#x5199;&#x4E00;&#x4E2A;Python&#x4EE3;&#x7801;&#xFF0C;&#x89E3;&#x6790;&#x8FD9;&#x4E2A;&#x7ED3;&#x679C;&#x4E2D;&#x7684; URL &#x94FE;&#x63A5;&#xFF0C;&#x8F6C;&#x6362;&#x6210; Markdown &#x683C;&#x5F0F;&#xFF0C;&#x65B9;&#x4FBF; Dify &#x76F4;&#x63A5;&#x663E;&#x793A;&#x56FE;&#x7247;&#x3002;</p>
<pre><code>{&quot;images&quot;: [{&quot;url&quot;: &quot;https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/8c4ecc9a-ccc6-4c01-9f72-874ed33e7125_0.png&quot;}], &quot;timings&quot;: {&quot;inference&quot;: 1.851}, &quot;seed&quot;: 966716722, &quot;shared_id&quot;: &quot;0&quot;}
</code></pre>
<h2 id="%E5%9B%9B%E3%80%81dify-%E5%88%9B%E5%BB%BA-ai-%E7%BB%98%E5%9B%BE%E5%B7%A5%E4%BD%9C%E6%B5%81">&#x56DB;&#x3001;Dify &#x521B;&#x5EFA; AI &#x7ED8;&#x56FE;&#x5DE5;&#x4F5C;&#x6D41;</h2>
<p>&#x4E0B;&#x9762;&#x5728; Dify &#x4E2D;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x5DE5;&#x4F5C;&#x6D41;&#xFF0C;&#x6211;&#x5E0C;&#x671B;&#x8F93;&#x5165;&#x63D0;&#x793A;&#x8BCD;&#x548C;&#x56FE;&#x7247;&#x5206;&#x8FA8;&#x7387;&#x540E;&#xFF0C;&#x5C31;&#x76F4;&#x63A5;&#x63A5;&#x8FD4;&#x56DE;&#x56FE;&#x7247;&#x7ED3;&#x679C;&#x3002;</p>
<p>&#x8FD9;&#x91CC;&#x4E00;&#x4E0B;&#x8FD9;&#x4E2A;&#x5DE5;&#x4F5C;&#x6D41;&#x7684;&#x8BBE;&#x8BA1;&#x601D;&#x8DEF;&#x3002;&#x8BBE;&#x8BA1;&#x6709;&#x4E24;&#x4E2A;&#x53D8;&#x91CF;&#x662F;&#x5FC5;&#x987B;&#x8981;&#x63D0;&#x4F9B;&#x7684;&#xFF0C;&#x5206;&#x522B;&#x662F;Prompt&#xFF08;&#x63D0;&#x793A;&#x8BCD;&#xFF09;&#x548C;image_size&#xFF08;&#x56FE;&#x7247;&#x5206;&#x8FA8;&#x7387;&#xFF09;&#x3002;</p>
<p>&#x53E6;&#x5916;&#x8FD8;&#x6DFB;&#x52A0;&#x4E86;&#x4E00;&#x4E2A;&#x53EF;&#x9009;&#x53C2;&#x6570;optimize_prompt&#xFF08;&#x63D0;&#x793A;&#x8BCD;&#x4F18;&#x5316;&#xFF09;&#xFF0C;&#x8FD9;&#x4E2A;&#x53C2;&#x6570;&#x6709;&#x4E24;&#x4E2A;&#x9009;&#x9879;On&#x6216;&#x8005;Off&#xFF0C;&#x5982;&#x679C;&#x9009;&#x62E9;&#x4E86;On&#xFF0C;&#x4F1A;&#x5BF9;&#x63D0;&#x793A;&#x8BCD;&#x8FDB;&#x884C;&#x4F18;&#x5316;&#xFF0C;&#x4F1A;&#x4E30;&#x5BCC;&#x63D0;&#x793A;&#x8BCD;&#x7684;&#x7EC6;&#x8282;&#x3002;</p>
<p>&#x5982;&#x679C;&#x4E0D;&#x9009;&#x62E9;&#x8FD9;&#x4E2A;&#x53C2;&#x6570;&#xFF0C;&#x6216;&#x8005;&#x9009;&#x62E9;&#x4E3A;Off&#xFF0C;&#x4F1A;&#x5229;&#x7528;GPT4o-mini&#x6A21;&#x578B;&#x7FFB;&#x8BD1;&#x63D0;&#x793A;&#x8BCD;&#xFF0C;&#x63D0;&#x793A;&#x8BCD;&#x662F;&#x82F1;&#x6587;&#x4FDD;&#x6301;&#x539F;&#x6587;&#xFF0C;&#x63D0;&#x793A;&#x8BCD;&#x662F;&#x4E2D;&#x6587;&#x4F1A;&#x76F4;&#x63A5;&#x7FFB;&#x8BD1;&#x6210;&#x82F1;&#x6587;&#x3002;<strong>Flux &#x7684;&#x63D0;&#x793A;&#x8BCD;&#x5BF9;&#x4E2D;&#x6587;&#x652F;&#x6301;&#x4E0D;&#x53CB;&#x597D;&#xFF0C;&#x6240;&#x4EE5;&#x9700;&#x8981;&#x7FFB;&#x8BD1;&#x4E3A;&#x82F1;&#x6587;</strong>&#xFF0C;&#x8FD9;&#x91CC;&#x662F;&#x7528;GPT4o-mini&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x7FFB;&#x8BD1;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x5176;&#x4ED6;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x7FFB;&#x8BD1;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009100507748.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x4E0B;&#x9762;&#x662F;LLM1&#x7684;&#x63D0;&#x793A;&#x8BCD;&#xFF0C;&#x7528;&#x4E8E;&#x4F18;&#x5316;&#x8F93;&#x5165;&#x7684;&#x63D0;&#x793A;&#x8BCD;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009155857826.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<pre><code>You are tasked with expanding prompts for image generation. Your goal is to enhance the input prompt by adding more details, refining context, or specifying elements to make it more vivid and specific. Here are the detailed requirements:

1. Identify core elements: Determine the key components of the original prompt. These typically include subjects, actions, scene settings, and emotional tones.
2. Enrich with specific details: Add descriptive details to each element, considering the five senses (sight, sound, smell, touch, taste), as well as color, texture, and emotions.
3. Build scenes and imagery: Create scenes by describing the environment, time, or background elements. This helps create a more immersive experience.
4. Use modifiers for enhanced effect: Employ adjectives to vividly describe nouns, and adverbs to precisely modify verbs. This makes the prompt more engaging.
5. Incorporate action and interaction: Where appropriate, describe events taking place in the scene, how characters interact, or the emotional atmosphere permeating the environment.
6. Maintain overall coherence: Ensure the expanded prompt flows naturally and consistently revolves around the original concept.
7. Output the prompt in English: If the content within the {{#1724416537387.Prompt#}} tag is in Chinese, translate it into an English prompt.
Here&apos;s an example of prompt expansion:
Original prompt: &quot;Forest at sunrise.&quot;
Expanded prompt: &quot;In the heart of an ancient forest, the first light of dawn filters through the dense canopy, casting a golden glow on the dewy moss-covered ground. Tall, towering trees, their bark rough and weathered, stand like silent sentinels as a soft mist curls around their roots. The air is crisp and filled with the earthy scent of pine needles, and the distant call of a waking bird echoes through the tranquil morning.&quot;

The prompt to be expanded is:
{{#1724416537387.Prompt#}}
</code></pre>
<p>&#x4E0B;&#x9762;&#x662F; LLM2 &#x7684;&#x63D0;&#x793A;&#x8BCD;&#xFF0C;&#x7528;&#x4E8E;&#x7FFB;&#x8BD1;&#x7528;&#x6237;&#x63D0;&#x4F9B;&#x7684;&#x4E2D;&#x6587;&#x63D0;&#x793A;&#x8BCD;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009155910726.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<pre><code>&lt;xml&gt;
    {{#1724416537387.Prompt#}}
&lt;/xml&gt;

If the content within the XML tags is in Chinese, translate it to English. If it is already in English, retain the original text.
</code></pre>
<p>&#x7136;&#x540E;&#x8FDB;&#x5165;&#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;&#xFF0C;&#x8282;&#x70B9;&#x8F93;&#x5165;&#x7684;prompt&#x53D8;&#x91CF;&#x6765;&#x81EA; LLM &#x7FFB;&#x8BD1;&#x540E;&#x7684;&#x63D0;&#x793A;&#x8BCD;&#xFF0C;image_size&#x6765;&#x81EA;&#x6700;&#x5F00;&#x59CB;&#x9009;&#x62E9;&#x7684;&#x56FE;&#x7247;&#x5C3A;&#x5BF8;&#xFF0C;inference_steps &#x8FD9;&#x91CC;&#x8BBE;&#x7F6E;&#x4E3A;&#x56FA;&#x5B9A;&#x7684;&#x503C;&#xFF0C;&#x4E0D;&#x7528;&#x7528;&#x6237;&#x586B;&#x5199;&#x3002;&#x8FD9;&#x4E2A;&#x5DE5;&#x5177;&#x4F1A;&#x8F93;&#x51FA;3&#x4E2A;&#x53D8;&#x91CF;&quot;text&quot;&#x3001;&#x201C;files&#x201D;&#x548C;&#x201C;json&#x201D;&#xFF0C;&#x5176;&#x4E2D;&quot;text&quot;&#x8F93;&#x51FA;&#x7684;&#x503C;&#x5C31;&#x662F;&#x7845;&#x57FA;&#x6D41;&#x52A8;&#x8FD4;&#x56DE;&#x7684;&#x54CD;&#x5E94;&#x5185;&#x5BB9;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009155932447.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x4E0B;&#x9762;&#x662F;&#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;&#x8F93;&#x51FA;&#x7684;&#x5B8C;&#x6574;&#x5B57;&#x6BB5;&#x3002;</p>
<pre><code>{
  &quot;text&quot;: &quot;{\&quot;images\&quot;: [{\&quot;url\&quot;: \&quot;https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/a0616193-e0c4-4fa5-9505-5c8d5f155d2a_0.png\&quot;}], \&quot;timings\&quot;: {\&quot;inference\&quot;: 1.778}, \&quot;seed\&quot;: 868267842, \&quot;shared_id\&quot;: \&quot;0\&quot;}&quot;,
  &quot;files&quot;: [],
  &quot;json&quot;: []
}
</code></pre>
<p>&#x6211;&#x5E0C;&#x671B;&#x8FD9;&#x4E2A;&#x5E94;&#x7528;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#x56FE;&#x7247;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x8FD4;&#x56DE;&#x56FE;&#x7247;&#x7684; URL &#x7136;&#x540E;&#x518D;&#x70B9;&#x51FB;&#x94FE;&#x63A5;&#x3002;Dify&#x652F;&#x6301; Markdown &#x683C;&#x5F0F;&#x7684;&#x56FE;&#x7247;&#x683C;&#x5F0F;&#xFF0C;&#x6240;&#x4EE5;&#x9700;&#x8981;&#x7528;&#x4E00;&#x4E2A;&#x811A;&#x672C;&#x5BF9;&#x8F93;&#x51FA;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x8FDB;&#x884C;&#x8F6C;&#x6362;&#xFF0C;&#x89E3;&#x6790;&#x51FA;&#x5BF9;&#x5E94;&#x7684;&#x56FE;&#x7247; URL&#xFF0C;&#x8F6C;&#x6362;&#x4E3A; Markdown &#x683C;&#x5F0F;&#x3002;&#x8FD9;&#x91CC;&#x4EE3;&#x7801;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;&#x8F93;&#x51FA;&#x53D8;&#x91CF;&#x662F;&#x952E;&#x4E3A;&quot;arg1&quot;&#xFF0C;&#x503C;&#x4E3A;&#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;&#x8F93;&#x51FA;&#x7684;&quot;text&quot;&#x5B57;&#x7B26;&#x4E32;&#x3002;&#x4E0B;&#x9762;&#x662F;&#x4EE3;&#x7801;&#x6267;&#x884C;&#x8282;&#x70B9;&#x7684;&#x8F93;&#x5165;&#x5B57;&#x7B26;&#x4E32;&#xFF1A;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009160125121.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x5BF9;&#x4E8E;&#x4EE3;&#x7801;&#x6267;&#x884C;&#x8282;&#x70B9;&#x800C;&#x8A00;&#xFF0C;&#x4E0B;&#x9762;&#x662F;&#x8F93;&#x5165;&#x7684;&#x4FE1;&#x606F;&#xFF1A;</p>
<pre><code>{
  &quot;arg1&quot;: &quot;{\&quot;images\&quot;: [{\&quot;url\&quot;: \&quot;https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/a0616193-e0c4-4fa5-9505-5c8d5f155d2a_0.png\&quot;}], \&quot;timings\&quot;: {\&quot;inference\&quot;: 1.778}, \&quot;seed\&quot;: 868267842, \&quot;shared_id\&quot;: \&quot;0\&quot;}&quot;
}
</code></pre>
<p>&#x8FD9;&#x91CC;python&#x4EE3;&#x7801;&#xFF0C;&#x7528;&#x4E0E;&#x4ECE;&#x4E0A;&#x9762;&#x7684;&#x4FE1;&#x606F;&#x4E2D;&#x89E3;&#x6790;&#x51FA;&#x56FE;&#x7247;&#x7684; URL&#xFF0C;&#x5E76;&#x8FD4;&#x56DE; Markdown &#x683C;&#x5F0F;&#x7684;&#x56FE;&#x7247;&#x5730;&#x5740;&#x3002;</p>
<pre><code class="language-python">import json

def main(arg1):
    # &#x89E3;&#x6790;&#x8F93;&#x5165;&#x7684; JSON &#x5B57;&#x7B26;&#x4E32;
    data = json.loads(arg1)
    
    # &#x4ECE;&#x89E3;&#x6790;&#x540E;&#x7684;&#x6570;&#x636E;&#x4E2D;&#x63D0;&#x53D6;&#x56FE;&#x7247; URL
    image_url = data[&apos;images&apos;][0][&apos;url&apos;]
    
    # &#x6784;&#x5EFA; Markdown &#x683C;&#x5F0F;&#x7684;&#x56FE;&#x7247;&#x94FE;&#x63A5;
    markdown_image = f&quot;![Image]({image_url})&quot;
    
    return {
        &quot;result&quot;: markdown_image
    }
</code></pre>
<p>&#x6309;&#x7167;&#x4E0A;&#x9762;&#x7684;&#x601D;&#x8DEF;&#xFF0C;&#x53EF;&#x4EE5;&#x6784;&#x5EFA;&#x5176;&#x4ED6;&#x7684; AI &#x7ED8;&#x56FE;&#x5DE5;&#x4F5C;&#x6D41;&#xFF0C;&#x57FA;&#x672C;&#x6B65;&#x9AA4;&#x4E00;&#x81F4;&#x3002;&#x53EA;&#x9700;&#x8981;&#x67E5;&#x770B;&#x5176;&#x4ED6;&#x5382;&#x5546;&#x7684;&#x8BF7;&#x6C42; API&#xFF0C;&#x5229;&#x7528; ChatGPT &#x8F6C;&#x6362;&#x4E3A; OpenAPI Schema&#xFF0C;&#x7136;&#x540E;&#x5C06;&#x8F93;&#x51FA;&#x4FE1;&#x606F;&#x89E3;&#x6790;&#x4E3A; Markdown &#x683C;&#x5F0F;&#x56FE;&#x7247;&#x94FE;&#x63A5;&#x5373;&#x53EF;&#x3002;</p>
<h2 id="%E4%BA%94%E3%80%81flux-ai-%E7%BB%98%E5%9B%BE%E5%BA%94%E7%94%A8%E6%B5%8B%E8%AF%95">&#x4E94;&#x3001;Flux AI &#x7ED8;&#x56FE;&#x5E94;&#x7528;&#x6D4B;&#x8BD5;</h2>
<p>&#x4E0B;&#x9762;&#x6D4B;&#x8BD5;&#x4E00;&#x4E0B;&#x8FD9;&#x4E2A; AI &#x7ED8;&#x56FE;&#x5E94;&#x7528;&#xFF0C;&#x8F93;&#x5165;&#x63D0;&#x793A;&#x8BCD;&#x201C;Kung Fu Panda holds a &quot;Dify with Flux&quot; banner, Pixar style.&#x201D;&#xFF0C;&#x56FE;&#x7247;&#x5206;&#x8FA8;&#x7387;&#x201C;1024x576&#x201D;&#xFF0C;&#x5173;&#x95ED;&#x63D0;&#x793A;&#x8BCD;&#x4F18;&#x5316;&#x6216;&#x8005;&#x4FDD;&#x6301;&#x4E3A;&#x7A7A;&#xFF0C;&#x70B9;&#x51FB;&#x8FD0;&#x884C;&#xFF0C;Dify &#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x663E;&#x793A;&#x751F;&#x6210;&#x7684;&#x56FE;&#x7247;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009160356255.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<p>&#x70B9;&#x51FB;&#x8BE6;&#x60C5;&#x53EF;&#x4EE5;&#x67E5;&#x770B;&#x8F93;&#x51FA;&#x7684; Markdown &#x683C;&#x5F0F;&#x7684;&#x56FE;&#x7247;&#x94FE;&#x63A5;&#x4FE1;&#x606F;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-flux-drawing-app/image-20241009160406006.png" alt="Dify &#x521B;&#x5EFA; Flux AI &#x514D;&#x8D39;&#x7ED8;&#x56FE;&#x5E94;&#x7528;" loading="lazy"></p>
<h2 id="%E5%85%AD%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x516D;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li><strong>[1] Announcing Black Forest Labs:</strong> <a href="https://blackforestlabs.ai/announcing-black-forest-labs/?ref=liuqianglong.com">https://blackforestlabs.ai/announcing-black-forest-labs/</a></li>
<li><strong>[2] &#x7845;&#x57FA;&#x6D41;&#x52A8;&#x901F;&#x7387;&#x9650;&#x5236;:</strong> <a href="https://docs.siliconflow.cn/rate-limits/rate-limit-and-upgradation?ref=liuqianglong.com#2-1">https://docs.siliconflow.cn/rate-limits/rate-limit-and-upgradation#2-1</a></li>
<li><strong>[3] Together.ai &#x901F;&#x7387;&#x9650;&#x5236;:</strong> <a href="https://docs.together.ai/docs/rate-limits?ref=liuqianglong.com">https://docs.together.ai/docs/rate-limits</a></li>
<li><strong>[4] &#x7845;&#x57FA;&#x6D41;&#x52A8;&#x6587;&#x751F;&#x56FE;&#x4F53;&#x9A8C;:</strong> <a href="https://cloud.siliconflow.cn/playground/text-to-image?ref=liuqianglong.com">https://cloud.siliconflow.cn/playground/text-to-image</a></li>
<li><strong>[5] Together.ai &#x6587;&#x751F;&#x56FE;&#x4F53;&#x9A8C;:</strong> <a href="https://api.together.ai/playground/image/black-forest-labs/FLUX.1.1-pro?ref=liuqianglong.com">https://api.together.ai/playground/image/black-forest-labs/FLUX.1.1-pro</a></li>
<li><strong>[6] &#x7845;&#x57FA;&#x6D41;&#x52A8; FLUX.1-schnell &#x6A21;&#x578B; API:</strong> <a href="https://docs.siliconflow.cn/reference/imagegeneration?ref=liuqianglong.com">https://docs.siliconflow.cn/reference/imagegeneration</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[李沐交大讲座——大语言模型及个人成长分享]]></title><description><![CDATA[<p>&#x674E;&#x6C90;&#x5728;&#x4EA4;&#x5927;&#x5206;&#x4EAB;&#x4E86;&#x5173;&#x4E8E;&#x5927;&#x6A21;&#x578B;&#x7684;&#x5B9E;&#x8DF5;&#x7ECF;&#x9A8C;&#x548C;&#x672A;&#x6765;&#x7684;&#x9884;&#x6D4B;&#xFF0C;&#x4EE5;&#x53CA;&#x4E2A;&#x4EBA;&#x5DE5;&#x4F5C;&#x548C;&#x6210;&#x957F;&#x7684;&#x4E00;&#x4E9B;&#x7ECF;&#x9A8C;&#xFF0C;&#x611F;&#x89C9;&#x5F88;&#x6709;&#x6536;&#x8D27;&#xFF0C;&#x6458;&#x5F55;&#x4E86;</p>]]></description><link>https://liuqianglong.com/limu-ai-2/</link><guid isPermaLink="false">670488c5f97a56cdde1387e4</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Tue, 08 Oct 2024 01:21:07 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/10/limu-ai.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/10/limu-ai.png" alt="&#x674E;&#x6C90;&#x4EA4;&#x5927;&#x8BB2;&#x5EA7;&#x2014;&#x2014;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x53CA;&#x4E2A;&#x4EBA;&#x6210;&#x957F;&#x5206;&#x4EAB;"><p>&#x674E;&#x6C90;&#x5728;&#x4EA4;&#x5927;&#x5206;&#x4EAB;&#x4E86;&#x5173;&#x4E8E;&#x5927;&#x6A21;&#x578B;&#x7684;&#x5B9E;&#x8DF5;&#x7ECF;&#x9A8C;&#x548C;&#x672A;&#x6765;&#x7684;&#x9884;&#x6D4B;&#xFF0C;&#x4EE5;&#x53CA;&#x4E2A;&#x4EBA;&#x5DE5;&#x4F5C;&#x548C;&#x6210;&#x957F;&#x7684;&#x4E00;&#x4E9B;&#x7ECF;&#x9A8C;&#xFF0C;&#x611F;&#x89C9;&#x5F88;&#x6709;&#x6536;&#x8D27;&#xFF0C;&#x6458;&#x5F55;&#x4E86;&#x4E00;&#x4E9B;&#x91CD;&#x70B9;&#xFF0C;&#x611F;&#x5174;&#x8DA3;&#x53EF;&#x4EE5;&#x770B;&#x539F;&#x89C6;&#x9891;&#x3002;</p>
<blockquote>
<p><strong>&#x674E;&#x6C90;</strong>&#xFF1A;BosonAI&#x8054;&#x5408;&#x521B;&#x59CB;&#x4EBA;&#xFF0C;&#x524D;&#x4E9A;&#x9A6C;&#x900A;&#x9996;&#x5E2D;&#x79D1;&#x5B66;&#x5BB6;&#xFF0C;&#x66FE;&#x4EFB;AI&#x521B;&#x4E1A;&#x516C;&#x53F8;Marianas Labs CTO&#x3001;&#x767E;&#x5EA6;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x7814;&#x7A76;&#x9662;&#x4E3B;&#x4EFB;&#x7814;&#x53D1;&#x67B6;&#x6784;&#x5E08;&#x3002;</p>
</blockquote>
<h2 id="%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E7%9A%84%E7%8E%B0%E5%9C%A8%E5%92%8C%E7%9A%84%E6%9C%AA%E6%9D%A5">&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7684;&#x73B0;&#x5728;&#x548C;&#x7684;&#x672A;&#x6765;</h2>
<p><strong>&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7684;&#x6700;&#x6838;&#x5FC3;&#x7684;&#x4E09;&#x4E2A;&#x8981;&#x7D20;&#x662F;&#x7B97;&#x529B;&#x3001;&#x6570;&#x636E;&#x548C;&#x7B97;&#x6CD5;</strong>&#xFF1A;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x50CF;&#x70BC;&#x4E39;&#xFF0C;&#x6570;&#x636E;&#x5C31;&#x50CF;&#x70BC;&#x4E39;&#x6750;&#x6599;&#xFF0C;&#x7B97;&#x529B;&#x5C31;&#x50CF;&#x70BC;&#x4E39;&#x7089;&#x7B49;&#x8BBE;&#x5907;&#xFF0C;&#x7B97;&#x6CD5;&#x5C31;&#x50CF;&#x4E39;&#x65B9;&#x3002;&#x4EE5;&#x524D;&#x7684;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x5C31;&#x50CF;&#x4E00;&#x4E2A;&#x4E39;&#x5C31;&#x6CBB;&#x4E00;&#x4E2A;&#x75C5;&#xFF0C;&#x73B0;&#x5728;&#x5E0C;&#x671B;&#x4E3A;&#x4E39;&#x6CE8;&#x5165;&#x7075;&#x9B42;&#xFF0C;&#x89E3;&#x51B3;&#x5F88;&#x591A;&#x95EE;&#x9898;&#x3002;</p>
<p><strong>&#x5E26;&#x5BBD;</strong>&#xFF1A;&#x5E26;&#x5BBD;&#x662F;&#x6700;&#x96BE;&#x4E5F;&#x662F;&#x6700;&#x91CD;&#x8981;&#x7684;&#xFF0C;&#x5927;&#x6A21;&#x578B;&#x5206;&#x5E03;&#x5F0F;&#x8BAD;&#x7EC3;&#x9700;&#x8981;&#x901A;&#x8FC7;&#x5149;&#x7EA4;&#x8FDE;&#x63A5;&#xFF0C;&#x5149;&#x7EA4;&#x76EE;&#x524D;&#x5E26;&#x5BBD;&#x5728;400G&#x5DE6;&#x53F3;&#xFF0C;&#x4F1A;&#x6210;&#x4E3A;&#x74F6;&#x9888;&#xFF0C;&#x5149;&#x7EA4;&#x4F20;&#x8F93;&#x5EF6;&#x8FDF;&#x4E5F;&#x9700;&#x8981;&#x8003;&#x8651;&#x3002;&#x73B0;&#x5728;&#x7684;&#x8D8B;&#x52BF;&#x662F;&#x628A;GPU&#x653E;&#x5230;&#x4E00;&#x8D77;&#xFF0C;&#x8DDD;&#x79BB;&#x8DB3;&#x591F;&#x8FD1;&#xFF0C;&#x82F1;&#x4F1F;&#x8FBE;&#x7684;GB200&#x5C31;&#x662F;&#x8FD9;&#x4E2A;&#x601D;&#x8DEF;&#x3002;&#x5BC6;&#x96C6;&#x7684;GPU&#x4F1A;&#x5E26;&#x6765;&#x7535;&#x529B;&#x548C;&#x6563;&#x70ED;&#x95EE;&#x9898;&#xFF0C;&#x6563;&#x70ED;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x6C34;&#x51B7;&#xFF0C;&#x6C34;&#x51B7;&#x5BF9;&#x57FA;&#x5EFA;&#x6709;&#x66F4;&#x9AD8;&#x7684;&#x8981;&#x6C42;&#x3002;</p>
<p><strong>&#x5185;&#x5B58;</strong>&#xFF1A;&#x5185;&#x5B58;&#x6BD4;&#x7B97;&#x529B;&#x66F4;&#x5173;&#x952E;&#xFF0C;&#x5927;&#x6A21;&#x578B;&#x9700;&#x8981;&#x5927;&#x91CF;&#x5185;&#x5B58;&#x5904;&#x7406;&#x6570;&#x636E;&#x3002;&#x5F53;&#x524D;&#x5355;&#x82AF;&#x7247;&#x5185;&#x5B58;&#x7EA6; 192 GB&#xFF0C;&#x5185;&#x5B58;&#x4E0D;&#x591F;&#xFF0C;&#x6A21;&#x578B;&#x5C31;&#x505A;&#x4E0D;&#x5927;&#xFF0C;&#x6A21;&#x578B;&#x4E0A;&#x9650;&#x5C06;&#x4F9D;&#x8D56;&#x5185;&#x5B58;&#x7A81;&#x7834;&#x3002;</p>
<p><strong>&#x7B97;&#x529B;</strong></p>
<ul>
<li>&#x7B97;&#x529B;&#x63D0;&#x5347;&#x4E3B;&#x8981;&#x4F9D;&#x8D56;&#x6469;&#x5C14;&#x5B9A;&#x5F8B;&#xFF0C;&#x968F;&#x7740;&#x5DE5;&#x827A;&#x8FDB;&#x6B65;&#x548C;&#x6D6E;&#x70B9;&#x6570;&#x7CBE;&#x5EA6;&#x964D;&#x4F4E;&#xFF08;Int4&#x3001;Int8&#xFF09;&#xFF0C;&#x786C;&#x4EF6;&#x6548;&#x7387;&#x63D0;&#x5347;&#x3002;</li>
<li>&#x968F;&#x7740;&#x6A21;&#x578B;&#x66F4;&#x5927;&#x65F6;&#xFF0C;&#x4F9B;&#x7535;&#x6210;&#x4E3A;&#x5173;&#x952E;&#x95EE;&#x9898;&#xFF0C;&#x81EA;&#x5DF1;&#x505A;&#x6570;&#x636E;&#x4E2D;&#x5FC3;&#x65F6;&#xFF0C;&#x66FE;&#x7ECF;&#x8BA1;&#x7B97;&#x81EA;&#x5DF1;&#x9020;&#x4E00;&#x4E2A;&#x7535;&#x5382;&#x7684;&#x6210;&#x672C;&#x6BD4;&#x4ED8;&#x7684;&#x7535;&#x8D39;&#x6210;&#x672C;&#x8981;&#x4F4E;&#x3002;</li>
<li>&#x6A21;&#x578B;&#x5206;&#x4E3A;&#x8BAD;&#x7EC3;&#x548C;&#x63A8;&#x7406;&#x9636;&#x6BB5;&#xFF0C;&#x82F1;&#x4F1F;&#x8FBE;&#x5728;&#x8BAD;&#x7EC3;&#x82AF;&#x7247;&#x4E0A;&#x4ECD;&#x5904;&#x4E8E;&#x5784;&#x65AD;&#x5730;&#x4F4D;&#xFF0C;&#x63A8;&#x7406;&#x9636;&#x6BB5;&#x522B;&#x7684;&#x82AF;&#x7247;&#x8FD8;&#x53EF;&#x4EE5;&#x3002;</li>
<li>&#x5C3D;&#x7BA1;&#x63A8;&#x7406;&#x82AF;&#x7247;&#x6709;&#x66FF;&#x4EE3;&#x54C1;&#xFF0C;&#x82F1;&#x4F1F;&#x8FBE;&#x5728;&#x8BAD;&#x7EC3;&#x82AF;&#x7247;&#x4E0A;&#x4ECD;&#x5904;&#x4E8E;&#x5784;&#x65AD;&#x5730;&#x4F4D;&#x3002;&#x6A21;&#x578B;&#x8BAD;&#x7EC3;&#x6210;&#x672C;&#x4F1A;&#x968F;&#x65F6;&#x95F4;&#x4E0B;&#x964D;&#xFF0C;&#x56E0;&#x6B64;&#x5927;&#x6A21;&#x578B;&#x5E76;&#x975E;&#x957F;&#x671F;&#x6027;&#x4EF7;&#x6BD4;&#x6700;&#x9AD8;&#x7684;&#x9009;&#x62E9;&#xFF0C;&#x4F01;&#x4E1A;&#x9700;&#x5173;&#x6CE8;&#x6A21;&#x578B;&#x7684;&#x957F;&#x671F;&#x4EF7;&#x503C;&#x800C;&#x975E;&#x89C4;&#x6A21;&#x3002;</li>
</ul>
<p><strong>&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#xFF1A;</strong> OpenAI &#x6216;&#x522B;&#x7684;&#x5F00;&#x6E90;&#x6A21;&#x578B;&#xFF0C;&#x76EE;&#x524D;&#x57FA;&#x672C;&#x90FD;&#x662F;&#x7528;10T~50T Token &#x505A;&#x9884;&#x8BAD;&#x7EC3;&#x3002;&#x53EF;&#x80FD;&#x5F04;&#x5230;&#x66F4;&#x591A;&#x6570;&#x636E;&#xFF0C;&#x4F46;&#x662F;&#x6E05;&#x6D17;&#x4E4B;&#x540E;&#x53EF;&#x80FD;&#x8FD8;&#x662F;&#x56DE;&#x5230;&#x8FD9;&#x4E2A;&#x6570;&#x503C;&#xFF0C;&#x800C;&#x4E14;&#x66F4;&#x591A;&#x7684;&#x6570;&#x636E;&#x4E0D;&#x4E00;&#x5B9A;&#x5E26;&#x6765;&#x66F4;&#x597D;&#x7684;&#x63D0;&#x5347;&#x3002;</p>
<p><strong>&#x6A21;&#x578B;&#x5C3A;&#x5BF8;</strong>&#xFF1A;&#x672A;&#x6765;&#x4E3B;&#x6D41;&#x6A21;&#x578B;&#x5C06;&#x5728; 100B-500B &#x53C2;&#x6570;&#xFF0C;500B &#x4EE5;&#x4E0A;&#x6A21;&#x578B;&#x53EF;&#x4EE5;&#x8BAD;&#x7EC3;&#xFF0C;&#x4F46;&#x662F;&#x96BE;&#x4EE5;&#x63D0;&#x4F9B;&#x670D;&#x52A1;&#x3002;&#x4FDD;&#x6301;&#x5728;&#x8FD9;&#x4E2A;&#x8303;&#x56F4;&#xFF0C;MoE &#x867D;&#x53EF;&#x7528;&#x4E8E;&#x66F4;&#x5927;&#x6A21;&#x578B;&#xFF0C;&#x4F46;&#x6709;&#x6548;&#x6FC0;&#x6D3B;&#x89C4;&#x6A21;&#x4ECD;&#x5728; 500B &#x5DE6;&#x53F3;&#x3002;</p>
<p><strong>&#x5404;&#x9886;&#x57DF;AI&#x6A21;&#x578B;&#x53D1;&#x5C55;&#x6C34;&#x5E73;</strong></p>
<ul>
<li>&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF1A;&#x76EE;&#x524D;&#x5DF2;&#x7ECF;&#x8FBE;&#x5230;&#x8F83;&#x9AD8;&#x6C34;&#x5E73;&#xFF0C;&#x7EA6;&#x4E3A;80-85&#x5206;&#x3002;</li>
<li>&#x97F3;&#x9891;&#x6A21;&#x578B;&#xFF1A;&#x5DF2;&#x7ECF;&#x8FBE;&#x5230;&#x53EF;&#x7528;&#x6C34;&#x5E73;&#xFF0C;&#x8BC4;&#x5206;&#x5927;&#x7EA6;&#x5728;70-80&#x5206;&#x4E4B;&#x95F4;&#x3002;</li>
<li>&#x89C6;&#x9891;&#x751F;&#x6210;&#x6A21;&#x578B;&#xFF1A;&#x5C24;&#x5176;&#x662F;&#x751F;&#x6210;&#x5177;&#x6709;&#x7279;&#x5B9A;&#x529F;&#x80FD;&#x7684;&#x89C6;&#x9891;&#xFF0C;&#x8FD8;&#x5904;&#x4E8E;&#x8D77;&#x6B65;&#x9636;&#x6BB5;&#xFF0C;&#x6574;&#x4F53;&#x6C34;&#x5E73;&#x5927;&#x7EA6;&#x4E3A;50&#x5206;&#x3002;</li>
</ul>
<h2 id="ai-%E5%BA%94%E7%94%A8%E7%8E%B0%E5%9C%A8%E4%B8%8E%E6%8C%91%E6%88%98">AI  &#x5E94;&#x7528;&#x73B0;&#x5728;&#x4E0E;&#x6311;&#x6218;</h2>
<p>&#x5728; AI &#x9886;&#x57DF;&#x76EE;&#x524D;&#x8FD8;&#x6CA1;&#x6709;&#x51FA;&#x73B0; Killer APP&#xFF08;&#x5373;&#x77ED;&#x89C6;&#x9891;&#x7C7B;&#x4F3C;&#x6296;&#x97F3;&#x7684;APP&#xFF09;&#x3002;</p>
<p><strong>&#x4E09;&#x7C7B;AI &#x5E94;&#x7528;&#xFF1A;</strong></p>
<ul>
<li>&#x6587;&#x79D1;&#x767D;&#x9886;&#xFF1A;AI &#x5728;&#x4E2A;&#x4EBA;&#x52A9;&#x7406;&#x3001;Call center&#x3001;&#x6587;&#x672C;&#x5904;&#x7406;&#x7B49;&#x9886;&#x57DF;&#x8868;&#x73B0;&#x826F;&#x597D;&#xFF0C;&#x80FD;&#x5B8C;&#x6210; 80-90% &#x7684;&#x4EFB;&#x52A1;&#x3002;</li>
<li>&#x5DE5;&#x79D1;&#x767D;&#x9886;&#xFF1A;AI &#x53EF;&#x4EE5;&#x81EA;&#x52A8;&#x5316;&#x5904;&#x7406;&#x7F16;&#x7A0B;&#x4EFB;&#x52A1;&#xFF0C;&#x5982;&#x68C0;&#x7D22;&#x548C;&#x4FEE;&#x6539;&#x4EE3;&#x7801;&#xFF0C;&#x4F46;&#x65E0;&#x6CD5;&#x5B8C;&#x5168;&#x53D6;&#x4EE3;&#x7A0B;&#x5E8F;&#x5458;&#xFF0C;&#x5C24;&#x5176;&#x662F;&#x590D;&#x6742;&#x4EFB;&#x52A1;&#x3002;</li>
<li>&#x84DD;&#x9886;&#x9636;&#x7EA7;&#xFF1A;&#x81EA;&#x52A8;&#x9A7E;&#x9A76;&#x8FDB;&#x5C55;&#x8F83;&#x5927;&#xFF0C;&#x4F46;&#x5176;&#x4ED6;&#x84DD;&#x9886;&#x4EFB;&#x52A1;&#xFF08;&#x5982;&#x7AEF;&#x76D8;&#x5B50;&#x3001;&#x8FD0;&#x8D27;&#xFF09;&#x56E0;&#x590D;&#x6742;&#x7684;&#x7269;&#x7406;&#x4E16;&#x754C;&#x4EA4;&#x4E92;&#x96BE;&#x4EE5;&#x5B9E;&#x73B0;&#xFF0C;&#x9700;&#x8981;&#x66F4;&#x591A;&#x6570;&#x636E;&#x548C;&#x6280;&#x672F;&#x7A81;&#x7834;&#xFF0C;&#x53EF;&#x80FD;&#x8FD8;&#x9700; 5 &#x5E74;&#x5DE6;&#x53F3;&#x3002;</li>
</ul>
<p><strong>&#x5782;&#x76F4;&#x6A21;&#x578B;&#x7684;&#x8BEF;&#x533A;</strong>&#xFF1A;&#x5782;&#x76F4;&#x6A21;&#x578B;&#x662F;&#x4E00;&#x4E2A;&#x4F2A;&#x547D;&#x9898;&#xFF0C;&#x6CA1;&#x6709;&#x771F;&#x6B63;&#x7684;&#x5782;&#x76F4;&#x6A21;&#x578B;&#xFF0C;&#x4E00;&#x4E2A;&#x5F88;&#x5782;&#x76F4;&#x9886;&#x57DF;&#x7684;&#x6A21;&#x578B;&#xFF0C;&#x5B83;&#x7684;&#x901A;&#x7528;&#x80FD;&#x529B;&#x4E5F;&#x662F;&#x4E0D;&#x80FD;&#x5DEE;&#x7684;&#x3002;&#x6BD4;&#x5982;&#x8BF4;&#x4F60;&#x8981;&#x5728;&#x67D0;&#x4E00;&#x4E2A;&#x5B66;&#x79D1;&#x91CC;&#x9762;&#x62FF;&#x7B2C;&#x4E00;&#xFF0C;&#x4F60;&#x522B;&#x7684;&#x79D1;&#x76EE;&#x4E5F;&#x4E0D;&#x80FD;&#x5DEE;&#x5230;&#x54EA;&#x91CC;&#x53BB;&#x3002;</p>
<p><strong>&#x6A21;&#x578B;&#x8BC4;&#x4F30;&#x4E0E;&#x6570;&#x636E;&#xFF1A;</strong> &#x6A21;&#x578B;&#x8BC4;&#x4F30;&#x975E;&#x5E38;&#x56F0;&#x96BE;&#xFF0C;&#x7528;&#x4EBA;&#x8BC4;&#x4F30;&#x6BD4;&#x8F83;&#x8D35;&#xFF0C;&#x7528;&#x6A21;&#x578B;&#x8BC4;&#x4F30;&#x4F1A;&#x5E26;&#x6765;&#x504F;&#x5DEE;&#x3002;&#x6709;&#x4E00;&#x4E2A;&#x597D;&#x7684;&#x8BC4;&#x4F30;&#x53EF;&#x4EE5;&#x89E3;&#x51B3; 50% &#x7684;&#x95EE;&#x9898;&#xFF0C;&#x89E3;&#x51B3;&#x4E86;&#x8BC4;&#x4F30;&#x95EE;&#x9898;&#xFF0C;&#x5C31;&#x80FD;&#x591F;&#x8FDB;&#x884C;&#x4F18;&#x5316;&#x4E86;&#xFF0C;&#x800C;&#x4E14;&#x4E5F;&#x62E5;&#x6709;&#x4E86;&#x4E00;&#x4E9B;&#x6570;&#x636E;&#x3002;&#x6570;&#x636E;&#x51B3;&#x5B9A;&#x6A21;&#x578B;&#x4E0A;&#x9650;&#xFF0C;&#x60F3;&#x8BA9;&#x6A21;&#x578B;&#x5728;&#x67D0;&#x4E00;&#x4E2A;&#x65B9;&#x9762;&#x505A;&#x5F97;&#x7279;&#x522B;&#x597D;&#xFF0C;&#x9700;&#x8981;&#x5148;&#x628A;&#x76F8;&#x5173;&#x6570;&#x636E;&#x51C6;&#x5907;&#x597D;&#x3002;</p>
<p><strong>&#x8D39;&#x7528;&#xFF1A;</strong> &#x81EA;&#x5EFA;&#x673A;&#x623F;&#x4E0D;&#x4E00;&#x5B9A;&#x6BD4;&#x79DF; GPU &#x4FBF;&#x5B9C;&#x592A;&#x5927;&#xFF0C;&#x56E0;&#x4E3A;&#x5927;&#x5934;&#x88AB;&#x82F1;&#x4F1F;&#x8FBE;&#x5403;&#x6389;&#x4E86;&#xFF0C;&#x5B83;&#x7684;&#x5229;&#x6DA6;&#x662F;90%&#x3002;&#x6211;&#x662F;&#x4ECE; Amazon &#x5E72;&#x4E86; 7 &#x5E74;&#x534A;&#x624D;&#x51FA;&#x6765;&#x521B;&#x4E1A;&#xFF0C;&#x4F46;&#x6211;&#x5176;&#x5B9E;&#x4E0D;&#x7528; Amazon &#x670D;&#x52A1;&#xFF0C;&#x592A;&#x8D35;&#x4E86;&#x3002;&#x6211;&#x4EEC;&#x90FD;&#x7528;&#x5C0F;&#x516C;&#x53F8;&#x4E70;&#x6765;&#x7684;&#xFF0C;&#x4ED6;&#x4EEC;&#x5F53;&#x5E74;&#x7528;&#x6765;&#x6316;&#x6BD4;&#x7279;&#x5E01;&#x7684;&#x3002;:)</p>
<h2 id="%E8%87%AA%E6%88%91%E6%8F%90%E5%8D%87%E7%9A%84%E6%96%B9%E6%B3%95">&#x81EA;&#x6211;&#x63D0;&#x5347;&#x7684;&#x65B9;&#x6CD5;</h2>
<p><strong>&#x5927;&#x516C;&#x53F8;&#xFF1A;</strong> &#x5728;&#x5927;&#x516C;&#x53F8;&#xFF0C;&#x4F60;&#x8981;&#x89E3;&#x51B3;&#x95EE;&#x9898;&#x662F;&#x516C;&#x53F8;&#x5173;&#x5FC3;&#x7684;&#x95EE;&#x9898;&#x3002;&#x8FD9;&#x4E00;&#x70B9;&#x5F88;&#x91CD;&#x8981;&#x3002;&#x5927;&#x5BB6;&#x4E00;&#x5B9A;&#x8981;&#x60F3;&#x6E05;&#x695A;&#xFF1A;&#x6211;&#x8981;&#x5728;&#x516C;&#x53F8;&#x5E72;&#x4EC0;&#x4E48;&#xFF0C;&#x516C;&#x53F8;&#x4ECA;&#x5E74;&#x51C6;&#x5907;&#x5E72;&#x4EC0;&#x4E48;&#xFF0C;&#x6700;&#x597D;&#x4E24;&#x8005;&#x4FDD;&#x6301;&#x4E00;&#x81F4;&#x3002;&#x5982;&#x679C;&#x5E72;&#x7684;&#x4E8B;&#x60C5;&#x662F;&#x81EA;&#x5DF1;&#x559C;&#x6B22;&#x7684;&#xFF0C;&#x4F46;&#x4E0D;&#x662F;&#x516C;&#x53F8;&#x8FFD;&#x6C42;&#x7684;&#xFF0C;&#x8FD9;&#x5C31;&#x4F1A;&#x8BA9;&#x4EBA;&#x5F88;&#x96BE;&#x53D7;&#x3002;</p>
<p><strong>&#x4ECE;&#x4E0A;&#x7EA7;&#x7684;&#x89D2;&#x5EA6;&#x53CD;&#x601D;&#x81EA;&#x5DF1;</strong>&#xFF1A;&#x6BCF;&#x5468;&#x603B;&#x7ED3;&#xFF1A;&#x4F60;&#x5B8C;&#x6210;&#x4E86;&#x54EA;&#x4E9B;&#x4EFB;&#x52A1;&#xFF1F;&#x54EA;&#x4E9B;&#x76EE;&#x6807;&#x672A;&#x8FBE;&#x6210;&#xFF1F;&#x5206;&#x6790;&#x539F;&#x56E0;&#xFF1A;&#x662F;&#x5426;&#x56E0;&#x4E3A;&#x61D2;&#x60F0;&#x3001;&#x65B9;&#x5411;&#x4E0D;&#x5BF9;&#xFF0C;&#x8FD8;&#x662F;&#x5176;&#x4ED6;&#x56E0;&#x7D20;&#xFF1F;</p>
<p><strong>&#x76F4;&#x9762;&#x95EE;&#x9898;</strong>&#xFF1A;</p>
<ul>
<li><strong>&#x61D2;&#x60F0;</strong>&#xFF1A;&#x5BFB;&#x627E;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#xFF0C;&#x6BD4;&#x5982;&#x627E;&#x5B66;&#x4E60;&#x4F19;&#x4F34;&#x8FDB;&#x884C;&#x76F8;&#x4E92;&#x76D1;&#x7763;&#xFF0C;&#x56FA;&#x5B9A;&#x65F6;&#x95F4;&#x4E00;&#x8D77;&#x5B66;&#x4E60;&#x6216;&#x5DE5;&#x4F5C;&#x3002;</li>
<li><strong>&#x4E0D;&#x64C5;&#x957F;</strong>
<ul>
<li><strong>&#x6362;&#x65B9;&#x5411;</strong>&#xFF1A;&#x5982;&#x679C;&#x9047;&#x5230;&#x81EA;&#x5DF1;&#x4E0D;&#x64C5;&#x957F;&#x7684;&#x9886;&#x57DF;&#xFF0C;&#x8003;&#x8651;&#x8C03;&#x6574;&#x65B9;&#x5411;&#xFF0C;&#x9009;&#x62E9;&#x66F4;&#x9002;&#x5408;&#x81EA;&#x5DF1;&#x7684;&#x9886;&#x57DF;&#x3002;</li>
<li><strong>&#x52A0;&#x500D;&#x52AA;&#x529B;</strong>&#xFF1A;&#x5982;&#x679C;&#x65E0;&#x6CD5;&#x907F;&#x514D;&#x77ED;&#x677F;&#xFF0C;&#x90A3;&#x5C31;&#x82B1;&#x4E24;&#x500D;&#x7684;&#x65F6;&#x95F4;&#x548C;&#x7CBE;&#x529B;&#x53BB;&#x653B;&#x514B;&#x95EE;&#x9898;&#x3002;</li>
</ul>
</li>
</ul>
<p><strong>&#x5BF9;&#x81EA;&#x5DF1;&#x72E0;&#x4E00;&#x70B9;</strong>&#xFF1A;&#x81EA;&#x6211;&#x63D0;&#x5347;&#x6700;&#x7EC8;&#x6BD4;&#x62FC;&#x7684;&#x662F;&#x5BF9;&#x81EA;&#x5DF1;&#x6709;&#x591A;&#x72E0;&#xFF0C;&#x613F;&#x610F;&#x627F;&#x53D7;&#x591A;&#x5927;&#x7684;&#x52AA;&#x529B;&#x548C;&#x575A;&#x6301;&#x3002;</p>
<p><strong>&#x517B;&#x6210;&#x603B;&#x7ED3;&#x4E0E;&#x89C4;&#x5212;&#x7684;&#x4E60;&#x60EF;</strong>&#xFF1A;</p>
<ul>
<li><strong>&#x6BCF;&#x5468;&#x603B;&#x7ED3;</strong>&#xFF1A;&#x6BCF;&#x5468;&#x82B1;30&#x5206;&#x949F;&#x56DE;&#x987E;&#x5DE5;&#x4F5C;&#xFF0C;&#x5206;&#x6790;&#x4E0D;&#x8DB3;&#xFF0C;&#x89C4;&#x5212;&#x6539;&#x8FDB;&#x3002;</li>
<li><strong>&#x5B63;&#x5EA6;&#x56DE;&#x987E;</strong>&#xFF1A;&#x6BCF;&#x5B63;&#x5EA6;&#x53CD;&#x601D;&#x662F;&#x5426;&#x5B9E;&#x73B0;&#x4E86;&#x65E2;&#x5B9A;&#x76EE;&#x6807;&#xFF0C;&#x5E76;&#x6839;&#x636E;&#x60C5;&#x51B5;&#x8C03;&#x6574;&#x4E0B;&#x4E00;&#x9636;&#x6BB5;&#x7684;&#x8BA1;&#x5212;&#x3002;</li>
</ul>
<p><strong>&#x9009;&#x62E9;&#x6BD4;&#x52AA;&#x529B;&#x66F4;&#x91CD;&#x8981;</strong>&#xFF1A;&#x505A;&#x4EFB;&#x4F55;&#x9009;&#x62E9;&#x524D;&#xFF0C;&#x5148;&#x660E;&#x786E;&#x81EA;&#x5DF1;&#x7684;&#x76EE;&#x6807;&#x3002;&#x53EA;&#x6709;&#x76EE;&#x6807;&#x6E05;&#x6670;&#xFF0C;&#x624D;&#x80FD;&#x505A;&#x51FA;&#x6B63;&#x786E;&#x7684;&#x9009;&#x62E9;&#x3002;</p>
<p><strong>&#x5B9A;&#x671F;&#x53CD;&#x601D;&#x52A8;&#x673A;</strong>&#xFF1A;&#x6BCF;&#x5E74;&#x6216;&#x6BCF;&#x4E94;&#x5E74;&#xFF0C;&#x53CD;&#x601D;&#x81EA;&#x5DF1;&#x7684;&#x52A8;&#x673A;&#x548C;&#x5DE5;&#x4F5C;&#x72B6;&#x6001;&#x3002;&#x5982;&#x679C;&#x8FC7;&#x53BB;&#x7684;&#x4E00;&#x5E74;&#x611F;&#x89C9;&#x4E0D;&#x5F00;&#x5FC3;&#x6216;&#x6CA1;&#x6709;&#x8FDB;&#x5C55;&#xFF0C;&#x53EF;&#x80FD;&#x662F;&#x52A8;&#x673A;&#x4E0D;&#x591F;&#x5F3A;&#x3002;&#x82E5;&#x662F;&#x56E0;&#x4E3A;&#x65F6;&#x673A;&#x4E0D;&#x6210;&#x719F;&#xFF0C;&#x90A3;&#x5C31;&#x7EE7;&#x7EED;&#x52AA;&#x529B;&#x7B49;&#x5F85;&#xFF1B;&#x5982;&#x679C;&#x662F;&#x52A8;&#x673A;&#x4E0D;&#x5BF9;&#xFF0C;&#x53CA;&#x65F6;&#x8C03;&#x6574;&#x65B9;&#x5411;&#x3002;</p>
<p><strong>&#x8BB2;&#x5EA7;B&#x7AD9;&#x89C6;&#x9891;&#xFF1A;</strong> <a href="https://www.bilibili.com/video/BV1dHWkewEWz/?vd_source=90d4eedee2acfff3367a55da193a86a0&amp;ref=liuqianglong.com">https://www.bilibili.com/video/BV1dHWkewEWz/?vd_source=90d4eedee2acfff3367a55da193a86a0</a></p>
]]></content:encoded></item><item><title><![CDATA[《独自上场:李娜自传》读后]]></title><description><![CDATA[<p>&#x81EA;&#x4F20;&#x7684;&#x771F;&#x60C5;&#x5B9E;&#x611F;&#x662F;&#x6700;&#x80FD;&#x6253;&#x52A8;&#x4EBA;&#x7684;&#xFF0C;&#x7B2C;&#x4E00;&#x4EBA;&#x79F0;&#x53D9;&#x8FF0;&#x80FD;&#x5E26;&#x6765;&#x6700;&#x5F3A;&#x7684;&#x5171;&#x60C5;&#x3002;&#x8FD9;&#x662F;&#x4E3A;&#x4ED6;&#x4EBA;&#x5199;&#x4F20;&#x8BB0;&#x7684;&#x4F5C;&#x5BB6;&#x518D;&#x597D;&#x7684;&#x6587;&#x7B14;&#x4E5F;&#x96BE;&#x4EE5;&#x8FBE;</p>]]></description><link>https://liuqianglong.com/book-lina/</link><guid isPermaLink="false">66e7f9d8f97a56cdde1387c4</guid><category><![CDATA[Book]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Mon, 16 Sep 2024 09:27:59 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/09/--1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/09/--1.jpg" alt="&#x300A;&#x72EC;&#x81EA;&#x4E0A;&#x573A;:&#x674E;&#x5A1C;&#x81EA;&#x4F20;&#x300B;&#x8BFB;&#x540E;"><p>&#x81EA;&#x4F20;&#x7684;&#x771F;&#x60C5;&#x5B9E;&#x611F;&#x662F;&#x6700;&#x80FD;&#x6253;&#x52A8;&#x4EBA;&#x7684;&#xFF0C;&#x7B2C;&#x4E00;&#x4EBA;&#x79F0;&#x53D9;&#x8FF0;&#x80FD;&#x5E26;&#x6765;&#x6700;&#x5F3A;&#x7684;&#x5171;&#x60C5;&#x3002;&#x8FD9;&#x662F;&#x4E3A;&#x4ED6;&#x4EBA;&#x5199;&#x4F20;&#x8BB0;&#x7684;&#x4F5C;&#x5BB6;&#x518D;&#x597D;&#x7684;&#x6587;&#x7B14;&#x4E5F;&#x96BE;&#x4EE5;&#x8FBE;&#x5230;&#x7684;&#x5883;&#x754C;&#xFF0C;&#x4F5C;&#x5BB6;&#x65E0;&#x6CD5;&#x7AD9;&#x5728;&#x4E3B;&#x89D2;&#x7684;&#x7B2C;&#x4E00;&#x89C6;&#x89D2;&#xFF0C;&#x4E86;&#x89E3;&#x9762;&#x4E34;&#x4E0D;&#x540C;&#x573A;&#x666F;&#x65F6;&#x7684;&#x5FC3;&#x7406;&#x611F;&#x53D7;&#xFF0C;&#x4EE5;&#x53CA;&#x6240;&#x505A;&#x51FA;&#x51B3;&#x5B9A;&#x80CC;&#x540E;&#x7684;&#x5FC3;&#x8DEF;&#x5386;&#x7A0B;&#x3002;&#x66F4;&#x4F55;&#x51B5;&#x674E;&#x5A1C;&#x7684;&#x6587;&#x7B14;&#x51FA;&#x4E4E;&#x610F;&#x6599;&#x7684;&#x597D;&#xFF0C;&#x6587;&#x5B57;&#x7B80;&#x6D01;&#x6709;&#x529B;&#x3002;</p><p>&#x6211;&#x6CA1;&#x6709;&#x6253;&#x8FC7;&#x7F51;&#x7403;&#xFF0C;&#x4E5F;&#x4E0D;&#x61C2;&#x7F51;&#x7403;&#x89C4;&#x5219;&#xFF0C;&#x4F46;&#x662F;&#x674E;&#x5A1C;&#x8EAB;&#x4E0A;&#x5C55;&#x73B0;&#x51FA;&#x9876;&#x7EA7;&#x8FD0;&#x52A8;&#x5458;&#x7684;&#x6C14;&#x8D28;&#xFF0C;&#x662F;&#x4E00;&#x79CD;&#x4E0D;&#x65AD;&#x6218;&#x80DC;&#x81EA;&#x6211;&#x7684;&#x7CBE;&#x795E;&#x548C;&#x6597;&#x5FD7;&#xFF0C;&#x8FD9;&#x79CD;&#x6C14;&#x8D28;&#x6781;&#x5177;&#x9B45;&#x529B;&#x3002;</p><p>&#x5F88;&#x591A;&#x4EBA;&#x8BA4;&#x4E3A;&#x8FD0;&#x52A8;&#x5458;&#x90FD;&#x662F;&#x56DB;&#x80A2;&#x53D1;&#x8FBE;&#xFF0C;&#x5934;&#x8111;&#x7B80;&#x5355;&#x3002;&#x5F53;&#x4F60;&#x770B;&#x5B8C;&#x4E00;&#x4E9B;&#x9876;&#x7EA7;&#x8FD0;&#x52A8;&#x5458;&#x7684;&#x6210;&#x957F;&#x6545;&#x4E8B;&#xFF0C;&#x4F60;&#x4E00;&#x5B9A;&#x4F1A;&#x6539;&#x53D8;&#x89C2;&#x5FF5;&#x3002;</p><p>&#x7ADE;&#x6280;&#x4F53;&#x80B2;&#x662F;&#x4E00;&#x4E2A;&#x5145;&#x5206;&#x7ADE;&#x4E89;&#x7684;&#x73AF;&#x5883;&#xFF0C;&#x90A3;&#x4E9B;&#x53EA;&#x6709;&#x5929;&#x8D4B;&#x800C;&#x6CA1;&#x6709;&#x5934;&#x8111;&#x7684;&#x8FD0;&#x52A8;&#x5458;&#xFF0C;&#x5FC5;&#x5B9A;&#x4F1A;&#x88AB;&#x65E2;&#x6709;&#x5929;&#x8D4B;&#x53C8;&#x6709;&#x5934;&#x8111;&#x7684;&#x5BF9;&#x624B;&#x6DD8;&#x6C70;&#x3002;</p><p>&#x8981;&#x60F3;&#x53D6;&#x5F97;&#x4E16;&#x754C;&#x7EA7;&#x7684;&#x6210;&#x5C31;&#xFF0C;&#x4EC5;&#x9760;&#x57CB;&#x5934;&#x82E6;&#x7EC3;&#x662F;&#x4E0D;&#x591F;&#x7684;&#xFF0C;&#x4F60;&#x9700;&#x8981;&#x5BF9;&#x81EA;&#x5DF1;&#x7684;&#x8EAB;&#x4F53;&#x72B6;&#x6001;&#x6709;&#x654F;&#x9510;&#x7684;&#x611F;&#x77E5;&#xFF0C;&#x9047;&#x5230;&#x74F6;&#x9888;&#x65F6;&#xFF0C;&#x5FC5;&#x987B;&#x53CA;&#x65F6;&#x8C03;&#x6574;&#x7B56;&#x7565;&#xFF0C;&#x5E76;&#x4E14;&#x5177;&#x5907;&#x6781;&#x5F3A;&#x7684;&#x81EA;&#x5F8B;&#x53BB;&#x6267;&#x884C;&#x8BA1;&#x5212;&#x3002;</p><p>&#x6B8B;&#x9177;&#x7684;&#x662F;&#xFF0C;&#x5F53;&#x4F60;&#x8BA4;&#x4E3A;&#x5DF2;&#x7ECF;&#x505A;&#x597D;&#x4E86;&#x4E00;&#x5207;&#xFF0C;&#x5931;&#x8D25;&#x4F9D;&#x7136;&#x662F;&#x5E38;&#x6001;&#xFF0C;&#x4F60;&#x53EF;&#x80FD;&#x4F1A;&#x56E0;&#x6B64;&#x5F00;&#x59CB;&#x6000;&#x7591;&#x81EA;&#x5DF1;&#xFF0C;&#x9010;&#x6E10;&#x5BF9;&#x81EA;&#x5DF1;&#x5931;&#x53BB;&#x4FE1;&#x5FC3;&#x3002;&#x767B;&#x9876;&#x7684;&#x8FC7;&#x7A0B;&#xFF0C;&#x662F;&#x4E00;&#x6B21;&#x6B21;&#x6218;&#x80DC;&#x81EA;&#x6211;&#x7684;&#x8FC7;&#x7A0B;&#xFF0C;&#x9700;&#x8981;&#x4E0D;&#x65AD;&#x4E0E;&#x81EA;&#x6211;&#x5BF9;&#x8BDD;&#x3002;</p><p>&#x8FD9;&#x79CD;&#x4E0D;&#x65AD;&#x6311;&#x6218;&#x81EA;&#x6211;&#x7684;&#x7CBE;&#x795E;&#xFF0C;&#x5F15;&#x8D77;&#x6211;&#x5F3A;&#x70C8;&#x7684;&#x5171;&#x9E23;&#x3002;&#x5728;&#x4EBA;&#x751F;&#x7684;&#x8D5B;&#x573A;&#x4E0A;&#xFF0C;&#x6BCF;&#x4E2A;&#x4EBA;&#x90FD;&#x662F;&#x72EC;&#x81EA;&#x4E0A;&#x573A;&#x7684;&#x9009;&#x624B;&#xFF0C;&#x800C;&#x771F;&#x6B63;&#x7684;&#x5BF9;&#x624B;&#xFF0C;&#x59CB;&#x7EC8;&#x662F;&#x6628;&#x5929;&#x7684;&#x81EA;&#x5DF1;&#x3002;</p><p>&#x9644;&#x4E0A;&#x4E66;&#x4E2D;&#x4E00;&#x4E9B;&#x6458;&#x5F55;&#xFF1A;</p><blockquote>&#x6709;&#x8BB8;&#x591A;&#x540C;&#x5B66;&#x4E00;&#x542C;&#x5230;&#x6211;&#x4EEC;&#x662F;&#x8FD0;&#x52A8;&#x5458;&#xFF0C;&#x5C31;&#x4F1A;&#x6761;&#x4EF6;&#x53CD;&#x5C04;&#x5730;&#x8BF4;&#xFF1A;&#x554A;&#xFF0C;&#x90A3;&#x4F60;&#x4EEC;&#x6CA1;&#x6709;&#x673A;&#x4F1A;&#x8BFB;&#x4E66;&#x5427;&#xFF1F;<br><br>&#x6211;&#x89C9;&#x5F97;&#x8FD9;&#x4E2A;&#x8BF4;&#x6CD5;&#x6BD4;&#x8F83;&#x7247;&#x9762;&#x3002;&#x6559;&#x80B2;&#x6709;&#x8BB8;&#x591A;&#x79CD;&#xFF0C;&#x6587;&#x5316;&#x8BFE;&#x53EA;&#x662F;&#x5176;&#x4E2D;&#x4E4B;&#x4E00;&#xFF0C;&#x66FE;&#x505A;&#x8FC7;&#x804C;&#x4E1A;&#x8FD0;&#x52A8;&#x5458;&#xFF0C;&#x7279;&#x522B;&#x662F;&#x80FD;&#x591F;&#x53D6;&#x5F97;&#x4E00;&#x5B9A;&#x6210;&#x7EE9;&#x7684;&#x9009;&#x624B;&#xFF0C;&#x4ED6;&#x4EEC;&#x5BF9;&#x81EA;&#x5DF1;&#x7684;&#x8981;&#x6C42;&#x4E00;&#x822C;&#x90FD;&#x662F;&#x975E;&#x5E38;&#x4E25;&#x683C;&#x7684;&#xFF0C;&#x6CA1;&#x6709;&#x5403;&#x82E6;&#x8010;&#x52B3;&#x7684;&#x7CBE;&#x795E;&#x548C;&#x9AD8;&#x5EA6;&#x81EA;&#x5F8B;&#x3001;&#x81EA;&#x7231;&#x7684;&#x6027;&#x683C;&#xFF0C;&#x4F60;&#x5F88;&#x96BE;&#x5728;&#x4F53;&#x80B2;&#x9886;&#x57DF;&#x6709;&#x6240;&#x6210;&#x5C31;&#xFF0C;&#x800C;&#x4E14;&#x8BB8;&#x591A;&#x6BD4;&#x8D5B;&#x5E76;&#x4E0D;&#x662F;&#x5355;&#x7EAF;&#x5730;&#x9760;&#x89D2;&#x529B;&#x53D6;&#x80DC;&#xFF0C;&#x6211;&#x4EEC;&#x5FC5;&#x987B;&#x4FDD;&#x6301;&#x5934;&#x8111;&#x7075;&#x6D3B;&#x3001;&#x601D;&#x8DEF;&#x6E05;&#x6670;&#x624D;&#x80FD;&#x5728;&#x4F17;&#x591A;&#x9009;&#x624B;&#x4E2D;&#x8131;&#x9896;&#x800C;&#x51FA;&#x3002;&#x4F9D;&#x6211;&#x770B;&#x6765;&#xFF0C;&#x8BB8;&#x591A;&#x66FE;&#x7ECF;&#x5728;&#x4F53;&#x80B2;&#x65B9;&#x9762;&#x6709;&#x6240;&#x5EFA;&#x6811;&#x7684;&#x8FD0;&#x52A8;&#x5458;&#x90FD;&#x662F;&#x5F88;&#x51FA;&#x8272;&#x7684;&#x4EBA;&#x624D;&#xFF0C;&#x4ED6;&#x4EEC;&#x5728;&#x4ECE;&#x4E8B;&#x5176;&#x4ED6;&#x9886;&#x57DF;&#x7684;&#x5DE5;&#x4F5C;&#x65F6;&#xFF0C;&#x8FD9;&#x4E9B;&#x4F18;&#x79C0;&#x7684;&#x54C1;&#x8D28;&#x4E5F;&#x4F1A;&#x5E2E;&#x52A9;&#x4ED6;&#x4EEC;&#x83B7;&#x5F97;&#x6210;&#x529F;&#x3002;<br><br>&#x6B64;&#x5916;&#xFF0C;&#x8FD0;&#x52A8;&#x961F;&#x91CC;&#x4E5F;&#x4E0D;&#x662F;&#x672A;&#x66FE;&#x5F00;&#x5316;&#x7684;&#x539F;&#x59CB;&#x68EE;&#x6797;&#xFF0C;&#x6211;&#x4EEC;&#x5728;&#x5B66;&#x4E60;&#x6587;&#x5316;&#x8BFE;&#x7684;&#x540C;&#x65F6;&#x8FD8;&#x8981;&#x5B66;&#x4E60;&#x4E3A;&#x4EBA;&#x5904;&#x4E16;&#xFF0C;&#x5B66;&#x4E60;&#x5904;&#x7406;&#x4E0E;&#x5A92;&#x4F53;&#x3001;&#x9886;&#x5BFC;&#x7684;&#x5173;&#x7CFB;&#xFF08;&#x867D;&#x7136;&#x8FD9;&#x4E00;&#x8BFE;&#x6211;&#x663E;&#x7136;&#x5B66;&#x5F97;&#x4E0D;&#x600E;&#x4E48;&#x6837;&#xFF0C;&#x4F46;&#x4E0D;&#x80FD;&#x5426;&#x8BA4;&#x8FD9;&#x662F;&#x4EBA;&#x751F;&#x91CD;&#x8981;&#x7684;&#x4E00;&#x8BFE;&#xFF09;&#x3002;&#x5728;&#x6709;&#x4E9B;&#x5956;&#x91D1;&#x8F83;&#x4E3A;&#x4E30;&#x539A;&#x3001;&#x5927;&#x4F17;&#x5173;&#x6CE8;&#x8F83;&#x591A;&#x7684;&#x9879;&#x76EE;&#x4E0A;&#xFF0C;&#x4E0D;&#x53EF;&#x907F;&#x514D;&#x5730;&#x4F1A;&#x4EA7;&#x751F;&#x4E00;&#x4E9B;&#x7070;&#x8272;&#x5730;&#x5E26;&#xFF0C;&#x8FD0;&#x52A8;&#x5458;&#x4EEC;&#x5BF9;&#x8FD9;&#x4E9B;&#x770B;&#x5F97;&#x6BD4;&#x8F83;&#x591A;&#xFF0C;&#x4E5F;&#x6BD4;&#x8F83;&#x8C41;&#x8FBE;&#xFF0C;&#x6211;&#x4EEC;&#x6BD4;&#x540C;&#x9F84;&#x4EBA;&#x66F4;&#x65E9;&#x5730;&#x4F53;&#x4F1A;&#x5230;&#x4E86;&#x201C;&#x4E0D;&#x516C;&#x5E73;&#x201D;&#x4E09;&#x4E2A;&#x5B57;&#x7684;&#x91CD;&#x91CF;&#xFF0C;&#x4E5F;&#x66F4;&#x4E86;&#x89E3;&#x5E94;&#x5F53;&#x5982;&#x4F55;&#x770B;&#x5F85;&#x8FD9;&#x4E9B;&#x73B0;&#x8C61;&#x3002;&#x8001;&#x5B9E;&#x8BF4;&#xFF0C;&#x521A;&#x8FDB;&#x5165;&#x9AD8;&#x6821;&#x65F6;&#xFF0C;&#x6211;&#x7ECF;&#x5E38;&#x4F1A;&#x88AB;&#x4E0E;&#x6211;&#x540C;&#x9F84;&#x7684;&#x540C;&#x5B66;&#x7684;&#x5929;&#x771F;&#x548C;&#x7406;&#x60F3;&#x4E3B;&#x4E49;&#x7ED9;&#x96F7;&#x5230;&#x2014;&#x2014;&#x4ED6;&#x4EEC;&#x7ADF;&#x7136;&#x5982;&#x6B64;&#x5355;&#x7EAF;&#xFF01;</blockquote><blockquote>&#x540E;&#x6765;&#x59DC;&#x5C71;&#x7ED9;&#x6211;&#x770B;&#x4E86;&#x7279;&#x857E;&#x838E;&#x4FEE;&#x5973;&#x7684;&#x4E00;&#x6BB5;&#x8BED;&#x5F55;&#xFF0C;&#x6211;&#x89C9;&#x5F97;&#x5F88;&#x53D7;&#x76CA;&#xFF1A;<br>&#x201C;&#x5373;&#x4F7F;&#x4F60;&#x662F;&#x53CB;&#x5584;&#x7684;&#xFF0C;&#x4EBA;&#x4EEC;&#x8FD8;&#x662F;&#x4F1A;&#x8BF4;&#x4F60;&#x81EA;&#x79C1;&#x548C;&#x52A8;&#x673A;&#x4E0D;&#x826F;&#xFF0C;&#x4E0D;&#x7BA1;&#x600E;&#x6837;&#xFF0C;&#x4F60;&#x8FD8;&#x662F;&#x8981;&#x53CB;&#x5584;&#x3002;<br>&#x201C;&#x5F53;&#x4F60;&#x529F;&#x6210;&#x540D;&#x5C31;&#xFF0C;&#x4F60;&#x4F1A;&#x6709;&#x865A;&#x5047;&#x7684;&#x670B;&#x53CB;&#x548C;&#x771F;&#x5B9E;&#x7684;&#x654C;&#x4EBA;&#xFF0C;&#x4E0D;&#x7BA1;&#x600E;&#x6837;&#xFF0C;&#x4F60;&#x8FD8;&#x662F;&#x8981;&#x6210;&#x529F;&#x3002;<br>&#x201C;&#x4F60;&#x4ECA;&#x5929;&#x505A;&#x7684;&#x5584;&#x4E8B;&#xFF0C;&#x4EBA;&#x4EEC;&#x5F80;&#x5F80;&#x660E;&#x5929;&#x5C31;&#x4F1A;&#x5FD8;&#x8BB0;&#xFF0C;&#x4E0D;&#x7BA1;&#x600E;&#x6837;&#xFF0C;&#x4F60;&#x8FD8;&#x662F;&#x8981;&#x505A;&#x5584;&#x4E8B;&#x3002;<br>&#x201C;&#x8BF4;&#x5230;&#x5E95;&#xFF0C;&#x8FD9;&#x662F;&#x4F60;&#x548C;&#x795E;&#x4E4B;&#x95F4;&#x7684;&#x4E8B;&#xFF0C;&#x800C;&#x7EDD;&#x4E0D;&#x662F;&#x4F60;&#x548C;&#x4ED6;&#x4EBA;&#x4E4B;&#x95F4;&#x7684;&#x4E8B;&#x3002;&#x201D;</blockquote><blockquote>&#x5988;&#x5988;&#x662F;&#x6211;&#x5728;&#x8FD9;&#x4E16;&#x754C;&#x4E0A;&#x6700;&#x4EB2;&#x7684;&#x4EBA;&#x3002;&#x6211;&#x603B;&#x662F;&#x60F3;&#x5C0F;&#x65F6;&#x5019;&#x6211;&#x4F4F;&#x5728;&#x4F53;&#x6821;&#xFF0C;&#x5979;&#x662F;&#x600E;&#x4E48;&#x5929;&#x5929;&#x6765;&#x770B;&#x6211;&#xFF0C;&#x5927;&#x70ED;&#x5929;&#x7ED9;&#x6211;&#x5E26;&#x51B0;&#x9547;&#x7EFF;&#x8C46;&#x6C64;&#x89E3;&#x6691;&#x3002;&#x5979;&#x662F;&#x6211;&#x7684;&#x5988;&#x5988;&#xFF0C;&#x6211;&#x975E;&#x5E38;&#x975E;&#x5E38;&#x7231;&#x5979;&#x3002;&#x6211;&#x662F;&#x5979;&#x552F;&#x4E00;&#x7684;&#x5973;&#x513F;&#xFF0C;&#x5979;&#x4E5F;&#x4E0D;&#x53EF;&#x80FD;&#x4E0D;&#x7231;&#x6211;&#x3002;&#x53EA;&#x662F;&#x6211;&#x73B0;&#x5728;&#x7ECF;&#x5E38;&#x4E0D;&#x77E5;&#x9053;&#x8BE5;&#x600E;&#x4E48;&#x8DDF;&#x5988;&#x5988;&#x4EA4;&#x6D41;&#x548C;&#x6C9F;&#x901A;&#x4E86;&#x3002;</blockquote><blockquote>&#x6CA1;&#x6709;&#x968F;&#x968F;&#x4FBF;&#x4FBF;&#x83B7;&#x5F97;&#x7684;&#x80DC;&#x5229;&#xFF0C;&#x7279;&#x522B;&#x662F;&#x5728;&#x6BD4;&#x8D5B;&#x53CC;&#x65B9;&#x90FD;&#x662F;&#x4E16;&#x754C;&#x9876;&#x5C16;&#x7403;&#x5458;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x7CBE;&#x6E5B;&#x7684;&#x6280;&#x672F;&#x3001;&#x51B7;&#x9759;&#x7684;&#x5934;&#x8111;&#x3001;&#x5065;&#x5EB7;&#x7684;&#x8EAB;&#x4F53;&#x72B6;&#x51B5;&#x90FD;&#x662F;&#x83B7;&#x80DC;&#x7684;&#x91CD;&#x8981;&#x6761;&#x4EF6;&#xFF0C;&#x4F46;&#x4E0D;&#x662F;&#x552F;&#x4E00;&#x7684;&#x6761;&#x4EF6;&#x3002;<br><br>&#x60F3;&#x8981;&#x83B7;&#x80DC;&#xFF0C;&#x4F60;&#x5FC5;&#x987B;&#x771F;&#x6B63;&#x53D1;&#x81EA;&#x5185;&#x5FC3;&#x5730;&#x6E34;&#x6C42;&#x80DC;&#x5229;&#xFF0C;&#x4F60;&#x8981;&#x975E;&#x5E38;&#x3001;&#x975E;&#x5E38;&#x3001;&#x975E;&#x5E38;&#x5730;&#x60F3;&#x83B7;&#x80DC;&#x3002;&#x4F60;&#x5BF9;&#x80DC;&#x5229;&#x7684;&#x6E34;&#x671B;&#xFF0C;&#x8981;&#x50CF;&#x5728;&#x6C99;&#x6F20;&#x4E2D;&#x8DCB;&#x6D89;&#xFF0C;&#x6FD2;&#x4E34;&#x6B7B;&#x4EA1;&#x7684;&#x4EBA;&#x5BF9;&#x6E05;&#x6C34;&#x7684;&#x6E34;&#x671B;&#x4E00;&#x6837;&#x3002;</blockquote>]]></content:encoded></item><item><title><![CDATA[​推荐《里斯本丸沉没》]]></title><description><![CDATA[<p>&#x200B;&#x63A8;&#x8350;&#x53BB;&#x7535;&#x5F71;&#x9662;&#x770B;&#x300A;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x6C89;&#x6CA1;&#x300B;&#x8FD9;&#x4E2A;&#x7EAA;&#x5F55;&#x7247;&#x3002;</p><p>&#x5F88;&#x591A;&#x4EBA;&#x770B;&#x5230;&#x662F;&#x7EAA;&#x5F55;&#x7247;&#xFF0C;&#x53EF;&#x80FD;&#x4F1A;&#x89C9;&#x5F97;&#x81EA;&#x5DF1;&#x5E94;&#x8BE5;&#x4E0D;&#x611F;&#x5174;&#x8DA3;&#xFF0C;&#x7535;&#x5F71;&#x540D;&#x4F3C;</p>]]></description><link>https://liuqianglong.com/lisbon-maru/</link><guid isPermaLink="false">66e6e823f97a56cdde1387b0</guid><category><![CDATA[Movie]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Sun, 15 Sep 2024 14:01:21 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/09/lisbon.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/09/lisbon.png" alt="&#x200B;&#x63A8;&#x8350;&#x300A;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x6C89;&#x6CA1;&#x300B;"><p>&#x200B;&#x63A8;&#x8350;&#x53BB;&#x7535;&#x5F71;&#x9662;&#x770B;&#x300A;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x6C89;&#x6CA1;&#x300B;&#x8FD9;&#x4E2A;&#x7EAA;&#x5F55;&#x7247;&#x3002;</p><p>&#x5F88;&#x591A;&#x4EBA;&#x770B;&#x5230;&#x662F;&#x7EAA;&#x5F55;&#x7247;&#xFF0C;&#x53EF;&#x80FD;&#x4F1A;&#x89C9;&#x5F97;&#x81EA;&#x5DF1;&#x5E94;&#x8BE5;&#x4E0D;&#x611F;&#x5174;&#x8DA3;&#xFF0C;&#x7535;&#x5F71;&#x540D;&#x4F3C;&#x4E4E;&#x4E5F;&#x4E0D;&#x591F;&#x6709;&#x5438;&#x5F15;&#x529B;&#x3002;</p><p>&#x6700;&#x5F00;&#x59CB;&#x770B;&#x5230;&#x4E00;&#x4E9B;&#x8FD9;&#x4E2A;&#x7535;&#x5F71;&#x7684;&#x597D;&#x8BC4;&#xFF0C;&#x4EA7;&#x751F;&#x4E86;&#x4E00;&#x4E9B;&#x5174;&#x8DA3;&#xFF0C;&#x770B;&#x4E86;&#x4E0B;&#x7535;&#x5F71;&#x7684;&#x6D77;&#x62A5;&#x548C;&#x9884;&#x544A;&#x526A;&#x8F91;&#xFF0C;&#x5176;&#x5B9E;&#x6CA1;&#x6709;&#x89C9;&#x5F97;&#x4F1A;&#x597D;&#x770B;&#xFF0C;&#x662F;&#x51B2;&#x7740;&#x8C46;&#x74E3;9.3&#x5206;&#x7684;&#x9AD8;&#x5206;&#xFF0C;&#x597D;&#x5947;&#x53BB;&#x770B;&#x770B;&#x3002;</p><p>&#x53EF;&#x4EE5;&#x5F53;&#x505A;&#x4E00;&#x4E2A;&#x5F88;&#x597D;&#x7684;&#x5267;&#x60C5;&#x7247;&#x6765;&#x770B;&#xFF0C;&#x5173;&#x4E8E;&#x4F7F;&#x547D;&#x3001;&#x6218;&#x4E89;&#x3001;&#x7231;&#x60C5;&#x3001;&#x4EB2;&#x60C5;&#x3001;&#x53CB;&#x60C5;&#x3001;&#x52C7;&#x6C14;&#x3002;</p><p>&#x5F53;&#x4E00;&#x8258;&#x8239;&#x6C89;&#x5165;&#x6D77;&#x5E95;&#xFF0C;&#x5F53;&#x4E00;&#x4E2A;&#x4EBA;&#x6210;&#x4E86;&#x8C1C;&#x3002;&#x8FD9;&#x53E5;&#x6B4C;&#x8BCD;&#x91CC;&#x7684;&#x8239;&#x5C31;&#x662F;&#x201C;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x201D;&#x53F7;&#x3002;</p><p>&#x4E3A;&#x5F71;&#x50CF;&#x5DE5;&#x4F5C;&#x8005;&#x548C;&#x6D77;&#x6D0B;&#x5DE5;&#x7A0B;&#x5E08;&#xFF0C;&#x5BFC;&#x6F14;&#x4F3C;&#x4E4E;&#x80A9;&#x8D1F;&#x8D77;&#x4E86;&#x63A2;&#x5BFB;&#x8FD9;&#x8258;&#x6C89;&#x8239;&#x7684;&#x4F7F;&#x547D;&#x3002;</p><p>2014&#x5E74;&#x65B9;&#x52B1;&#x4F5C;&#x4E3A;&#x300A;&#x540E;&#x4F1A;&#x65E0;&#x671F;&#x300B;&#x7684;&#x5236;&#x7247;&#x4EBA;&#xFF0C;&#x548C;&#x97E9;&#x5BD2;&#x5728;&#x4E1C;&#x6781;&#x5C9B;&#x62CD;&#x6444;&#x65F6;&#xFF0C;&#x4E86;&#x89E3;&#x5230;&#x9644;&#x8FD1;&#x6709;&#x4E00;&#x8258;&#x6C89;&#x8239;&#x53EB;&#x201C;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x201D;&#x3002;&#x65B9;&#x52B1;&#x4E5F;&#x662F;&#x4E00;&#x4E2A;&#x6D77;&#x6D0B;&#x5DE5;&#x7A0B;&#x5E08;&#xFF0C;&#x516C;&#x53F8;&#x6709;&#x591A;&#x9879;&#x6D77;&#x6D0B;&#x63A2;&#x6D4B;&#x7684;&#x53D1;&#x660E;&#x4E13;&#x5229;&#xFF0C;&#x597D;&#x5947;&#x548C;&#x804C;&#x4E1A;&#x80CC;&#x666F;&#xFF0C;&#x4ED6;&#x51B3;&#x5B9A;&#x53BB;&#x5BFB;&#x627E;&#x8FD9;&#x8258;&#x6C89;&#x8239;&#xFF0C;&#x5E76;&#x5728;2017&#x5E74;&#x786E;&#x8BA4;&#x627E;&#x5230;&#x4E86;&#x2018;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x2019;&#x3002;</p><p>&#x4E8B;&#x5B9E;&#x548C;&#x771F;&#x76F8;&#x662F;&#x975E;&#x5E38;&#x7A00;&#x7F3A;&#x7684;&#x8D44;&#x6E90;&#xFF0C;&#x63A2;&#x5BFB;&#x4E8B;&#x5B9E;&#x548C;&#x771F;&#x76F8;&#x9700;&#x8981;&#x6D88;&#x8017;&#x5927;&#x91CF;&#x7684;&#x8D44;&#x6E90;&#xFF0C;&#x7EAA;&#x5F55;&#x7247;&#x4E0D;&#x9700;&#x8981;&#x865A;&#x6784;&#x4EFB;&#x4F55;&#x5267;&#x60C5;&#xFF0C;&#x4E8B;&#x5B9E;&#x548C;&#x771F;&#x76F8;&#x7684;&#x529B;&#x91CF;&#x5F80;&#x5F80;&#x66F4;&#x5BB9;&#x6613;&#x6253;&#x52A8;&#x4EBA;&#x5FC3;&#x3002;</p><p>&#x5386;&#x53F2;&#x7684;&#x4E3B;&#x9898;&#x662F;&#x9057;&#x5FD8;&#x3002;&#x8FD9;&#x8258;&#x6C89;&#x8239;&#x65F6;&#x9694;80&#x5E74;&#xFF0C;&#x51E0;&#x4E4E;&#x5DF2;&#x7ECF;&#x6CA1;&#x6709;&#x4EBA;&#x77E5;&#x9053;&#x5B83;&#x7684;&#x6545;&#x4E8B;&#xFF0C;&#x4F46;&#x662F;&#x8BB2;&#x8FF0;&#x5C18;&#x5C01;&#x7684;&#x771F;&#x5B9E;&#x5386;&#x53F2;&#xFF0C;&#x8BA9;&#x6211;&#x611F;&#x53D7;&#x5230;&#x8BB0;&#x5FC6;&#x662F;&#x6709;&#x529B;&#x91CF;&#x7684;&#x3002;</p><p>1941&#x5E74;12&#x6708;&#x7206;&#x53D1;&#x4E86;18&#x5929;&#x7684;&#x9999;&#x6E2F;&#x4FDD;&#x536B;&#x6218;&#xFF0C;&#x6700;&#x7EC8;&#x65E5;&#x672C;&#x5360;&#x9886;&#x4E86;&#x9999;&#x6E2F;&#x3002;1942&#x5E74;9&#x6708;27&#x65E5;&#xFF0C;&#x201C;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x201D;&#x53F7;&#x4ECE;&#x9999;&#x6E2F;&#x51FA;&#x53D1;&#x524D;&#x5F80;&#x65E5;&#x672C;&#xFF0C;&#x8239;&#x4E0A;&#x6709;1800&#x591A;&#x540D;&#x82F1;&#x519B;&#x6218;&#x4FD8;&#xFF0C;&#x65E5;&#x519B;&#x6CA1;&#x6709;&#x6309;&#x7167;&#x56FD;&#x9645;&#x6CD5;&#x60EF;&#x4F8B;&#xFF0C;&#x60AC;&#x6302;&#x8FD0;&#x9001;&#x6218;&#x4FD8;&#x7684;&#x65D7;&#x5E1C;&#x6216;&#x8005;&#x6807;&#x5FD7;&#x3002;1942&#x5E74;10&#x6708;1&#x65E5;&#xFF0C;&#x5728;&#x821F;&#x5C71;&#x7FA4;&#x5C9B;&#x9644;&#x8FD1;&#xFF0C;&#x7F8E;&#x519B;&#x6F5C;&#x8247;&#x53D1;&#x73B0;&#x4E86;&#x201C;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x201D;&#x53F7;&#xFF0C;&#x8BA4;&#x4E3A;&#x662F;&#x654C;&#x519B;&#x8239;&#x53EA;&#xFF0C;&#x4E8E;&#x662F;&#x53D1;&#x5C04;&#x9C7C;&#x96F7;&#xFF0C;&#x51FB;&#x4E2D;&#x4E86;&#x201C;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x201D;&#x53F7;&#xFF0C;1942&#x5E74;10&#x6708;2&#x65E5;&#xFF0C;&#x8239;&#x53EA;&#x5F00;&#x59CB;&#x4E0B;&#x6C89;&#xFF0C;&#x65E5;&#x519B;&#x5F00;&#x59CB;&#x626B;&#x5C04;&#x843D;&#x6C34;&#x6218;&#x4FD8;&#xFF0C;&#x800C;&#x4E2D;&#x56FD;&#x6E14;&#x6C11;&#x5219;&#x5F00;&#x59CB;&#x8425;&#x6551;&#x8FD9;&#x4E9B;&#x843D;&#x6C34;&#x82F1;&#x519B;&#x58EB;&#x5175;&#x3002;</p><p>&#x6709;&#x4EBA;&#x9677;&#x5165;&#x7EDD;&#x671B;&#xFF0C;&#x4E5F;&#x6709;&#x4EBA;&#x5728;&#x6B4C;&#x5531;&#x3002;&#x6709;&#x4EBA;&#x201C;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x201D;&#x53F7;&#x5FEB;&#x8981;&#x6C89;&#x6CA1;&#x65F6;&#xFF0C;&#x4E00;&#x4F4D;&#x58EB;&#x5175;&#x5C06;&#x81EA;&#x5DF1;&#x5E3D;&#x5B50;&#x6234;&#x597D;&#xFF0C;&#x8BF4;&#x201C;&#x5982;&#x679C;&#x6211;&#x8981;&#x6B7B;&#x53BB;&#xFF0C;&#x6211;&#x4E5F;&#x8981;&#x7A7F;&#x6234;&#x6574;&#x9F50;&#xFF08;If I am to die, I will do so properly dressed&#xFF09;&#x201D;&#x3002;&#x5F53;&#x8239;&#x8231;&#x6DF7;&#x4E71;&#x4E0D;&#x582A;&#xFF0C;&#x5927;&#x5BB6;&#x4E89;&#x5148;&#x6050;&#x540E;&#x60F3;&#x4ECE;&#x722C;&#x51FA;&#x8D27;&#x8231;&#x9003;&#x751F;&#xFF0C;&#x5F88;&#x591A;&#x4EBA;&#x56E0;&#x4E3A;&#x6324;&#x538B;&#x548C;&#x8DCC;&#x843D;&#x4E27;&#x547D;&#x65F6;&#xFF0C;&#x9C8D;&#x5A01;&#x5C14;&#x4E2D;&#x6821;&#x633A;&#x8EAB;&#x800C;&#x51FA;&#xFF0C;&#x5F88;&#x5FEB;&#x5B89;&#x629A;&#x4F4F;&#x6DF7;&#x4E71;&#x7684;&#x58EB;&#x5175;&#xFF0C;&#x6307;&#x6325;&#x5927;&#x5BB6;&#x6709;&#x5E8F;&#x64A4;&#x79BB;&#xFF08;&#x4EC0;&#x4E48;&#x662F;&#x9886;&#x5BFC;&#x529B;&#xFF0C;&#x8FD9;&#x5C31;&#x662F;&#x9886;&#x5BFC;&#x529B;:)&#xFF09;&#x3002;</p><p>&#x8001;&#x4EBA;&#x53EA;&#x662F;&#x5C06;&#x60C5;&#x611F;&#x6DF1;&#x85CF;&#x3002;80&#x591A;&#x5C81;&#x7684;&#x4E00;&#x4E2A;&#x8001;&#x592A;&#x592A;&#x62FF;&#x7740;&#x4E00;&#x4E2A;&#x6D0B;&#x5A03;&#x5A03;&#xFF0C;&#x8FD9;&#x662F;&#x5728;&#x5979;4&#x5C81;&#x65F6;&#x7236;&#x4EB2;&#x9001;&#x7ED9;&#x5979;&#x7684;&#xFF0C;&#x5979;&#x8EAB;&#x65C1;&#x8FD8;&#x6709;&#x4E00;&#x5F20;&#x7167;&#x7247;&#xFF0C;&#x7167;&#x7247;&#x4E0A;&#x662F;&#x4E00;&#x4E2A;&#x5C0F;&#x5973;&#x5B69;&#x62B1;&#x7740;&#x8FD9;&#x4E2A;&#x6D0B;&#x5A03;&#x5A03;&#xFF0C;&#x8FD9;&#x662F;&#x4E00;&#x5F20;70&#x5E74;&#x524D;&#x7684;&#x7167;&#x7247;&#x3002;</p><figure class="kg-card kg-image-card"><img src="https://liuqianglong.com/content/images/2024/09/girl.png" class="kg-image" alt="&#x200B;&#x63A8;&#x8350;&#x300A;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x6C89;&#x6CA1;&#x300B;" loading="lazy" width="500" height="777"></figure><p>&#x201C;&#x91CC;&#x65AF;&#x672C;&#x4E38;&#x201D;&#x53F7;&#x7684;&#x6C89;&#x6CA1;&#xFF0C;&#x4F3C;&#x4E4E;&#x6BCF;&#x4E2A;&#x4EBA;&#x90FD;&#x5728;&#x6B63;&#x786E;&#x7684;&#x6267;&#x884C;&#x547D;&#x4EE4;&#xFF0C;&#x8BA9;&#x6211;&#x4EEC;&#x770B;&#x5230;&#x4E86;&#x6218;&#x4E89;&#x9F7F;&#x8F6E;&#x4E0B;&#x7684;&#x65E0;&#x60C5;&#xFF0C;&#x4F46;&#x662F;&#x8FD9;&#x4E2A;&#x7EAA;&#x5F55;&#x7247;&#x8BA9;&#x6211;&#x4EEC;&#x770B;&#x5230;&#x4E86;&#x6BCF;&#x4E2A;&#x4EBA;&#x80CC;&#x540E;&#x7684;&#x6545;&#x4E8B;&#xFF0C;&#x6218;&#x4E89;&#x628A;&#x4EBA;&#x53D8;&#x6210;&#x6570;&#x5B57;&#xFF0C;&#x6545;&#x4E8B;&#x5C06;&#x6570;&#x5B57;&#x53D8;&#x6210;&#x4EBA;&#x3002;</p>]]></content:encoded></item><item><title><![CDATA[安装 Dify 并集成 Ollama 和 Xinference]]></title><description><![CDATA[<p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x901A;&#x8FC7; Docker &#x5B89;&#x88C5; Dify&#xFF0C;&#x7136;&#x540E;&#x96C6;&#x6210; Ollama &#x548C; XInference&#xFF0C;&#x5E76;&#x5229;&#x7528; Dify &#x5FEB;&#x901F;&#x642D;&#x5EFA;&#x4E00;&#x4E2A;&#x57FA;&#x4E8E;&#x77E5;&#x8BC6;&#x5E93;&#x95EE;&#x7B54;&#x7684;&#x5E94;&#x7528;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81dify-%E7%AE%80%E4%BB%8B">&#x4E00;&#x3001;Dify &#x7B80;&#x4ECB;</h2>
<p><strong>Dify</strong> &#x662F;&#x4E00;&#x6B3E;</p>]]></description><link>https://liuqianglong.com/install-dify-integrate-ollama-xinference/</link><guid isPermaLink="false">66e2a347f97a56cdde1387a4</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Thu, 12 Sep 2024 23:00:02 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/09/ai-dify-ollama-xinference.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/09/ai-dify-ollama-xinference.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference"><p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x901A;&#x8FC7; Docker &#x5B89;&#x88C5; Dify&#xFF0C;&#x7136;&#x540E;&#x96C6;&#x6210; Ollama &#x548C; XInference&#xFF0C;&#x5E76;&#x5229;&#x7528; Dify &#x5FEB;&#x901F;&#x642D;&#x5EFA;&#x4E00;&#x4E2A;&#x57FA;&#x4E8E;&#x77E5;&#x8BC6;&#x5E93;&#x95EE;&#x7B54;&#x7684;&#x5E94;&#x7528;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81dify-%E7%AE%80%E4%BB%8B">&#x4E00;&#x3001;Dify &#x7B80;&#x4ECB;</h2>
<p><strong>Dify</strong> &#x662F;&#x4E00;&#x6B3E;&#x5F00;&#x6E90;&#x7684;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF08;LLM&#xFF09;&#x5E94;&#x7528;&#x5F00;&#x53D1;&#x5E73;&#x53F0;&#xFF0C;&#x65E8;&#x5728;&#x5E2E;&#x52A9;&#x5F00;&#x53D1;&#x8005;&#x5FEB;&#x901F;&#x6784;&#x5EFA;&#x548C;&#x90E8;&#x7F72;&#x751F;&#x6210;&#x5F0F; AI &#x5E94;&#x7528;&#x3002;&#x4EE5;&#x4E0B;&#x662F; Dify &#x7684;&#x4E3B;&#x8981;&#x529F;&#x80FD;&#x548C;&#x7279;&#x70B9; [1]&#xFF1A;</p>
<ul>
<li><strong>&#x878D;&#x5408; Backend as Service &#x548C; LLMOps &#x7406;&#x5FF5;</strong>&#xFF1A;Dify &#x5C06;&#x540E;&#x7AEF;&#x5373;&#x670D;&#x52A1;&#xFF08;Backend as Service&#xFF09;&#x548C; LLMOps &#x7684;&#x7406;&#x5FF5;&#x7ED3;&#x5408;&#xFF0C;&#x4F7F;&#x5F00;&#x53D1;&#x8005;&#x80FD;&#x591F;&#x5FEB;&#x901F;&#x642D;&#x5EFA;&#x751F;&#x4EA7;&#x7EA7;&#x7684;&#x751F;&#x6210;&#x5F0F; AI &#x5E94;&#x7528;&#x3002;</li>
<li><strong>&#x652F;&#x6301;&#x591A;&#x79CD;&#x6A21;&#x578B;</strong>&#xFF1A;Dify &#x652F;&#x6301;&#x6570;&#x767E;&#x79CD;&#x4E13;&#x6709;&#x548C;&#x5F00;&#x6E90;&#x7684; LLM &#x6A21;&#x578B;&#xFF0C;&#x5305;&#x62EC; GPT&#x3001;Mistral&#x3001;Llama3 &#x7B49;&#xFF0C;&#x80FD;&#x591F;&#x65E0;&#x7F1D;&#x96C6;&#x6210;&#x6765;&#x81EA;&#x591A;&#x5BB6;&#x63A8;&#x7406;&#x63D0;&#x4F9B;&#x5546;&#x548C;&#x81EA;&#x6258;&#x7BA1;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x7684;&#x6A21;&#x578B;&#x3002;</li>
<li><strong>&#x76F4;&#x89C2;&#x7684; Prompt &#x7F16;&#x6392;&#x754C;&#x9762;</strong>&#xFF1A;Dify &#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x4E2A;&#x76F4;&#x89C2;&#x7684; Prompt IDE&#xFF0C;&#x7528;&#x4E8E;&#x7F16;&#x5199;&#x63D0;&#x793A;&#x3001;&#x6BD4;&#x8F83;&#x6A21;&#x578B;&#x6027;&#x80FD;&#xFF0C;&#x5E76;&#x5411;&#x57FA;&#x4E8E;&#x804A;&#x5929;&#x7684;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x6DFB;&#x52A0;&#x8BED;&#x97F3;&#x8F6C;&#x6362;&#x7B49;&#x9644;&#x52A0;&#x529F;&#x80FD;&#x3002;</li>
<li><strong>&#x9AD8;&#x8D28;&#x91CF;&#x7684; RAG &#x5F15;&#x64CE;</strong>&#xFF1A;Dify &#x62E5;&#x6709;&#x5E7F;&#x6CDB;&#x7684; RAG &#x529F;&#x80FD;&#xFF0C;&#x6DB5;&#x76D6;&#x4ECE;&#x6587;&#x6863;&#x6444;&#x53D6;&#x5230;&#x68C0;&#x7D22;&#x7684;&#x4E00;&#x5207;&#xFF0C;&#x5E76;&#x652F;&#x6301;&#x4ECE; PDF&#x3001;PPT &#x7B49;&#x5E38;&#x89C1;&#x6587;&#x6863;&#x683C;&#x5F0F;&#x4E2D;&#x63D0;&#x53D6;&#x6587;&#x672C;&#x3002;</li>
<li><strong>&#x96C6;&#x6210; Agent &#x6846;&#x67B6;</strong>&#xFF1A;&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x57FA;&#x4E8E; LLM &#x51FD;&#x6570;&#x8C03;&#x7528;&#x6216; ReAct &#x5B9A;&#x4E49;&#x4EE3;&#x7406;&#xFF0C;&#x5E76;&#x4E3A;&#x4EE3;&#x7406;&#x6DFB;&#x52A0;&#x9884;&#x6784;&#x5EFA;&#x6216;&#x81EA;&#x5B9A;&#x4E49;&#x5DE5;&#x5177;&#x3002;Dify &#x63D0;&#x4F9B;&#x4E86; 50 &#x591A;&#x79CD;&#x5185;&#x7F6E;&#x5DE5;&#x5177;&#xFF0C;&#x5982; Google &#x641C;&#x7D22;&#x3001;DELL&#xB7;E&#x3001;Stable Diffusion &#x548C; WolframAlpha&#x3002;</li>
<li><strong>&#x7075;&#x6D3B;&#x7684;&#x6D41;&#x7A0B;&#x7F16;&#x6392;</strong>&#xFF1A;Dify &#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x4E2A;&#x5F3A;&#x5927;&#x7684;&#x53EF;&#x89C6;&#x5316;&#x753B;&#x5E03;&#xFF0C;&#x7528;&#x4E8E;&#x6784;&#x5EFA;&#x548C;&#x6D4B;&#x8BD5;&#x5F3A;&#x5927;&#x7684; AI &#x5DE5;&#x4F5C;&#x6D41;&#xFF0C;&#x4F7F;&#x5F00;&#x53D1;&#x8005;&#x53EF;&#x4EE5;&#x76F4;&#x89C2;&#x5730;&#x8BBE;&#x8BA1;&#x548C;&#x4F18;&#x5316;&#x4ED6;&#x4EEC;&#x7684; AI &#x6D41;&#x7A0B;&#x3002;</li>
<li><strong>&#x5168;&#x9762;&#x7684;&#x76D1;&#x63A7;&#x548C;&#x5206;&#x6790;&#x5DE5;&#x5177;</strong>&#xFF1A;Dify &#x63D0;&#x4F9B;&#x4E86;&#x76D1;&#x63A7;&#x548C;&#x5206;&#x6790;&#x5E94;&#x7528;&#x65E5;&#x5FD7;&#x548C;&#x6027;&#x80FD;&#x7684;&#x5DE5;&#x5177;&#xFF0C;&#x5F00;&#x53D1;&#x8005;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x751F;&#x4EA7;&#x6570;&#x636E;&#x548C;&#x6CE8;&#x91CA;&#x4E0D;&#x65AD;&#x6539;&#x8FDB;&#x63D0;&#x793A;&#x3001;&#x6570;&#x636E;&#x96C6;&#x548C;&#x6A21;&#x578B;&#x3002;</li>
<li><strong>&#x540E;&#x7AEF;&#x5373;&#x670D;&#x52A1;</strong>&#xFF1A;Dify &#x7684;&#x6240;&#x6709;&#x529F;&#x80FD;&#x90FD;&#x9644;&#x5E26;&#x76F8;&#x5E94;&#x7684; API&#xFF0C;&#x56E0;&#x6B64;&#x53EF;&#x4EE5;&#x8F7B;&#x677E;&#x5C06; Dify &#x96C6;&#x6210;&#x5230;&#x60A8;&#x81EA;&#x5DF1;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x4E2D;&#x3002;</li>
</ul>
<h2 id="%E4%BA%8C%E3%80%81dify-%E5%AE%89%E8%A3%85">&#x4E8C;&#x3001;Dify &#x5B89;&#x88C5;</h2>
<p>&#x62F7;&#x8D1D; Dify Github&#x4EE3;&#x7801;&#x5230;&#x672C;&#x5730; [2]&#x3002;</p>
<pre><code class="language-shell">git clone https://github.com/langgenius/dify.git
</code></pre>
<p>&#x8FDB;&#x5165; dify &#x6E90;&#x4EE3;&#x7801;&#x7684; docker &#x76EE;&#x5F55;&#xFF0C;&#x62F7;&#x8D1D;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x3002;</p>
<pre><code class="language-shell">cd dify/docker
cp .env.example .env
</code></pre>
<p>&#x901A;&#x8FC7;docker compose&#x5B89;&#x88C5;&#x5E94;&#x7528;&#x3002;</p>
<pre><code class="language-shell">docker compose up -d
</code></pre>
<p>&#x8FDB;&#x5165;ollama&#x5BB9;&#x5668;&#xFF0C;&#x542F;&#x52A8;<code>qwen2:7b</code>&#x6A21;&#x578B;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-30-167:~/dify/docker# docker pull ollama/ollama
root@ip-172-31-83-158:~/dify/docker# docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always -e OLLAMA_KEEP_ALIVE=-1 ollama/ollama
root@ip-172-31-83-158:~/dify/docker# docker exec -it ollama bash
root@b094349fc98c:/# ollama run qwen2:7b
</code></pre>
<h2 id="%E4%B8%89%E3%80%81dify-%E6%B7%BB%E5%8A%A0ollama%E6%A8%A1%E5%9E%8B%E9%97%AE%E7%AD%94">&#x4E09;&#x3001;Dify &#x6DFB;&#x52A0;Ollama&#x6A21;&#x578B;&#x95EE;&#x7B54;</h2>
<p>&#x901A;&#x8FC7;EC2&#x7684;&#x516C;&#x7F51;IP&#x5730;&#x5740;&#x52A0;&#x4E0A;80&#x7AEF;&#x53E3;&#xFF0C;&#x767B;&#x5F55;Dify&#x4E3B;&#x9875;&#xFF0C;&#x521B;&#x5EFA;&#x7BA1;&#x7406;&#x8D26;&#x6237;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831210619928.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x901A;&#x8FC7;&#x7BA1;&#x7406;&#x5458;&#x8D26;&#x53F7;&#x767B;&#x5F55;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831210856556.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x70B9;&#x51FB;&#x7528;&#x6237;-&#x8BBE;&#x7F6E;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240912155736438.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x6DFB;&#x52A0;Ollama&#x6A21;&#x578B;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831210928284.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x6DFB;&#x52A0;<code>qwen2:7b</code>&#x6A21;&#x578B;&#xFF0C;&#x56E0;&#x4E3A;Ollama&#x662F;&#x5728;&#x672C;&#x673A;&#x542F;&#x52A8;&#xFF0C;&#x6240;&#x4EE5;&#x8BBE;&#x7F6E;URL&#x4E3A;&#x672C;&#x5730;IP&#x5730;&#x5740;&#xFF0C;&#x7AEF;&#x53E3;&#x4E3A;<code>114341</code>&#xFF0C;</p>
<blockquote>
<p>qwen2-7b-instruct &#x5229;&#x7528;YARN&#xFF08;&#x4E00;&#x79CD;&#x589E;&#x5F3A;&#x6A21;&#x578B;&#x957F;&#x5EA6;&#x5916;&#x63A8;&#x7684;&#x6280;&#x672F;&#xFF09;&#x652F;&#x6301; 131,072 tokens&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x4E3A;&#x4E86;&#x4FDD;&#x969C;&#x6B63;&#x5E38;&#x4F7F;&#x7528;&#x548C;&#x6B63;&#x5E38;&#x8F93;&#x51FA;&#xFF0C;&#x5EFA;&#x8BAE;API&#x9650;&#x5B9A;&#x7528;&#x6237;&#x8F93;&#x5165;&#x4E3A; 128,000 &#xFF0C;&#x8F93;&#x51FA;&#x6700;&#x5927; 6,144&#x3002;[3]</p>
</blockquote>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831210956971.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x70B9;&#x51FB; &#x5DE5;&#x4F5C;&#x5BA4;-&#x521B;&#x5EFA;&#x7A7A;&#x767D;&#x5E94;&#x7528;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831211013899.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x521B;&#x5EFA;&#x201C;&#x804A;&#x5929;&#x52A9;&#x624B;&#x201D;&#x7C7B;&#x578B;&#x7684;&#x5E94;&#x7528;&#xFF0C;&#x8BBE;&#x7F6E;&#x5E94;&#x7528;&#x540D;&#x79F0;&#x4E3A;<code>Qwen2-7B</code>&#xFF0C;&#x70B9;&#x51FB;&#x521B;&#x5EFA;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831211016746.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x4E3A;&#x5E94;&#x7528;&#x8BBE;&#x7F6E;&#x63D0;&#x793A;&#x8BCD;&quot;&#x4F60;&#x662F;&#x4E00;&#x4E2A;&#x4EBA;&#x5DE5;&#x667A;&#x80FD;&#x52A9;&#x624B;&quot;&#xFF0C;&#x53EF;&#x4EE5;&#x548C;<code>Qwen2:7B</code>&#x8FDB;&#x884C;&#x5BF9;&#x8BDD;&#x6D4B;&#x8BD5;&#xFF0C;&#x8FD9;&#x91CC;&#x662F;&#x548C;&#x5927;&#x6A21;&#x578B;&#x672C;&#x8EAB;&#x8FDB;&#x884C;&#x5BF9;&#x8BDD;&#xFF0C;&#x6CA1;&#x6709;&#x5F15;&#x5165;&#x5916;&#x90E8;&#x7684;&#x77E5;&#x8BC6;&#x5E93;&#xFF0C;&#x540E;&#x7EED;&#x4F1A;&#x5F15;&#x5165;&#x77E5;&#x8BC6;&#x5E93;&#x6BD4;&#x8F83;&#x56DE;&#x7B54;&#x7684;&#x7ED3;&#x679C;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831211022033.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<h2 id="%E5%9B%9B%E3%80%81dify-%E5%9F%BA%E4%BA%8E%E7%9F%A5%E8%AF%86%E5%BA%93%E9%97%AE%E7%AD%94">&#x56DB;&#x3001;Dify &#x57FA;&#x4E8E;&#x77E5;&#x8BC6;&#x5E93;&#x95EE;&#x7B54;</h2>
<p>&#x6DFB;&#x52A0;<code>Xorbits Inference</code>&#x63D0;&#x4F9B;&#x7684;&#x6A21;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831224623367.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x6DFB;&#x52A0;<code>Text Embedding</code>&#xFF0C;&#x5373;&#x6587;&#x672C;&#x5D4C;&#x5165;&#x6A21;&#x578B;&#xFF0C;&#x6A21;&#x578B;&#x7684;&#x540D;&#x79F0;&#x4E3A;<code>bge-m3</code>&#xFF0C;&#x670D;&#x52A1;&#x5668;URL&#x4E3A;<code>http://172.31.30.167:9997</code>&#xFF08;&#x8FD9;&#x91CC;&#x662F;&#x672C;&#x673A;&#x7684;IP&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x5B89;&#x88C5;&#x5728;&#x5176;&#x4ED6;&#x673A;&#x5668;&#xFF0C;&#x7F51;&#x7EDC;&#x548C;&#x7AEF;&#x53E3;&#x53EF;&#x8FBE;&#x5373;&#x53EF;&#xFF09;&#xFF0C;&#x5DF2;&#x7ECF;&#x63D0;&#x524D;&#x5728;&#x672C;&#x673A;&#x4E0A;&#x542F;&#x52A8;&#x4E86;XInference&#xFF0C;&#x5E76;&#x4E14;&#x542F;&#x52A8;&#x4E86;<code>bge-m3</code>&#x6A21;&#x578B;&#xFF08;&#x53C2;&#x8003;&#x4E0A;&#x4E00;&#x7BC7;&#x6587;&#x7AE0;&#xFF09;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831224701205.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x6DFB;&#x52A0;<code>Rerank</code>&#xFF0C;&#x5373;&#x91CD;&#x6392;&#x6A21;&#x578B;&#xFF0C;&#x6A21;&#x578B;&#x7684;&#x540D;&#x79F0;&#x4E3A;<code>bge-reraker-v2-m3</code>&#xFF0C;&#x670D;&#x52A1;&#x5668;URL&#x4E3A;<code>http://172.31.30.167:9997</code>&#xFF08;&#x8FD9;&#x91CC;&#x662F;&#x672C;&#x673A;&#x7684;IP&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x5B89;&#x88C5;&#x5728;&#x5176;&#x4ED6;&#x673A;&#x5668;&#xFF0C;&#x7F51;&#x7EDC;&#x548C;&#x7AEF;&#x53E3;&#x53EF;&#x8FBE;&#x5373;&#x53EF;&#xFF09;&#xFF0C;&#x5DF2;&#x7ECF;&#x63D0;&#x524D;&#x5728;&#x672C;&#x673A;&#x4E0A;&#x542F;&#x52A8;&#x4E86;XInference&#xFF0C;&#x5E76;&#x4E14;&#x542F;&#x52A8;&#x4E86;<code>bge-reraker-v2-m3</code>&#x6A21;&#x578B;&#xFF08;&#x53C2;&#x8003;&#x4E0A;&#x4E00;&#x7BC7;&#x6587;&#x7AE0;&#xFF09;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831224932686.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x67E5;&#x770B;&#x7CFB;&#x7EDF;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831225022229.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x70B9;&#x51FB;&#x201C;&#x77E5;&#x8BC6;&#x5E93;&#x201D;-&#x201C;&#x5BFC;&#x5165;&#x5DF2;&#x6709;&#x6587;&#x672C;&#x201D;-&#x201C;&#x4E0A;&#x4F20;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x201D;-&#x9009;&#x62E9;&#x300A;&#x4FC3;&#x8FDB;&#x548C;&#x89C4;&#x8303;&#x6570;&#x636E;&#x8DE8;&#x5883;&#x6D41;&#x52A8;&#x89C4;&#x5B9A;&#x300B;&#x7684;&#x6587;&#x6863;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831225042306.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x5BFC;&#x5165;&#x6210;&#x529F;&#x540E;&#xFF0C;&#x8BBE;&#x7F6E;&#x6587;&#x672C;&#x68C0;&#x7D22;&#x65B9;&#x5F0F;&#xFF0C;&#x5F00;&#x542F;<code>Rerank</code>&#x6A21;&#x578B;&#xFF0C;&#x9009;&#x62E9;<code>bge-reranker-v2-m3</code>&#x6A21;&#x578B;&#xFF0C;&#x5F00;&#x542F;&#x9ED8;&#x8BA4;&#x7684;<code>Score</code>&#x9608;&#x503C;&#x4E3A;0.5&#xFF08;&#x5373;&#x6587;&#x672C;&#x5339;&#x914D;&#x5EA6;&#x4F4E;&#x4E8E;0.5&#x5206;&#x65F6;&#xFF0C;&#x4E0D;&#x4F1A;&#x53EC;&#x56DE;&#xFF0C;&#x4E0D;&#x4F1A;&#x6DFB;&#x52A0;&#x5230;&#x5927;&#x6A21;&#x578B;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x4E2D;&#xFF09;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831225141554.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x5728;&#x4E4B;&#x524D;&#x7684;&#x804A;&#x5929;&#x5E94;&#x7528;&#x4E2D;&#xFF0C;&#x6DFB;&#x52A0;&#x4E0A;&#x9762;&#x521B;&#x5EFA;&#x7684;&#x77E5;&#x8BC6;&#x5E93;&#xFF0C;&#x91CD;&#x65B0;&#x8BE2;&#x95EE;&#x5927;&#x6A21;&#x578B;&#x76F8;&#x540C;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6A21;&#x578B;&#x7ED3;&#x5408;&#x77E5;&#x8BC6;&#x5E93;&#x8FDB;&#x884C;&#x4E86;&#x56DE;&#x7B54;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831225356966.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x53EF;&#x4EE5;&#x70B9;&#x51FB;&#x201C;Prompt&#x65E5;&#x5FD7;&#x201D;&#xFF0C;&#x67E5;&#x770B;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#xFF0C;&#x53EF;&#x4EE5;&#x67E5;&#x770B;&#x7CFB;&#x7EDF;&#x63D0;&#x793A;&#x8BCD;&#xFF0C;&#x5C06;&#x5339;&#x914D;&#x7684;&#x77E5;&#x8BC6;&#x5E93;&#x5185;&#x5BB9;&#x653E;&#x5728;&#x4E86;<code>&lt;context&gt;&lt;/context&gt;</code>&#x4E2D;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831231810412.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<p>&#x70B9;&#x51FB;&#x521B;&#x5EFA;&#x7684;&#x77E5;&#x8BC6;&#x5E93;-&#x70B9;&#x51FB;&#x201C;&#x53EC;&#x56DE;&#x6D4B;&#x8BD5;&#x201D;&#xFF0C;&#x53EF;&#x4EE5;&#x8F93;&#x5165;&#x4E00;&#x6BB5;&#x6587;&#x672C;&#xFF0C;&#x7528;&#x4E0E;&#x5339;&#x914D;&#x77E5;&#x8BC6;&#x5E93;&#x4E2D;&#x7684;&#x6587;&#x672C;&#xFF0C;&#x5339;&#x914D;&#x5230;&#x7684;&#x6587;&#x672C;&#x6709;&#x4E00;&#x4E2A;&#x6743;&#x91CD;&#x5206;&#x6570;&#xFF0C;&#x4E0A;&#x9762;&#x8BBE;&#x7F6E;&#x8FC7;&#x7684;&#x9608;&#x503C;&#x662F;0.5&#xFF0C;&#x5373;&#x5927;&#x4E8E;&#x8FD9;&#x4E2A;&#x5206;&#x6570;&#x7684;&#x624D;&#x4F1A;&#x663E;&#x793A;&#x4E3A;&#x201C;&#x53EC;&#x56DE;&#x6BB5;&#x843D;&#x201D;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-dify-ollama-xinference/image-20240831231815155.png" alt="&#x5B89;&#x88C5; Dify &#x5E76;&#x96C6;&#x6210; Ollama &#x548C; Xinference" loading="lazy"></p>
<h2 id="%E4%BA%94%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x4E94;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>[1] Dify &#x5B98;&#x7F51;&#xFF1A;<a href="https://dify.ai/zh?ref=liuqianglong.com">https://dify.ai/zh</a></li>
<li>[2] Dify Docker Compose &#x90E8;&#x7F72;&#xFF1A;<a href="https://docs.dify.ai/v/zh-hans/getting-started/install-self-hosted/docker-compose?ref=liuqianglong.com">https://docs.dify.ai/v/zh-hans/getting-started/install-self-hosted/docker-compose</a></li>
<li>[3] Qwen Token&#x9650;&#x5236;&#xFF1A;<a href="https://help.aliyun.com/zh/dashscope/developer-reference/tongyi-qianwen-7b-14b-72b-api-detailes?ref=liuqianglong.com">https://help.aliyun.com/zh/dashscope/developer-reference/tongyi-qianwen-7b-14b-72b-api-detailes</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Xinference 本地运行大模型]]></title><description><![CDATA[<p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x5982;&#x4F55;&#x4F7F;&#x7528; Docker &#x90E8;&#x7F72; Xinference &#x63A8;&#x7406;&#x6846;&#x67B6;&#xFF0C;&#x5E76;&#x6F14;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x542F;&#x52A8;&#x548C;&#x8FD0;&#x884C;&#x591A;&#x79CD;&#x5927;&#x6A21;&#x578B;&#xFF0C;&#x5305;&#x62EC;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x3001;&#x56FE;&#x50CF;&#x751F;&#x6210;&#x6A21;&#x578B;&#x548C;</p>]]></description><link>https://liuqianglong.com/xinference-local-run-large-model/</link><guid isPermaLink="false">66e2a204f97a56cdde138791</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Thu, 12 Sep 2024 08:14:40 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/09/ai-xinference-local-model.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/09/ai-xinference-local-model.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;"><p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x5982;&#x4F55;&#x4F7F;&#x7528; Docker &#x90E8;&#x7F72; Xinference &#x63A8;&#x7406;&#x6846;&#x67B6;&#xFF0C;&#x5E76;&#x6F14;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x542F;&#x52A8;&#x548C;&#x8FD0;&#x884C;&#x591A;&#x79CD;&#x5927;&#x6A21;&#x578B;&#xFF0C;&#x5305;&#x62EC;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x3001;&#x56FE;&#x50CF;&#x751F;&#x6210;&#x6A21;&#x578B;&#x548C;&#x591A;&#x6A21;&#x6001;&#x6A21;&#x578B;&#x3002;&#x8FD8;&#x8BB2;&#x89E3;&#x4E86;&#x5D4C;&#x5165;&#x548C;&#x91CD;&#x6392;&#x6A21;&#x578B;&#x7684;&#x542F;&#x52A8;&#x65B9;&#x6CD5;&#xFF0C;&#x4E3A;&#x540E;&#x7EED; Dify &#x8C03;&#x7528;&#x5D4C;&#x5165;&#x548C;&#x91CD;&#x6392;&#x6A21;&#x578B;&#x505A;&#x4E3A;&#x94FA;&#x57AB;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81xinference-%E7%AE%80%E4%BB%8B">&#x4E00;&#x3001;Xinference &#x7B80;&#x4ECB;</h2>
<p>Xorbits Inference (Xinference) &#x662F;&#x4E00;&#x4E2A;&#x5F00;&#x6E90;&#x7684;&#x5206;&#x5E03;&#x5F0F;&#x63A8;&#x7406;&#x6846;&#x67B6;&#xFF0C;&#x4E13;&#x4E3A;&#x5927;&#x89C4;&#x6A21;&#x6A21;&#x578B;&#x63A8;&#x7406;&#x4EFB;&#x52A1;&#x8BBE;&#x8BA1;&#x3002;&#x5B83;&#x652F;&#x6301;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF08;LLM&#xFF09;&#x3001;&#x591A;&#x6A21;&#x6001;&#x6A21;&#x578B;&#x3001;&#x8BED;&#x97F3;&#x8BC6;&#x522B;&#x6A21;&#x578B;&#x7B49;&#x591A;&#x79CD;&#x6A21;&#x578B;&#x7684;&#x63A8;&#x7406;&#x3002;&#x4EE5;&#x4E0B;&#x662F; Xinference &#x7684;&#x4E3B;&#x8981;&#x7279;&#x70B9; [1]&#xFF1A;</p>
<ul>
<li><strong>&#x6A21;&#x578B;&#x4E00;&#x952E;&#x90E8;&#x7F72;</strong>&#xFF1A;&#x6781;&#x5927;&#x7B80;&#x5316;&#x4E86;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x3001;&#x591A;&#x6A21;&#x6001;&#x6A21;&#x578B;&#x548C;&#x8BED;&#x97F3;&#x8BC6;&#x522B;&#x6A21;&#x578B;&#x7684;&#x90E8;&#x7F72;&#x8FC7;&#x7A0B;&#x3002;</li>
<li><strong>&#x5185;&#x7F6E;&#x524D;&#x6CBF;&#x6A21;&#x578B;</strong>&#xFF1A;&#x652F;&#x6301;&#x4E00;&#x952E;&#x4E0B;&#x8F7D;&#x5E76;&#x90E8;&#x7F72;&#x5927;&#x91CF;&#x524D;&#x6CBF;&#x5F00;&#x6E90;&#x6A21;&#x578B;&#xFF0C;&#x5982; <code>Qwen2</code>&#x3001;<code>chatglm2</code>&#x3001;&#x7B49;&#x3002;</li>
<li><strong>&#x5F02;&#x6784;&#x786C;&#x4EF6;&#x652F;&#x6301;</strong>&#xFF1A;&#x53EF;&#x4EE5;&#x5229;&#x7528; CPU &#x548C; GPU &#x8FDB;&#x884C;&#x63A8;&#x7406;&#xFF0C;&#x63D0;&#x5347;&#x96C6;&#x7FA4;&#x541E;&#x5410;&#x91CF;&#x548C;&#x964D;&#x4F4E;&#x5EF6;&#x8FDF;&#x3002;</li>
<li><strong>&#x7075;&#x6D3B;&#x7684; API</strong>&#xFF1A;&#x63D0;&#x4F9B;&#x5305;&#x62EC; RPC &#x548C; RESTful API &#x5728;&#x5185;&#x7684;&#x591A;&#x79CD;&#x63A5;&#x53E3;&#xFF0C;&#x517C;&#x5BB9; OpenAI &#x534F;&#x8BAE;&#xFF0C;&#x65B9;&#x4FBF;&#x4E0E;&#x73B0;&#x6709;&#x7CFB;&#x7EDF;&#x96C6;&#x6210;&#x3002;</li>
<li><strong>&#x5206;&#x5E03;&#x5F0F;&#x67B6;&#x6784;</strong>&#xFF1A;&#x652F;&#x6301;&#x8DE8;&#x8BBE;&#x5907;&#x548C;&#x8DE8;&#x670D;&#x52A1;&#x5668;&#x7684;&#x5206;&#x5E03;&#x5F0F;&#x90E8;&#x7F72;&#xFF0C;&#x5141;&#x8BB8;&#x9AD8;&#x5E76;&#x53D1;&#x63A8;&#x7406;&#xFF0C;&#x5E76;&#x7B80;&#x5316;&#x6269;&#x5BB9;&#x548C;&#x7F29;&#x5BB9;&#x64CD;&#x4F5C;&#x3002;</li>
<li><strong>&#x7B2C;&#x4E09;&#x65B9;&#x96C6;&#x6210;</strong>&#xFF1A;&#x4E0E; LangChain &#x7B49;&#x6D41;&#x884C;&#x5E93;&#x65E0;&#x7F1D;&#x5BF9;&#x63A5;&#xFF0C;&#x5FEB;&#x901F;&#x6784;&#x5EFA;&#x57FA;&#x4E8E; AI &#x7684;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x3002;</li>
</ul>
<h2 id="%E4%BA%8C%E3%80%81xinference-docker-%E9%83%A8%E7%BD%B2">&#x4E8C;&#x3001;Xinference Docker &#x90E8;&#x7F72;</h2>
<p>docker&#x955C;&#x50CF;&#x6587;&#x4EF6;&#x975E;&#x5E38;&#x5927;&#xFF0C;&#x62C9;&#x53D6;&#x6587;&#x4EF6;&#x9700;&#x8981;&#x8017;&#x8D39;&#x5F88;&#x957F;&#x65F6;&#x95F4;&#x3002;</p>
<pre><code class="language-shell">docker pull xprobe/xinference
</code></pre>
<p>&#x67E5;&#x770B;xinference docker&#x955C;&#x50CF;&#x6587;&#x4EF6;&#xFF0C;&#x76EE;&#x524D;&#x5927;&#x5C0F;&#x4E3A;17.7GB&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# docker images
REPOSITORY          TAG       IMAGE ID       CREATED         SIZE
xprobe/xinference   latest    96b2be814b0f   2 days ago     17.6GB
</code></pre>
<p>&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x76EE;&#x5F55;&#xFF0C;&#x7528;&#x4E0E;&#x5B58;&#x653E;xinference&#x7F13;&#x5B58;&#x6587;&#x4EF6;&#x548C;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x3002;</p>
<pre><code class="language-shell">mkdir -p /xinference/data
</code></pre>
<p>&#x542F;&#x52A8;&#x5BB9;&#x5668;&#x3002;&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x955C;&#x50CF;&#x4E2D;&#x4E0D;&#x5305;&#x542B;&#x4EFB;&#x4F55;&#x6A21;&#x578B;&#x6587;&#x4EF6;&#xFF0C;&#x4F7F;&#x7528;&#x8FC7;&#x7A0B;&#x4E2D;&#x4F1A;&#x5728;&#x5BB9;&#x5668;&#x5185;&#x4E0B;&#x8F7D;&#x6A21;&#x578B;&#x3002;&#x5982;&#x679C;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x5DF2;&#x7ECF;&#x4E0B;&#x8F7D;&#x597D;&#x7684;&#x6A21;&#x578B;&#xFF0C;&#x9700;&#x8981;&#x5C06;&#x5BBF;&#x4E3B;&#x673A;&#x7684;&#x76EE;&#x5F55;&#x6302;&#x8F7D;&#x5230;&#x5BB9;&#x5668;&#x5185;&#x3002;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x9700;&#x8981;&#x5728;&#x8FD0;&#x884C;&#x5BB9;&#x5668;&#x65F6;&#x6307;&#x5B9A;&#x672C;&#x5730;&#x5377;&#xFF0C;&#x5E76;&#x4E14;&#x4E3A; Xinference &#x914D;&#x7F6E;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x3002;</p>
<ul>
<li><strong>XINFERENCE_MODEL_SRC</strong>&#xFF1A;&#x914D;&#x7F6E;&#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x4ED3;&#x5E93;&#x3002;&#x9ED8;&#x8BA4;&#x4E0B;&#x8F7D;&#x6E90;&#x662F; &#x201C;huggingface&#x201D;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;&#x4E3A; &#x201C;modelscope&#x201D; &#x4F5C;&#x4E3A;&#x4E0B;&#x8F7D;&#x6E90;&#x3002;</li>
<li><strong>XINFERENCE_HOME</strong>&#xFF1A;Xinference &#x9ED8;&#x8BA4;&#x4F7F;&#x7528; <code>&lt;HOME&gt;/.xinference</code> &#x4F5C;&#x4E3A;&#x9ED8;&#x8BA4;&#x76EE;&#x5F55;&#x6765;&#x5B58;&#x50A8;&#x6A21;&#x578B;&#x4EE5;&#x53CA;&#x65E5;&#x5FD7;&#x7B49;&#x5FC5;&#x8981;&#x7684;&#x6587;&#x4EF6;&#x3002;&#x5176;&#x4E2D; <code>&lt;HOME&gt;</code> &#x662F;&#x5F53;&#x524D;&#x7528;&#x6237;&#x7684;&#x4E3B;&#x76EE;&#x5F55;&#x3002;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x8FD9;&#x4E2A;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x6765;&#x4FEE;&#x6539;&#x9ED8;&#x8BA4;&#x76EE;&#x5F55;&#x3002;</li>
</ul>
<pre><code class="language-shell">docker run -d \
  --name xinference \
  -v /xinference/data/.xinference:/root/.xinference \
  -v /xinference/data/.cache/huggingface:/root/.cache/huggingface \
  -v /xinference/data/.cache/modelscope:/root/.cache/modelscope \
  -v /xinference/log:/workspace/xinference/logs \
  -e XINFERENCE_HOME=/xinference \
  -p 9997:9997 \
  --gpus all \
  xprobe/xinference:latest \
  xinference-local -H 0.0.0.0 --log-level debug
</code></pre>
<h2 id="%E4%B8%89%E3%80%81xinference-%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C%E5%A4%A7%E6%A8%A1%E5%9E%8B">&#x4E09;&#x3001;Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;</h2>
<p>&#x5BB9;&#x5668;&#x542F;&#x52A8;&#x540E;&#xFF0C;&#x8BBF;&#x95EE;&#x516C;&#x7F51;&#x5730;&#x5740;&#x52A0;&#x4E0A;9997&#x7AEF;&#x53E3;&#xFF0C;&#x542F;&#x52A8;qwen2-instruct&#x6A21;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240705172918283.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x4F7F;&#x7528;Xinference&#x81EA;&#x5E26;&#x7684;&#x56FE;&#x5F62;&#x5316;&#x804A;&#x5929;&#x754C;&#x9762;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240705172924372.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x804A;&#x5929;&#x6D4B;&#x8BD5;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240705172928726.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x6D4B;&#x8BD5;<strong>&#x56FE;&#x7247;&#x751F;&#x6210;</strong>&#x6A21;&#x578B;&#xFF0C;&#x542F;&#x52A8;<code>sd-trubo</code>&#x56FE;&#x7247;&#x751F;&#x6210;&#x6A21;&#x578B;&#xFF0C;<strong>&#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x548C;&#x542F;&#x52A8;&#x7684;&#x65F6;&#x95F4;&#x8F83;&#x957F;&#xFF0C;&#x9700;&#x8981;&#x591A;&#x7B49;&#x5F85;&#x4E00;&#x4F1A;</strong>&#xFF0C;&#x8FD0;&#x884C;&#x5927;&#x6982;&#x9700;&#x8981;12G GPU&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240705173006725.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x542F;&#x52A8;&#x56FE;&#x5F62;&#x5316;&#x804A;&#x5929;&#x754C;&#x9762;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240708104954508.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x4F7F;&#x7528;&#x63D0;&#x793A;&#x8BCD;<code>cartoon cloud</code>&#x751F;&#x6210;&#x56FE;&#x7247;&#xFF0C;&#x8BBE;&#x7F6E;&#x5206;&#x8FA8;&#x7387;&#x4E3A;512*512&#xFF0C;&#x70B9;&#x51FB;Generate&#x751F;&#x6210;&#x56FE;&#x7247;&#x3002;&#x56FE;&#x7247;&#x50CF;&#x7D20;&#x8BBE;&#x7F6E;&#x7684;&#x8D8A;&#x5927;&#xFF0C;&#x751F;&#x6210;&#x7684;&#x65F6;&#x95F4;&#x8D8A;&#x957F;&#xFF0C;&#x5360;&#x7528;&#x7684;GPU&#x8D8A;&#x591A;&#xFF0C;&#x8BBE;&#x7F6E;1024 * 1024&#x50CF;&#x7D20;&#xFF0C;&#x5927;&#x81F4;&#x9700;&#x8981;&#x5360;&#x7528;6G GPU&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240708104917935.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>Xinference&#x76EE;&#x524D;&#x65E0;&#x6CD5;&#x540C;&#x65F6;&#x8FD0;&#x884C;&#x591A;&#x4E2A;&#x5927;&#x6A21;&#x578B;&#xFF0C;&#x5728;&#x8FD0;&#x884C;&#x65B0;&#x7684;&#x6A21;&#x578B;&#x4E4B;&#x524D;&#xFF0C;&#x9700;&#x8981;&#x505C;&#x6B62;&#x4E4B;&#x524D;&#x7684;&#x6A21;&#x578B;&#x3002;</p>
<p>&#x6D4B;&#x8BD5;<strong>&#x591A;&#x6A21;&#x6001;</strong>&#x6A21;&#x578B;&#xFF0C;&#x542F;&#x52A8;<code>qwen-vl-chat</code>&#x89C6;&#x89C9;&#x804A;&#x5929;&#x6A21;&#x578B;&#xFF0C;&#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x548C;&#x542F;&#x52A8;&#x4E5F;&#x9700;&#x8981;&#x8F83;&#x957F;&#x65F6;&#x95F4;&#xFF0C;&#x6A21;&#x578B;&#x9700;&#x8981;20G GPU&#x624D;&#x80FD;&#x8FD0;&#x884C;&#xFF0C;&#x6240;&#x4EE5;&#x81F3;&#x5C11;&#x9700;&#x8981;<code>g5.xlarge</code>&#xFF08;24G GPU&#xFF09;&#x624D;&#x80FD;&#x8FD0;&#x884C;&#xFF0C;<code>g4dn.xlarge</code>&#xFF08;16G GPU&#xFF09;&#x65E0;&#x6CD5;&#x8FD0;&#x884C;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240829115013624.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x4E0A;&#x4F20;&#x56FE;&#x7247;&#x804A;&#x5929;&#x6D4B;&#x8BD5;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240829114943971.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<h2 id="%E5%9B%9B%E3%80%81xinference-%E5%90%AF%E5%8A%A8%E5%B5%8C%E5%85%A5%E5%92%8C%E9%87%8D%E6%8E%92%E6%A8%A1%E5%9E%8B">&#x56DB;&#x3001;Xinference &#x542F;&#x52A8;&#x5D4C;&#x5165;&#x548C;&#x91CD;&#x6392;&#x6A21;&#x578B;</h2>
<p>Xinference&#x53EA;&#x80FD;&#x540C;&#x65F6;&#x542F;&#x52A8;&#x4E00;&#x4E2A;&#x8BED;&#x97F3;&#x6A21;&#x578B;&#x3001;&#x56FE;&#x7247;&#x6A21;&#x578B;&#x3001;&#x8BED;&#x97F3;&#x6A21;&#x578B;&#xFF0C;&#x4F46;&#x662F;&#x53EF;&#x4EE5;&#x540C;&#x65F6;&#x542F;&#x52A8;&#x591A;&#x4E2A;&#x5D4C;&#x5165;&#x6A21;&#x578B;&#x3001;&#x91CD;&#x6392;&#x6A21;&#x578B;&#x3002;</p>
<p>&#x8FD9;&#x91CC;&#x4F7F;&#x7528;&#x7684;&#x5D4C;&#x5165;&#xFF08;embedding&#xFF09;&#x6A21;&#x578B;&#x662F;<code>bge-m3</code>&#xFF0C;&#x91CD;&#x6392;&#xFF08;reranker&#xFF09;&#x6A21;&#x578B;&#x662F;<code>bge-reranker-v2-m3</code>&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240708144807154.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x542F;&#x52A8;<code>bge-m3</code>&#x5D4C;&#x5165;&#x6A21;&#x578B;&#xFF0C;ollama&#x540E;&#x7EED;&#x53EF;&#x4EE5;&#x8C03;&#x7528;&#x8FD9;&#x4E2A;&#x6A21;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240708132935817.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x6A21;&#x578B;&#x6B63;&#x5E38;&#x542F;&#x52A8;&#xFF0C;&#x540E;&#x7EED;Dify&#x53EF;&#x4EE5;&#x8C03;&#x7528;&#x6B64;&#x5D4C;&#x5165;&#x6A21;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240708132940587.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x542F;&#x52A8;<code>bge-reranker-v2-m3</code>&#x91CD;&#x6392;&#x6A21;&#x578B;&#xFF0C;ollama &#x540E;&#x7EED;&#x53EF;&#x4EE5;&#x8C03;&#x7528;&#x8FD9;&#x4E2A;&#x6A21;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240708132944835.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x6A21;&#x578B;&#x6B63;&#x5E38;&#x542F;&#x52A8;&#xFF0C;&#x540E;&#x7EED;Dify&#x53EF;&#x4EE5;&#x8C03;&#x7528;&#x6B64;&#x91CD;&#x6392;&#x6A21;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-xinference-local-model/image-20240708133009007.png" alt="Xinference &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<h2 id="%E4%BA%94%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x4E94;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>[1] Xinference Github&#x4E3B;&#x9875;&#xFF1A;<a href="https://github.com/xorbitsai/inference/blob/main/README_zh_CN.md?ref=liuqianglong.com">https://github.com/xorbitsai/inference/blob/main/README_zh_CN.md</a></li>
<li>[2] Xinference &#x73AF;&#x5883;&#x53D8;&#x91CF;&#xFF1A;<a href="https://inference.readthedocs.io/zh-cn/latest/getting_started/environments.html?ref=liuqianglong.com">https://inference.readthedocs.io/zh-cn/latest/getting_started/environments.html</a></li>
<li>[3] Xinference Docker&#x5B89;&#x88C5;&#x6587;&#x6863;&#xFF1A;<a href="https://inference.readthedocs.io/zh-cn/latest/getting_started/using_docker_image.html?ref=liuqianglong.com">https://inference.readthedocs.io/zh-cn/latest/getting_started/using_docker_image.html</a></li>
<li>[4] &#x5D4C;&#x5165;&#x6A21;&#x578B;bge-m3&#xFF1A;<a href="https://huggingface.co/BAAI/bge-m3?ref=liuqianglong.com">https://huggingface.co/BAAI/bge-m3</a></li>
<li>[5] &#x91CD;&#x6392;&#x6A21;&#x578B;bge-reranker-v2-m3&#xFF1A;<a href="https://huggingface.co/BAAI/bge-reranker-v2-m3?ref=liuqianglong.com">https://huggingface.co/BAAI/bge-reranker-v2-m3</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Ollama 结合 Open-WebUI 本地运行大模型]]></title><description><![CDATA[<p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x5982;&#x4F55;&#x4F7F;&#x7528; Ollama &#x5728;&#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x578B;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x4EE5;&#x53CA;&#x5229;&#x7528; Open-WebUI &#x63D0;&#x4F9B;&#x7684;&#x56FE;&#x5F62;&#x5316;&#x754C;&#x9762;&#x4E0E;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x4EA4;&#x4E92;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81ollama-%E7%AE%80%E4%BB%8B">&#x4E00;&#x3001;Ollama &#x7B80;</h2>]]></description><link>https://liuqianglong.com/ollama-open-webui-local-llm/</link><guid isPermaLink="false">66cf4462d3a3fd314cf2f703</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Thu, 29 Aug 2024 00:00:36 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/ollama-openwebui-llm.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/08/ollama-openwebui-llm.png" alt="Ollama &#x7ED3;&#x5408; Open-WebUI &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;"><p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;&#x5982;&#x4F55;&#x4F7F;&#x7528; Ollama &#x5728;&#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x578B;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x4EE5;&#x53CA;&#x5229;&#x7528; Open-WebUI &#x63D0;&#x4F9B;&#x7684;&#x56FE;&#x5F62;&#x5316;&#x754C;&#x9762;&#x4E0E;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x4EA4;&#x4E92;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81ollama-%E7%AE%80%E4%BB%8B">&#x4E00;&#x3001;Ollama &#x7B80;&#x4ECB;</h2>
<p>Ollama &#x662F;&#x4E00;&#x4E2A;&#x5F00;&#x6E90;&#x6846;&#x67B6;&#xFF0C;&#x4E13;&#x95E8;&#x8BBE;&#x8BA1;&#x7528;&#x4E8E;&#x5728;&#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x578B;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF08;LLM&#xFF09;&#x3002;&#x5B83;&#x7684;&#x4E3B;&#x8981;&#x7279;&#x70B9;&#x548C;&#x529F;&#x80FD;&#x5982;&#x4E0B;&#xFF1A;</p>
<ul>
<li><strong>&#x7B80;&#x5316;&#x90E8;&#x7F72;</strong>&#xFF1A;Ollama &#x65E8;&#x5728;&#x7B80;&#x5316;&#x5728; Docker &#x5BB9;&#x5668;&#x4E2D;&#x90E8;&#x7F72; LLM &#x7684;&#x8FC7;&#x7A0B;&#xFF0C;&#x4F7F;&#x5F97;&#x7BA1;&#x7406;&#x548C;&#x8FD0;&#x884C;&#x8FD9;&#x4E9B;&#x6A21;&#x578B;&#x53D8;&#x5F97;&#x66F4;&#x52A0;&#x5BB9;&#x6613;&#x3002;&#x5B89;&#x88C5;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x7B80;&#x5355;&#x7684;&#x547D;&#x4EE4;&#x884C;&#x64CD;&#x4F5C;&#x542F;&#x52A8;&#x548C;&#x8FD0;&#x884C;&#x5927;&#x578B;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x8981;&#x8FD0;&#x884C; Gemma 2B &#x6A21;&#x578B;&#xFF0C;&#x53EA;&#x9700;&#x6267;&#x884C;&#x547D;&#x4EE4; <code>ollama run gemma:2b</code>&#x3002;</li>
<li><strong>&#x6346;&#x7ED1;&#x6A21;&#x578B;&#x7EC4;&#x4EF6;</strong>&#xFF1A;&#x5B83;&#x5C06;&#x6A21;&#x578B;&#x6743;&#x91CD;&#x3001;&#x914D;&#x7F6E;&#x548C;&#x6570;&#x636E;&#x6346;&#x7ED1;&#x5230;&#x4E00;&#x4E2A;&#x5305;&#x4E2D;&#xFF0C;&#x79F0;&#x4E3A; Modelfile&#xFF0C;&#x8FD9;&#x6709;&#x52A9;&#x4E8E;&#x4F18;&#x5316;&#x8BBE;&#x7F6E;&#x548C;&#x914D;&#x7F6E;&#x7EC6;&#x8282;&#xFF0C;&#x5305;&#x62EC; GPU &#x4F7F;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
<li><strong>&#x652F;&#x6301;&#x591A;&#x79CD;&#x6A21;&#x578B;</strong>&#xFF1A;Ollama &#x652F;&#x6301;&#x591A;&#x79CD;&#x5927;&#x578B;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x5982; Llama 2&#x3001;Code Llama&#x3001;Mistral&#x3001;Gemma &#x7B49;&#xFF0C;&#x5E76;&#x5141;&#x8BB8;&#x7528;&#x6237;&#x6839;&#x636E;&#x7279;&#x5B9A;&#x9700;&#x6C42;&#x5B9A;&#x5236;&#x548C;&#x521B;&#x5EFA;&#x81EA;&#x5DF1;&#x7684;&#x6A21;&#x578B;&#x3002;</li>
<li><strong>&#x8DE8;&#x5E73;&#x53F0;&#x652F;&#x6301;</strong>&#xFF1A;&#x652F;&#x6301; Windows&#x3001;macOS &#x548C; Linux &#x5E73;&#x53F0;&#x3002;&#x5B89;&#x88C5;&#x8FC7;&#x7A0B;&#x7B80;&#x5355;&#xFF0C;&#x7528;&#x6237;&#x53EA;&#x9700;&#x8BBF;&#x95EE; Ollama &#x7684;&#x5B98;&#x65B9;&#x7F51;&#x7AD9;&#x4E0B;&#x8F7D;&#x76F8;&#x5E94;&#x5E73;&#x53F0;&#x7684;&#x5B89;&#x88C5;&#x5305;&#x5373;&#x53EF;&#x3002;</li>
</ul>
<h2 id="%E4%BA%8C%E3%80%81docker%E5%AE%89%E8%A3%85-ollama">&#x4E8C;&#x3001;Docker&#x5B89;&#x88C5; Ollama</h2>
<p>&#x9009;&#x62E9;Deep Learning&#x7C7B;&#x578B;&#x7684;AMI&#xFF0C;&#x8FD9;&#x4E2A;&#x7C7B;&#x578B;&#x7684;AMI&#x5DF2;&#x7ECF;&#x9884;&#x5148;&#x5B89;&#x88C5;&#x4E86;&#x82F1;&#x4F1F;&#x8FBE;&#x7684;&#x9A71;&#x52A8;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-ollama-openwebui-llm/image-20240705135706563.png" alt="Ollama &#x7ED3;&#x5408; Open-WebUI &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x9009;&#x62E9;<code>g4dn.xlarge</code>&#x7C7B;&#x578B;&#x5B9E;&#x4F8B;&#xFF0C;&#x5E26;&#x6709;1&#x4E2A;NVIDA T4&#x663E;&#x5361;&#xFF0C;&#x5171;&#x6709;16GB GPU&#xFF0C;&#x8FD9;&#x662F;&#x5E26;&#x6709;&#x82F1;&#x4F1F;&#x8FBE;&#x663E;&#x5361;&#x6700;&#x4FBF;&#x5B9C;&#x7684;&#x5B9E;&#x4F8B;&#x3002;&#x8FD9;&#x4E2A;AMI&#x5DF2;&#x7ECF;&#x9884;&#x88C5;&#x4E86;docker&#x5305;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x5B89;&#x88C5;&#x7684;Ubuntu&#x7CFB;&#x5217;&#x7CFB;&#x7EDF;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4E0B;&#x9762;&#x547D;&#x4EE4;&#x5B89;&#x88C5;&#x3002;</p>
<pre><code>apt update -y
apt install docker -y
systemctl start docker
</code></pre>
<p>&#x62C9;&#x53D6;ollama docker&#x955C;&#x50CF;&#xFF08;&#x4F9D;&#x8D56;&#x7F51;&#x901F;&#xFF0C;2-3&#x5206;&#x949F;&#x5DE6;&#x53F3;&#xFF09;</p>
<pre><code class="language-shell">docker pull ollama/ollama
</code></pre>
<p>&#x67E5;&#x770B;&#x955C;&#x50CF;&#x6587;&#x4EF6;&#xFF0C;&#x955C;&#x50CF;&#x5927;&#x6982;2GB&#x5DE6;&#x53F3;&#x3002;</p>
<pre><code class="language-shell">~# docker images
REPOSITORY      TAG       IMAGE ID       CREATED        SIZE
ollama/ollama   latest    d5cbea22fd07   30 hours ago   1.98GB
</code></pre>
<p>&#x6839;&#x636E;Docker Hub ollama&#x4E3B;&#x9875; <a href="https://hub.docker.com/r/ollama/ollama?ref=liuqianglong.com">https://hub.docker.com/r/ollama/ollama</a> [1]&#xFF0C;&#x5FEB;&#x901F;&#x542F;&#x52A8;&#x5BB9;&#x5668;&#xFF0C;&#x6CE8;&#x610F;&#xFF0C;<strong>&#x8FD9;&#x91CC;&#x6CA1;&#x6709;&#x6DFB;&#x52A0;GPU&#x53C2;&#x6570;&#xFF0C;&#x662F;&#x901A;&#x8FC7;<code>CPU</code>&#x52A0;&#x8F7D;&#x542F;&#x52A8;&#x7684;</strong>&#x3002;</p>
<pre><code class="language-shell">~# docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
</code></pre>
<p>&#x67E5;&#x770B;&#x5BB9;&#x5668;&#x72B6;&#x6001;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# docker ps
CONTAINER ID   IMAGE           COMMAND               CREATED         STATUS         PORTS                                           NAMES
e43072764685   ollama/ollama   &quot;/bin/ollama serve&quot;   6 seconds ago   Up 5 seconds   0.0.0.0:11434-&gt;11434/tcp, :::11434-&gt;11434/tcp   ollama
</code></pre>
<p>&#x5728;docker&#x5BB9;&#x5668;&#x5185;&#x8FD0;&#x884C;&#x6A21;&#x578B;&#xFF08;1&#x5206;&#x949F;&#x5DE6;&#x53F3;&#x62C9;&#x8D77;&#x6765;&#xFF09;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# docker exec -it ollama bash

root@e43072764685:/# ollama run qwen2:0.5b
&gt;&gt;&gt; &#x4F60;&#x53EB;&#x4EC0;&#x4E48;&#xFF1F;
&#x6211;&#x53EB;&#x901A;&#x4E49;&#x5343;&#x95EE;&#x3002;
</code></pre>
<p>&#x65B0;&#x5F00;&#x4E00;&#x4E2A;SSH&#x7A97;&#x53E3;&#xFF0C;&#x5728;&#x6A21;&#x578B;&#x56DE;&#x7B54;&#x95EE;&#x9898;&#x65F6;&#xFF0C;&#x67E5;&#x770B;&#x901A;&#x8FC7;<code>top</code>&#x547D;&#x4EE4;&#xFF0C;&#x67E5;&#x770B;CPU&#x4F7F;&#x7528;&#x7387;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;CPU&#x5DF2;&#x7ECF;&#x6EE1;&#x8D1F;&#x8377;&#x8FD0;&#x884C;&#x4E86;&#xFF0C;&#x6B63;&#x5728;&#x4F7F;&#x7528;CPU&#x8FDB;&#x884C;&#x63A8;&#x7406;&#x3002;</p>
<pre><code class="language-shell">top - 08:41:19 up  5:14,  4 users,  load average: 0.32, 0.25, 0.13
Tasks: 161 total,   3 running, 158 sleeping,   0 stopped,   0 zombie
%Cpu(s): 31.9 us,  0.2 sy,  0.0 ni, 67.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
MiB Mem :  15779.1 total,   1575.5 free,    518.2 used,  13685.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.  14806.4 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   7080 root      20   0 1067764 442088 344752 R 123.3   2.7   0:17.46 ollama_llama_se
   7006 root      20   0 2365904 400032 389632 S   1.0   2.5   0:13.81 ollama
   6986 root      20   0 1238716  13636   9856 S   0.7   0.1   0:00.23 containerd-shim
</code></pre>
<p>&#x901A;&#x8FC7;<code>ollama list</code>&#x547D;&#x4EE4;&#xFF0C;&#x67E5;&#x770B;&#x4E0B;&#x8F7D;&#x7684;&#x6240;&#x6709;&#x6A21;&#x578B;&#x3002;</p>
<pre><code class="language-shell">root@e43072764685:/# ollama list
NAME            ID              SIZE    MODIFIED
qwen2:0.5b      6f48b936a09f    352 MB  About a minute ago
</code></pre>
<p>&#x5728;&#x6A21;&#x578B;&#x56DE;&#x7B54;&#x95EE;&#x9898;&#x65F6;&#xFF0C;&#x901A;&#x8FC7;<code>nvidia-smi</code>&#x547D;&#x4EE4;&#x67E5;&#x770B;GPU&#x4F7F;&#x7528;&#x60C5;&#x51B5;&#xFF0C;&#x901A;&#x8FC7;CPU&#x8FDB;&#x884C;&#x63A8;&#x7406;&#x65F6;&#xFF0C;&#x770B;&#x5230;&#x5E76;&#x6CA1;&#x6709;&#x6682;&#x7528;GPU&#x8D44;&#x6E90;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# nvidia-smi
Fri Jul  5 08:41:38 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                       On  | 00000000:00:1E.0 Off |                    0 |
| N/A   33C    P8               9W /  70W |      2MiB / 15360MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+
</code></pre>
<p>&#x5220;&#x9664;&#x5BB9;&#x5668;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~#  docker rm -f ollama
ollama
</code></pre>
<p>&#x91CD;&#x542F;&#x542F;&#x52A8;ollama&#x5BB9;&#x5668;&#xFF0C;&#x901A;&#x8FC7;<strong>GPU</strong>&#x542F;&#x52A8;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
b094349fc98c8dee31640485ed88ecef38202e33baadcbb9d503ecc1055ac974
</code></pre>
<p><strong>Ollama &#x73AF;&#x5883;&#x53D8;&#x91CF;</strong></p>
<p>&#x901A;&#x8FC7;&#x4E0B;&#x9762;&#x547D;&#x4EE4;&#xFF0C;ollama&#x53EF;&#x4EE5;&#x52A0;&#x8F7D;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#xFF0C;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x5B9E;&#x9645;&#x9700;&#x6C42;&#x51B3;&#x5B9A;&#x662F;&#x5426;&#x6DFB;&#x52A0;&#x5BF9;&#x5E94;&#x7684;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x3002;</p>
<pre><code class="language-shell">docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always -e OLLAMA_KEEP_ALIVE=-1 ollama/ollama
</code></pre>
<blockquote>
<p>ollama&#x5E38;&#x7528;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#xFF1A;</p>
<ul>
<li>OLLAMA_KEEP_ALIVE=-1&#xFF0C;&#x6A21;&#x578B;&#x52A0;&#x8F7D;&#x540E;&#xFF0C;&#x9ED8;&#x8BA4;&#x7684;Keepalive&#x662F;5&#x5206;&#x949F;&#xFF0C;&#x4FEE;&#x6539;&#x4E3A;-1&#x53EF;&#x4EE5;&#x8BA9;&#x6A21;&#x578B;&#x6301;&#x7EED;&#x542F;&#x52A8;&#xFF0C;OLLAMA_KEEP_ALIVE=60 &#x8868;&#x793A; 60 &#x79D2;&#xFF0C;OLLAMA_KEEP_ALIVE=10m &#x8868;&#x793A;10&#x5206;&#x949F;&#x3002;<a href="https://github.com/ollama/ollama/pull/3094?ref=liuqianglong.com">https://github.com/ollama/ollama/pull/3094</a></li>
<li>OLLAMA_ORIGINS=*&#xFF0C;&#x8DE8;&#x57DF;&#x8BBF;&#x95EE;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x4E0E;&#x6C89;&#x6D78;&#x5F0F;&#x7FFB;&#x8BD1;&#x3002;</li>
</ul>
</blockquote>
<p><strong>Ollama &#x5347;&#x7EA7;</strong></p>
<p>ollama&#x5347;&#x7EA7;&#x8FC7;&#x7A0B;&#x53C2;&#x8003;&#xFF0C;&#x505C;&#x6B62;&#x5BB9;&#x5668;&#x540E;&#xFF0C;&#x91CD;&#x65B0;&#x62C9;&#x53D6;&#x5BB9;&#x5668;&#x542F;&#x52A8;&#x5373;&#x53EF;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# docker exec -it ollama bash
root@3d1be8deba41:/# ollama -v
ollama version is 0.1.40


(base) root@ip-172-31-79-195:~# docker pull ollama/ollama
Using default tag: latest
latest: Pulling from ollama/ollama
7646c8da3324: Pull complete
d1060ab4fb75: Pull complete
e58f7d737fbb: Pull complete
Digest: sha256:4a3c5b5261f325580d7f4f6440e5094d807784f0513439dcabfda9c2bdf4191e
Status: Downloaded newer image for ollama/ollama:latest
docker.io/ollama/ollama:latest


(base) root@ip-172-31-79-195:~# docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 -e OLLAMA_ORIGINS=* --name ollama --restart always  ollama/ollama


root@46648320fcd4:/# ollama -v
ollama version is 0.3.7
</code></pre>
<h2 id="%E4%B8%89%E3%80%81open-webui">&#x4E09;&#x3001;Open-WebUI</h2>
<p>OpenWebUI&#x662F;&#x4E00;&#x4E2A;&#x53EF;&#x6269;&#x5C55;&#x3001;&#x529F;&#x80FD;&#x4E30;&#x5BCC;&#x4E14;&#x7528;&#x6237;&#x53CB;&#x597D;&#x7684;&#x81EA;&#x6258;&#x7BA1;WebUI&#xFF0C;&#x5B83;&#x652F;&#x6301;&#x5B8C;&#x5168;&#x79BB;&#x7EBF;&#x64CD;&#x4F5C;&#xFF0C;&#x5E76;&#x517C;&#x5BB9;Ollama&#x548C;OpenAI&#x7684;API&#x3002;&#x8FD9;&#x4E3A;&#x7528;&#x6237;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x4E2A;&#x53EF;&#x89C6;&#x5316;&#x7684;&#x754C;&#x9762;&#xFF0C;&#x4F7F;&#x5F97;&#x4E0E;&#x5927;&#x578B;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7684;&#x4EA4;&#x4E92;&#x66F4;&#x52A0;&#x76F4;&#x89C2;&#x548C;&#x4FBF;&#x6377; [3]&#x3002;</p>
<p>&#x4ECE;docker hub&#x62C9;&#x53D6;open-webui&#x955C;&#x50CF;&#xFF08;&#x6587;&#x4EF6;1G&#x5DE6;&#x53F3;&#xFF0C;&#x770B;&#x7F51;&#x901F;&#xFF0C;2-3&#x5206;&#x949F;&#xFF09;</p>
<pre><code class="language-shell">docker pull dyrnq/open-webui:main
</code></pre>
<p>&#x6CE8;&#x610F;&#xFF0C;&#x5B98;&#x65B9;&#x6587;&#x6863;&#x662F;&#x4ECE; GitHub Container Registry (GHCR) &#x4E0A;&#x62C9;&#x53D6;&#x955C;&#x50CF;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x4ECE; Docker Hub&#x3002;&#x5B98;&#x65B9;&#x6587;&#x6863;&#x62C9;&#x53D6;&#x547D;&#x4EE4;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code class="language-shell">docker pull ghcr.io/open-webui/open-webui:main
</code></pre>
<p>&#x67E5;&#x770B;&#x955C;&#x50CF;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# docker images
REPOSITORY         TAG       IMAGE ID       CREATED         SIZE
dyrnq/open-webui   main      8aa8279a3e25   10 hours ago   3.9GB
ollama/ollama      latest    d5cbea22fd07   30 hours ago   1.98GB
</code></pre>
<p>&#x542F;&#x52A8;docker&#x955C;&#x50CF;&#xFF0C;&#x6620;&#x5C04;&#x51FA;&#x6765;3000&#x7AEF;&#x53E3;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always dyrnq/open-webui:main
</code></pre>
<p>&#x67E5;&#x770B;EC2&#x7684;&#x516C;&#x7F51;IP&#x5730;&#x5740;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# curl ifconfig.me
54.243.6.37
</code></pre>
<p>&#x8BBF;&#x95EE;Open WebUI&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-ollama-openwebui-llm/image-20240705165219856.png" alt="Ollama &#x7ED3;&#x5408; Open-WebUI &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x521B;&#x5EFA;&#x8D26;&#x53F7;&#xFF0C;&#x8FD9;&#x4E2A;&#x662F;&#x672C;&#x5730;&#x8D26;&#x53F7;&#xFF0C;&#x968F;&#x4FBF;&#x6DFB;&#x52A0;&#x8D26;&#x53F7;&#x4FE1;&#x606F;&#x5373;&#x53EF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-ollama-openwebui-llm/image-20240705165223559.png" alt="Ollama &#x7ED3;&#x5408; Open-WebUI &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x9009;&#x62E9;ollama&#x4E2D;&#x7684;&#x6A21;&#x578B;&#xFF0C;&#x804A;&#x5929;&#x6D4B;&#x8BD5;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-ollama-openwebui-llm/image-20240705165228399.png" alt="Ollama &#x7ED3;&#x5408; Open-WebUI &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x62C9;&#x53D6;&#x76EE;&#x524D;ollama&#x6CA1;&#x6709;&#x7684;&#x6A21;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-ollama-openwebui-llm/image-20240705165234184.png" alt="Ollama &#x7ED3;&#x5408; Open-WebUI &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<p>&#x4E0E;&#x4E0B;&#x8F7D;&#x7684;&#x65B0;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x5BF9;&#x8BDD;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-ollama-openwebui-llm/image-20240828110808614.png" alt="Ollama &#x7ED3;&#x5408; Open-WebUI &#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;" loading="lazy"></p>
<h2 id="%E5%9B%9B%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x56DB;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>[1] Dockerhub ollama&#x955C;&#x50CF;&#x6587;&#x4EF6;&#xFF1A;<a href="https://hub.docker.com/r/ollama/ollama?ref=liuqianglong.com">https://hub.docker.com/r/ollama/ollama</a></li>
<li>[2] ollama keepalive&#xFF1A;<a href="https://github.com/ollama/ollama/pull/3094?ref=liuqianglong.com">https://github.com/ollama/ollama/pull/3094</a></li>
<li>[3] Open WebUI Github&#xFF1A;<a href="https://github.com/open-webui/open-webui?ref=liuqianglong.com">https://github.com/open-webui/open-webui</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Hugging Face 模型下载及使用]]></title><description><![CDATA[<p>&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x4ECB;&#x7ECD;&#x4E86;Hugging Face&#x5E73;&#x53F0;&#x548C;&#x5B83;&#x7684;&#x6838;&#x5FC3;&#x4EA7;&#x54C1;&#x3002;&#x6F14;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x5728;AWS EC2&#x5B9E;&#x4F8B;&#x4E0A;&#xFF0C;&#x4ECE;Hugging Face Hub&#x4E0B;&#x8F7D;&#x5E76;&#x8FD0;&#x884C;Qwen2-0.5B-Instruct&#x6A21;&#x578B;&#x3002;&#x6700;&#x540E;&#xFF0C;&#x8FD8;&#x5C55;</p>]]></description><link>https://liuqianglong.com/hugging-face-model-download-and-usage/</link><guid isPermaLink="false">66cd9dd0d3a3fd314cf2f6f0</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Wed, 28 Aug 2024 00:00:58 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/ai-hugging-face-models.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/08/ai-hugging-face-models.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;"><p>&#x8FD9;&#x7BC7;&#x6587;&#x7AE0;&#x4ECB;&#x7ECD;&#x4E86;Hugging Face&#x5E73;&#x53F0;&#x548C;&#x5B83;&#x7684;&#x6838;&#x5FC3;&#x4EA7;&#x54C1;&#x3002;&#x6F14;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x5728;AWS EC2&#x5B9E;&#x4F8B;&#x4E0A;&#xFF0C;&#x4ECE;Hugging Face Hub&#x4E0B;&#x8F7D;&#x5E76;&#x8FD0;&#x884C;Qwen2-0.5B-Instruct&#x6A21;&#x578B;&#x3002;&#x6700;&#x540E;&#xFF0C;&#x8FD8;&#x5C55;&#x793A;&#x4E86;&#x5982;&#x4F55;&#x7528;Gradio&#x56FE;&#x5F62;&#x5316;&#x754C;&#x9762;&#x4E0E;Qwen LLM&#x8FDB;&#x884C;&#x804A;&#x5929;&#x5BF9;&#x8BDD;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81hugging-face-%E7%AE%80%E4%BB%8B">&#x4E00;&#x3001;Hugging Face &#x7B80;&#x4ECB;</h2>
<p>Hugging Face&#x662F;&#x4E00;&#x5BB6;&#x7F8E;&#x56FD;&#x516C;&#x53F8;&#xFF0C;&#x6210;&#x7ACB;&#x4E8E;2016&#x5E74;&#xFF0C;&#x8D77;&#x521D;&#x662F;&#x4E3A;&#x9752;&#x5C11;&#x5E74;&#x5F00;&#x53D1;&#x804A;&#x5929;&#x673A;&#x5668;&#x4EBA;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x3002;&#x540E;&#x6765;&#xFF0C;Hugging Face&#x8F6C;&#x578B;&#x4E3A;&#x4E13;&#x6CE8;&#x4E8E;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x7684;&#x5E73;&#x53F0;&#x516C;&#x53F8;&#xFF0C;&#x63A8;&#x51FA;&#x4E86;&#x591A;&#x6B3E;&#x4FC3;&#x8FDB;NLP&#xFF08;&#x81EA;&#x7136;&#x8BED;&#x8A00;&#x5904;&#x7406;&#xFF09;&#x6280;&#x672F;&#x53D1;&#x5C55;&#x7684;&#x4EA7;&#x54C1;&#x3002;&#x4E3B;&#x8981;&#x4EA7;&#x54C1;&#x6709;&#xFF1A;</p>
<ol>
<li><strong>&#x9884;&#x8BAD;&#x7EC3;&#x6A21;&#x578B;</strong>&#xFF1A;Hugging Face&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x7CFB;&#x5217;&#x4F18;&#x79C0;&#x7684;&#x9884;&#x8BAD;&#x7EC3;NLP&#x6A21;&#x578B;&#xFF0C;&#x5982;BERT&#x3001;GPT&#x3001;RoBERTa&#x7B49;&#xFF0C;&#x8FD9;&#x4E9B;&#x6A21;&#x578B;&#x5728;&#x591A;&#x9879;&#x4EFB;&#x52A1;&#x4E2D;&#x8868;&#x73B0;&#x51FA;&#x8272;&#x3002;</li>
<li><strong>Transformers&#x5E93;</strong>&#xFF1A;Hugging Face&#x5F00;&#x53D1;&#x4E86;&#x540D;&#x4E3A;<code>transformers</code>&#x7684;Python&#x5E93;&#xFF0C;&#x652F;&#x6301;PyTorch&#x548C;TensorFlow&#x7B49;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x6846;&#x67B6;&#xFF0C;&#x63D0;&#x4F9B;&#x4E86;&#x52A0;&#x8F7D;&#x3001;&#x5FAE;&#x8C03;&#x548C;&#x4F7F;&#x7528;&#x9884;&#x8BAD;&#x7EC3;&#x6A21;&#x578B;&#x7684;&#x4FBF;&#x6377;&#x5DE5;&#x5177;&#x3002;</li>
<li><strong>NLP&#x5DE5;&#x5177;</strong>&#xFF1A;&#x4ED6;&#x4EEC;&#x63D0;&#x4F9B;&#x4E86;&#x591A;&#x79CD;NLP&#x76F8;&#x5173;&#x5DE5;&#x5177;&#xFF0C;&#x5982;&#x6587;&#x672C;&#x751F;&#x6210;&#x3001;&#x6587;&#x672C;&#x5206;&#x7C7B;&#x548C;&#x547D;&#x540D;&#x5B9E;&#x4F53;&#x8BC6;&#x522B;&#xFF0C;&#x5E2E;&#x52A9;&#x5F00;&#x53D1;&#x8005;&#x5FEB;&#x901F;&#x6784;&#x5EFA;NLP&#x5E94;&#x7528;&#x3002;</li>
<li><strong>Hugging Face Hub</strong>&#xFF1A;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x96C6;&#x4E2D;&#x5F0F;&#x7684;Web&#x5E73;&#x53F0;&#xFF0C;&#x7C7B;&#x4F3C;&#x4E8E;GitHub&#xFF0C;&#x6258;&#x7BA1;&#x57FA;&#x4E8E;Git&#x7684;&#x4EE3;&#x7801;&#x4ED3;&#x5E93;&#x3001;&#x6A21;&#x578B;&#x548C;&#x6570;&#x636E;&#x96C6;&#xFF0C;&#x5E76;&#x652F;&#x6301;&#x9879;&#x76EE;&#x8BA8;&#x8BBA;&#x548C;&#x62C9;&#x53D6;&#x8BF7;&#x6C42;&#x3002;</li>
<li><strong>Hugging Face Spaces</strong>&#xFF1A;Hugging Face Spaces&#x662F;&#x4E00;&#x4E2A;&#x5141;&#x8BB8;&#x7528;&#x6237;&#x8F7B;&#x677E;&#x90E8;&#x7F72;&#x548C;&#x5206;&#x4EAB;AI&#x5E94;&#x7528;&#x7684;&#x5E73;&#x53F0;&#x3002;&#x3002;&#x5B83;&#x63D0;&#x4F9B;&#x4E86;&#x4E00;&#x4E2A;&#x6613;&#x4E8E;&#x4F7F;&#x7528;&#x7684;GUI&#xFF0C;&#x4F7F;&#x7528;&#x6237;&#x80FD;&#x591F;&#x5FEB;&#x901F;&#x521B;&#x5EFA;&#x548C;&#x90E8;&#x7F72;Web&#x6258;&#x7BA1;&#x7684;ML&#x5E94;&#x7528;&#x3002;2021&#x5E74;&#x5E95;&#xFF0C;Hugging Face&#x5BA3;&#x5E03;&#x6536;&#x8D2D;&#x4E86;Gradio&#x3002;Gradio&#x662F;&#x4E00;&#x4E2A;&#x5F00;&#x6E90;Python&#x5305;&#xFF0C;&#x5141;&#x8BB8;&#x7528;&#x6237;&#x5FEB;&#x901F;&#x4E3A;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#x3001;API&#x6216;&#x4EFB;&#x4F55;Python&#x51FD;&#x6570;&#x6784;&#x5EFA;&#x4EA4;&#x4E92;&#x5F0F;&#x6F14;&#x793A;&#x6216;Web&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#xFF0C;&#x65E0;&#x9700;&#x7F16;&#x5199;HTML&#x3001;CSS&#x6216;JavaScript&#x4EE3;&#x7801;&#x3002;</li>
</ol>
<h2 id="%E4%BA%8C%E3%80%81%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%AB%9E%E6%8A%80%E5%9C%BA%E4%B8%8E%E6%8E%92%E5%90%8D">&#x4E8C;&#x3001;&#x5927;&#x6A21;&#x578B;&#x7ADE;&#x6280;&#x573A;&#x4E0E;&#x6392;&#x540D;</h2>
<p>&#x53E6;&#x5916;&#x5728;Hugging Face&#x53EF;&#x4EE5;&#x67E5;&#x770B;&#x5404;&#x4E2A;&#x5927;&#x6A21;&#x578B;&#x7684;&#x6392;&#x884C;&#x699C;&#xFF0C;&#x4F8B;&#x5982;&#x4E0B;&#x9762;&#x7684;&#x5F00;&#x6E90;&#x5927;&#x6A21;&#x578B;&#x6392;&#x884C;&#x699C; [1]&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240827104909122.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<p>&#x7531;LMSYS&#x7EF4;&#x62A4;&#x7684;&#x5927;&#x6A21;&#x578B;&#x804A;&#x5929;&#x7ADE;&#x6280;&#x573A;&#xFF0C;&#x6536;&#x96C6;&#x4EBA;&#x7C7B;&#x5BF9;&#x5927;&#x6A21;&#x578B;&#x804A;&#x5929;&#x56DE;&#x590D;&#x7684;&#x53CD;&#x9988;&#xFF0C;&#x8FDB;&#x884C;&#x6392;&#x540D; [2]&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240827104935909.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<p>&#x53D1;&#x9001;&#x7684;&#x95EE;&#x9898;&#x4F1A;&#x540C;&#x65F6;&#x7ED9;&#x4E24;&#x4E2A;&#x6A21;&#x578B;&#x8FDB;&#x884C;&#x56DE;&#x590D;&#xFF0C;&#x6839;&#x636E;&#x56DE;&#x590D;&#x5185;&#x5BB9;&#x8FDB;&#x884C;&#x6295;&#x7968;&#xFF0C;&#x4E00;&#x5171;4&#x4E2A;&#x9009;&#x9879;&#xFF0C;A&#x80DC;&#x3001;B&#x80DC;&#x3001;&#x5E73;&#x624B;&#x6216;&#x8005;&#x90FD;&#x4E0D;&#x884C;&#x3002;&#x6295;&#x7968;&#x540E;&#x4F1A;&#x663E;&#x793A;&#x56DE;&#x590D;&#x7684;&#x5927;&#x6A21;&#x578B;&#x7248;&#x672C;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705153257611.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<h2 id="%E4%B8%89%E3%80%81hugging-face-spaces-%E4%BD%BF%E7%94%A8">&#x4E09;&#x3001;Hugging Face Spaces &#x4F7F;&#x7528;</h2>
<p>Hugging Face Spaces&#x662F;&#x4E00;&#x4E2A;&#x5141;&#x8BB8;&#x7528;&#x6237;&#x8F7B;&#x677E;&#x90E8;&#x7F72;&#x548C;&#x5206;&#x4EAB;AI&#x5E94;&#x7528;&#x7684;&#x5E73;&#x53F0;&#xFF0C;&#x5F88;&#x591A;&#x5927;&#x6A21;&#x578B;&#x90FD;&#x4F1A;&#x5728;Spaces&#x4E0A;&#x53D1;&#x5E03;&#x4E0D;&#x540C;&#x7248;&#x672C;&#x7684;&#x6A21;&#x578B;&#xFF0C;&#x4E3A;&#x5927;&#x5BB6;&#x63D0;&#x4F9B;&#x6D4B;&#x8BD5;&#x3002;&#x4F8B;&#x5982;&#x4E0B;&#x9762;&#x662F;Qwen&#x7684;Spaces&#x7A7A;&#x95F4;<a href="https://huggingface.co/Qwen?ref=liuqianglong.com">https://huggingface.co/Qwen</a> [3]&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705113112506.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<p>&#x70B9;&#x51FB;&#x8FDB;&#x5165;<code>Qwen2-72B-Instruct Chat</code>&#xFF0C;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x804A;&#x5929;&#x6D4B;&#x8BD5;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705135420942.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<h2 id="%E5%9B%9B%E3%80%81ec2-%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C-qwen2-05b-instruct-%E6%A8%A1%E5%9E%8B">&#x56DB;&#x3001;EC2 &#x672C;&#x5730;&#x8FD0;&#x884C; Qwen2-0.5B-Instruct &#x6A21;&#x578B;</h2>
<p>&#x8FD9;&#x90E8;&#x5206;&#x6F14;&#x793A;&#x4E00;&#x4E0B;&#xFF0C;&#x901A;&#x8FC7;EC2&#x4E0B;&#x8F7D;&#x548C;&#x542F;&#x52A8;<code>Qwen2-0.5B-Instruct</code>&#x6A21;&#x578B;&#x3002;&#x6211;&#x9009;&#x62E9;Deep Learning&#x7C7B;&#x578B;&#x7684;AMI&#xFF0C;&#x8FD9;&#x4E2A;&#x7C7B;&#x578B;&#x7684;AMI&#x5DF2;&#x7ECF;&#x9884;&#x5148;&#x5B89;&#x88C5;&#x4E86;&#x82F1;&#x4F1F;&#x8FBE;&#x7684;&#x9A71;&#x52A8;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705135658365.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<p>&#x9009;&#x62E9;Ubuntu&#x6216;&#x8005;Amazon Linux2023&#x90FD;&#x53EF;&#x4EE5;&#xFF0C;&#x8FD9;&#x91CC;&#x6211;&#x9009;&#x62E9;Ubuntu22.04&#x7248;&#x672C;&#x7684;&#x955C;&#x50CF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705135706563.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<p>&#x9009;&#x62E9;<code>g4dn.xlarge</code>&#xFF0C;&#x5E26;&#x6709;1&#x4E2A;NVIDA T4&#x663E;&#x5361;&#xFF0C;&#x5171;&#x6709;16GB GPU&#xFF0C;&#x8FD9;&#x662F;&#x5E26;&#x6709;&#x82F1;&#x4F1F;&#x8FBE;&#x663E;&#x5361;&#x6700;&#x4FBF;&#x5B9C;&#x7684;&#x5B9E;&#x4F8B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705135737159.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<p>&#x5B9E;&#x4F8B;&#x5DF2;&#x7ECF;&#x9884;&#x88C5;&#x4E86;&#x82F1;&#x4F1F;&#x8FBE;&#x9A71;&#x52A8;&#xFF0C;&#x542F;&#x52A8;&#x4E4B;&#x540E;&#x901A;&#x8FC7;<code>nvidia-smi</code>&#x547D;&#x4EE4;&#x67E5;&#x770B;&#x4E00;&#x4E0B;GPU&#x4FE1;&#x606F;&#x3002;</p>
<pre><code>root@ip-172-31-83-158:~# nvidia-smi
Fri Jul  5 03:34:19 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                       On  | 00000000:00:1E.0 Off |                    0 |
| N/A   33C    P8               9W /  70W |      2MiB / 15360MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+
</code></pre>
<p>&#x8FDB;&#x5165;Qwen2-0.5B-Instruct&#x9875;&#x9762;<a href="https://huggingface.co/Qwen/Qwen2-0.5B-Instruct?ref=liuqianglong.com">https://huggingface.co/Qwen/Qwen2-0.5B-Instruct</a> &#xFF0C;&#x62F7;&#x8D1D;&#x6A21;&#x578B;&#x94FE;&#x63A5; [5]&#x3002;<img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705144629858.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<p>&#x8981;&#x4E0B;&#x8F7D;&#x6A21;&#x578B;&#x6587;&#x4EF6;&#xFF0C;&#x9700;&#x8981;&#x5148;&#x5B89;&#x88C5;<code>git-lfs</code>&#xFF0C;&#x5426;&#x5219;&#x4E0D;&#x4F1A;&#x4E0B;&#x8F7D;&#x9879;&#x76EE;&#x4E2D;&#x7684;&#x5927;&#x578B;&#x6587;&#x4EF6;&#x3002;</p>
<blockquote>
<p>Git LFS&#xFF08;Large File Storage&#xFF09;&#x662F;&#x4E00;&#x4E2A;Git&#x6269;&#x5C55;&#x5DE5;&#x5177;&#xFF0C;&#x7528;&#x4E8E;&#x9AD8;&#x6548;&#x7BA1;&#x7406;&#x5927;&#x6587;&#x4EF6;&#x3002;&#x5B83;&#x901A;&#x8FC7;&#x5C06;&#x5927;&#x6587;&#x4EF6;&#x5B58;&#x50A8;&#x5728;&#x5355;&#x72EC;&#x7684;LFS&#x5B58;&#x50A8;&#x5E93;&#x4E2D;&#xFF0C;&#x907F;&#x514D;&#x4E86;Git&#x4ED3;&#x5E93;&#x4F53;&#x79EF;&#x8FC7;&#x5927;&#xFF0C;&#x63D0;&#x5347;&#x4E86;&#x9879;&#x76EE;&#x7BA1;&#x7406;&#x6548;&#x7387;&#x3002;Git LFS&#x7279;&#x522B;&#x9002;&#x7528;&#x4E8E;&#x9700;&#x8981;&#x5904;&#x7406;&#x5927;&#x578B;&#x6587;&#x4EF6;&#x7684;&#x9879;&#x76EE;&#xFF0C;&#x5982;&#x97F3;&#x4E50;&#x3001;&#x56FE;&#x7247;&#x3001;&#x89C6;&#x9891;&#x7B49;&#x3002;&#x8BE5;&#x5DE5;&#x5177;&#x6613;&#x4E8E;&#x5B89;&#x88C5;&#x548C;&#x914D;&#x7F6E;&#xFF0C;&#x5E76;&#x4E14;&#x5728;&#x591A;&#x4E2A;&#x5E73;&#x53F0;&#x4E0A;&#x6709;&#x826F;&#x597D;&#x7684;&#x652F;&#x6301;&#x3002;</p>
</blockquote>
<pre><code>root@ip-172-31-83-158:~# apt update -y
root@ip-172-31-83-158:~# apt install git-lfs -y
</code></pre>
<p>&#x4E0B;&#x8F7D;&#x6A21;&#x578B;&#x6587;&#x4EF6;</p>
<pre><code>root@ip-172-31-83-158:~# git clone https://huggingface.co/Qwen/Qwen2-0.5B-Instruct
</code></pre>
<p>&#x67E5;&#x770B;&#x6A21;&#x578B;&#x6587;&#x4EF6;</p>
<pre><code>root@ip-172-31-83-158:~# cd Qwen2-0.5B-Instruct/

root@ip-172-31-83-158:~/Qwen2-0.5B-Instruct# ll -h
total 954M
drwxr-xr-x 3 root root 4.0K Jul  5 03:36 ./
drwx------ 8 root root 4.0K Jul  5 03:36 ../
drwxr-xr-x 9 root root 4.0K Jul  5 03:36 .git/
-rw-r--r-- 1 root root 1.5K Jul  5 03:36 .gitattributes
-rw-r--r-- 1 root root  12K Jul  5 03:36 LICENSE
-rw-r--r-- 1 root root 3.5K Jul  5 03:36 README.md
-rw-r--r-- 1 root root  659 Jul  5 03:36 config.json
-rw-r--r-- 1 root root  242 Jul  5 03:36 generation_config.json
-rw-r--r-- 1 root root 1.6M Jul  5 03:36 merges.txt
-rw-r--r-- 1 root root 943M Jul  5 03:36 model.safetensors
-rw-r--r-- 1 root root 6.8M Jul  5 03:36 tokenizer.json
-rw-r--r-- 1 root root 1.3K Jul  5 03:36 tokenizer_config.json
-rw-r--r-- 1 root root 2.7M Jul  5 03:36 vocab.json
</code></pre>
<p>&#x5B89;&#x88C5;python&#x5305;&#x4F9D;&#x8D56;&#xFF0C;&#x8FD9;&#x4E09;&#x4E2A;python&#x5305;&#x90FD;&#x6BD4;&#x8F83;&#x5927;&#xFF0C;&#x4E0B;&#x8F7D;&#x65F6;&#x95F4;&#x8F83;&#x957F;&#x3002;</p>
<pre><code>root@ip-172-31-83-158:~# pip install transformers torch accelerate
</code></pre>
<p>&#x56FD;&#x5185;&#x53EF;&#x4EE5;&#x6307;&#x5B9A;pip&#x5B89;&#x88C5;&#x6E90;&#x3002;</p>
<pre><code>pip install transformers torch -i https://pypi.tuna.tsinghua.edu.cn/simple
</code></pre>
<p>&#x62F7;&#x8D1D;&#x5B98;&#x65B9;&#x63D0;&#x4F9B;&#x7684;&#x5FEB;&#x901F;&#x542F;&#x52A8;&#x811A;&#x672C;&#xFF0C;&#x8FD9;&#x91CC;&#x6211;&#x4FEE;&#x6539;&#x6A21;&#x578B;&#x7684;&#x8DEF;&#x5F84;&#x4E3A;&#x7EDD;&#x5BF9;&#x8DEF;&#x5F84;<code>&quot;/root/Qwen2-0.5B-Instruct&quot;</code>&#xFF0C;Prompt&#x4FEE;&#x6539;&#x4E3A;<code>&quot;&#x4F60;&#x662F;&#x8C01;&#xFF1F;&quot;</code>&#xFF0C;&#x589E;&#x52A0;&#x4E86;&#x6253;&#x5370;&#x54CD;&#x5E94;&#x7ED3;&#x679C;&#x3002;</p>
<pre><code class="language-python">vim /root/qwen0.5b-demo.py

from transformers import AutoModelForCausalLM, AutoTokenizer
device = &quot;cuda&quot; # the device to load the model onto

model = AutoModelForCausalLM.from_pretrained(
    &quot;/root/Qwen2-0.5B-Instruct&quot;,
    torch_dtype=&quot;auto&quot;,
    device_map=&quot;auto&quot;
)
tokenizer = AutoTokenizer.from_pretrained(&quot;Qwen/Qwen2-0.5B-Instruct&quot;)

prompt = &quot;&#x4F60;&#x662F;&#x8C01;&#xFF1F;&quot;
messages = [
    {&quot;role&quot;: &quot;system&quot;, &quot;content&quot;: &quot;You are a helpful assistant.&quot;},
    {&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors=&quot;pt&quot;).to(device)

generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=512
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
</code></pre>
<p>&#x8FD0;&#x884C;&#x811A;&#x672C;&#xFF0C;&#x67E5;&#x770B;&#x6A21;&#x578B;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# python3 qwen0.5b-demo.py
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
The attention mask is not set and cannot be inferred from input because pad token is same as eos token.As a consequence, you s `attention_mask` to obtain reliable results.
&#x6211;&#x662F;&#x963F;&#x91CC;&#x4E91;&#x5F00;&#x53D1;&#x7684;&#x4E00;&#x6B3E;&#x8D85;&#x5927;&#x89C4;&#x6A21;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#xFF0C;&#x6211;&#x53EB;&#x901A;&#x4E49;&#x5343;&#x95EE;&#x3002;
</code></pre>
<p>&#x67E5;&#x770B;GPU&#x6D88;&#x8017;&#x3002;</p>
<pre><code class="language-shell">ubuntu@ip-172-31-83-158:~$ nvidia-smi
Fri Jul  5 03:51:05 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla T4                       On  | 00000000:00:1E.0 Off |                    0 |
| N/A   37C    P0              32W /  70W |   1313MiB / 15360MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      3152      C   python3                                    1308MiB |
+---------------------------------------------------------------------------------------+
</code></pre>
<p><strong>Qwen Gradio &#x56FE;&#x5F62;&#x5316;&#x754C;&#x9762;</strong></p>
<p>&#x547D;&#x4EE4;&#x884C;&#x8FDB;&#x884C;&#x5BF9;&#x8BDD;&#x5E76;&#x4E0D;&#x65B9;&#x4FBF;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x5B98;&#x65B9;&#x63D0;&#x4F9B;&#x7684;<code>web_demo.py</code>&#x811A;&#x672C; [6]&#xFF0C;&#x901A;&#x8FC7;&#x56FE;&#x5F62;&#x5316;&#x9875;&#x9762;&#x8FDB;&#x884C;&#x5BF9;&#x8BDD;&#xFF0C;&#x811A;&#x672C;&#x7F51;&#x5740;&#x662F;<a href="https://github.com/QwenLM/Qwen2/blob/main/examples/demo/web_demo.py%E3%80%82?ref=liuqianglong.com">https://github.com/QwenLM/Qwen2/blob/main/examples/demo/web_demo.py&#x3002;</a></p>
<p>&#x5B89;&#x88C5;&#x811A;&#x672C;&#x6240;&#x9700;&#x8981;&#x7684;&#x4F9D;&#x8D56;&#xFF0C;&#x524D;&#x9762;&#x5DF2;&#x7ECF;&#x5B89;&#x88C5;&#x8FC7;<code>transformers torch accelerate</code>&#x8FD9;&#x4E09;&#x4E2A;&#x5E93;&#x4E86;&#xFF0C;&#x8FD9;&#x91CC;&#x53EA;&#x9700;&#x8981;&#x5B89;&#x88C5;<code>gradio</code>&#x5373;&#x53EF;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# pip install gradio
</code></pre>
<p>&#x8FD0;&#x884C;&#x811A;&#x672C;&#xFF0C;<code>-- server-name 0.0.0.0</code>&#x5141;&#x8BB8;&#x6240;&#x6709;&#x5730;&#x5740;&#x8FDB;&#x884C;&#x8BBF;&#x95EE;&#xFF0C;<code>--checkpoint-path /root/Qwen2-0.5B-Instruct</code>&#x6307;&#x5B9A;&#x6A21;&#x578B;&#x6587;&#x4EF6;&#x6240;&#x5728;&#x76EE;&#x5F55;&#x3002;</p>
<pre><code class="language-shell">root@ip-172-31-83-158:~# python3 web_demo.py --server-name 0.0.0.0 --checkpoint-path /root/Qwen2-0.5B-Instruct
</code></pre>
<p>&#x4F7F;&#x7528;&#x516C;&#x7F51;&#x5730;&#x5740;&#x52A0;&#x4E0A;8000&#x7AEF;&#x53E3;&#x6253;&#x5F00;&#x7F51;&#x9875;&#x67E5;&#x770B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/ai-hugging-face-models/image-20240705150306891.png" alt="Hugging Face &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x53CA;&#x4F7F;&#x7528;" loading="lazy"></p>
<h2 id="%E4%BA%94%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x4E94;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>[1] &#x5F00;&#x6E90;&#x5927;&#x6A21;&#x578B;&#x6392;&#x884C;&#x699C;&#xFF1A;<a href="https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard?ref=liuqianglong.com">https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard</a></li>
<li>[2] &#x5927;&#x6A21;&#x578B;&#x804A;&#x5929;&#x7ADE;&#x6280;&#x573A;&#xFF1A; <a href="https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard?ref=liuqianglong.com">https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard</a></li>
<li>[3] Qwen &#x7684; Spaces &#x7A7A;&#x95F4;&#xFF1A;<a href="https://huggingface.co/Qwen?ref=liuqianglong.com">https://huggingface.co/Qwen</a></li>
<li>[4] Qwen2-72B-Instruct Spaces &#x7A7A;&#x95F4;&#xFF1A;<a href="https://huggingface.co/spaces/Qwen/Qwen2-72B-Instruct?ref=liuqianglong.com">https://huggingface.co/spaces/Qwen/Qwen2-72B-Instruct</a></li>
<li>[5] Qwen2-0.5B-Instruct &#x6A21;&#x578B;&#x4E0B;&#x8F7D;&#x5730;&#x5740;&#xFF1A; <a href="https://huggingface.co/Qwen/Qwen2-0.5B-Instruct?ref=liuqianglong.com">https://huggingface.co/Qwen/Qwen2-0.5B-Instruct</a></li>
<li>[6] Qwen2 &#x7F51;&#x9875;demo&#x4EE3;&#x7801; <a href="https://github.com/QwenLM/Qwen2/blob/main/examples/demo/web_demo.py?ref=liuqianglong.com">https://github.com/QwenLM/Qwen2/blob/main/examples/demo/web_demo.py</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[AWS EC2 GPU 实例简介及费用对比]]></title><description><![CDATA[<p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;AWS EC2 GPU&#x5B9E;&#x4F8B;&#x7684;&#x6027;&#x80FD;&#x4E0E;&#x8D39;&#x7528;&#x5BF9;&#x6BD4;&#xFF0C;&#x5E2E;&#x52A9;&#x5927;&#x5BB6;&#x9009;&#x62E9;&#x9002;&#x5408;&#x81EA;&#x5DF1;&#x9700;&#x6C42;&#x7684;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x3002;&#x6587;&#x4E2D;&#x5BF9;&#x6BD4;&#x4E86;&#x5168;&#x7403;&#x533A;&#x548C;&#x4E2D;&#x56FD;&#x533A;&#x7684;</p>]]></description><link>https://liuqianglong.com/aws-ec2-gpu-instances-introduction-and-cost-comparison/</link><guid isPermaLink="false">66cc3613d3a3fd314cf2f6cb</guid><category><![CDATA[AI]]></category><category><![CDATA[AWS]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Tue, 27 Aug 2024 00:00:09 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/aws-ec2-gpu-cost-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/08/aws-ec2-gpu-cost-1.png" alt="AWS EC2 GPU &#x5B9E;&#x4F8B;&#x7B80;&#x4ECB;&#x53CA;&#x8D39;&#x7528;&#x5BF9;&#x6BD4;"><p>&#x672C;&#x6587;&#x4ECB;&#x7ECD;&#x4E86;AWS EC2 GPU&#x5B9E;&#x4F8B;&#x7684;&#x6027;&#x80FD;&#x4E0E;&#x8D39;&#x7528;&#x5BF9;&#x6BD4;&#xFF0C;&#x5E2E;&#x52A9;&#x5927;&#x5BB6;&#x9009;&#x62E9;&#x9002;&#x5408;&#x81EA;&#x5DF1;&#x9700;&#x6C42;&#x7684;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x3002;&#x6587;&#x4E2D;&#x5BF9;&#x6BD4;&#x4E86;&#x5168;&#x7403;&#x533A;&#x548C;&#x4E2D;&#x56FD;&#x533A;&#x7684;&#x5B9E;&#x4F8B;&#x4EF7;&#x683C;&#xFF0C;&#x5E76;&#x63A8;&#x8350;&#x4E86;&#x51E0;&#x79CD;&#x6027;&#x4EF7;&#x6BD4;&#x8F83;&#x9AD8;&#x7684;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x3002;&#x8FD8;&#x7B80;&#x8981;&#x4ECB;&#x7ECD;&#x4E86;&#x5404;&#x7C7B;GPU&#x5B9E;&#x4F8B;&#x7684;&#x7279;&#x70B9;&#x548C;&#x6027;&#x80FD;&#x5DEE;&#x5F02;&#xFF0C;&#x4E3A;&#x9700;&#x8981;&#x5728;AWS&#x4E0A;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;&#x7684;&#x573A;&#x666F;&#x63D0;&#x4F9B;&#x4E00;&#x4E9B;&#x53C2;&#x8003;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81%E5%AE%9E%E4%BE%8B%E6%80%A7%E8%83%BD%E4%B8%8E%E8%B4%B9%E7%94%A8%E5%AF%B9%E6%AF%94">&#x4E00;&#x3001;&#x5B9E;&#x4F8B;&#x6027;&#x80FD;&#x4E0E;&#x8D39;&#x7528;&#x5BF9;&#x6BD4;</h2>
<p>&#x60F3;&#x8981;&#x5728;&#x672C;&#x5730;&#x8FD0;&#x884C;&#x5927;&#x6A21;&#x578B;&#xFF08;LLM&#xFF09;&#xFF0C;&#x4E00;&#x5B9A;&#x5C11;&#x4E0D;&#x4E86;GPU&#xFF0C;&#x8FD9;&#x91CC;&#x4ECB;&#x7ECD;&#x4E00;&#x4E0B;&#x76EE;&#x524D;&#x5728;AWS&#x4E0A;&#x5168;&#x7403;&#x533A;&#x548C;&#x4E2D;&#x56FD;&#x533A;&#x6240;&#x6709;&#x5E26;&#x82F1;&#x4F1F;&#x8FBE;&#x7684; GPU EC2&#x5B9E;&#x4F8B; [1]&#x3002;</p>
<p>&#x6211;&#x6574;&#x7406;&#x4E86;&#x4E00;&#x5F20;&#x8868;&#x683C;&#xFF0C;&#x7528;&#x4E0E;&#x5BF9;&#x6BD4;&#x5404;&#x4E2A;&#x5B9E;&#x4F8B;&#x7684;&#x6027;&#x80FD;&#x53C2;&#x6570;&#x4E0E;&#x4EF7;&#x683C;&#x3002;&#x5BF9;&#x4E8E;&#x6027;&#x80FD;&#x4E3B;&#x8981;&#x8003;&#x8651;&#x663E;&#x5361;&#x7684;&#x578B;&#x53F7;&#x3001;&#x663E;&#x5361;&#x6570;&#x91CF;&#x3001;&#x603B;GPU&#x5185;&#x5B58;&#x5927;&#x5C0F;&#x3002;</p>
<p>&#x5BF9;&#x4E8E;&#x5B9E;&#x4F8B;&#x4EF7;&#x683C;&#xFF0C;AWS &#x5168;&#x7403;&#x533A;&#x57DF;&#x9009;&#x53D6;&#x4E86;&#x4FC4;&#x4EA5;&#x4FC4;&#x5DDE;&#x533A;&#x57DF;&#xFF08;us-east-2&#xFF09;&#x4F5C;&#x4E3A;&#x53C2;&#x8003; [2]&#xFF0C;&#x8868;&#x683C;&#x5C55;&#x793A;&#x4E86;&#x6BCF;&#x5C0F;&#x65F6;&#x7684;&#x6309;&#x9700;&#x8D39;&#x7528;&#xFF0C;&#x4EE5;&#x53CA;&#x6309;&#x7167;&#x6C47;&#x7387;7.2&#x6298;&#x7B97;&#x6210;&#x4EBA;&#x6C11;&#x5E01;&#x7684;&#x4EF7;&#x683C;&#x3002;&#x4E2D;&#x56FD;&#x533A;&#x9009;&#x53D6;&#x4E86;&#x5B81;&#x590F;&#x533A;&#x57DF;&#xFF08;cn-northwest-1&#xFF09;&#x4F5C;&#x4E3A;&#x53C2;&#x8003; [3]&#xFF0C;&#x6709;&#x4E9B;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x5B81;&#x590F;&#x533A;&#x57DF;&#x672A;&#x4E0A;&#x7EBF;&#xFF0C;&#x8D39;&#x7528;&#x4F7F;&#x7528;<code>/</code>&#x8868;&#x793A;&#x3002;</p>
<p>&#x4ECE;GPU&#x5927;&#x5C0F;&#x548C;&#x8D39;&#x7528;&#x6765;&#x770B;&#xFF0C;&#x4E0B;&#x9762;&#x51E0;&#x4E2A;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x662F;&#x6BD4;&#x8F83;&#x63A8;&#x8350;&#x7684;&#xFF1A;</p>
<ul>
<li><strong>g4dn.xlarge</strong>&#xFF1A;&#x914D;&#x5907;1&#x4E2A;NVIDIA T4&#x663E;&#x5361;&#xFF0C;&#x5171;16GB GPU&#x3002;&#x662F;&#x5E26;&#x6709;NVIDIA&#x663E;&#x5361;&#x6700;&#x4FBF;&#x5B9C;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x9002;&#x5408;&#x8FD0;&#x884C;&#x5C0F;&#x6A21;&#x578B;&#xFF0C;&#x5982;&#x4F7F;&#x7528;ollama init4&#x91CF;&#x5316;&#x7684;Qwen2-7B&#x3001;Baichuan-13B&#x3002;&#x5B81;&#x590F;&#x533A;&#x57DF;&#x6309;&#x9700;&#x5B9E;&#x4F8B;&#x8D39;&#x7528;&#x4E3A;<code>3.711&#x5143;/&#x5C0F;&#x65F6;</code>&#x3002;</li>
<li><strong>g4dn.12xlarge</strong>&#xFF1A;&#x914D;&#x5907;4&#x4E2A;NVIDIA T4&#x663E;&#x5361;&#xFF0C;&#x5171;64GB GPU&#x3002;&#x9002;&#x5408;&#x9700;&#x8981;&#x66F4;&#x5927;GPU&#x7684;&#x6A21;&#x578B;&#xFF0C;g4dn&#x4E2D;&#x95F4;&#x6863;&#x7684;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x53EA;&#x662F;&#x589E;&#x52A0;&#x4E86;CPU&#x548C;&#x5185;&#x5B58;&#xFF0C;&#x5E76;&#x6CA1;&#x6709;&#x589E;&#x52A0;GPU&#xFF0C;g4dn&#x7C7B;&#x578B;&#x5982;&#x679C;&#x9700;&#x8981;&#x66F4;&#x5927;&#x7684;GPU&#x5411;&#x4E0A;&#x53EA;&#x80FD;&#x9009;&#x62E9;12xlarge&#x3002;&#x5B81;&#x590F;&#x533A;&#x57DF;&#x6309;&#x9700;&#x5B9E;&#x4F8B;<code>27.596&#x5143;/&#x5C0F;&#x65F6;</code>&#x3002;</li>
<li><strong>g5.xlarge</strong>&#xFF1A;&#x914D;&#x5907;1&#x4E2A;NVIDIA A10G&#x663E;&#x5361;&#xFF0C;&#x5171;24GB GPU&#x3002;&#x8FD9;&#x662F;&#x6211;&#x6700;&#x5E38;&#x7528;&#x7684;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#xFF0C;&#x9002;&#x5408;&#x9700;&#x8981;&#x5927;&#x4E8E;16GB&#x4F46;&#x5C0F;&#x4E8E;24GB GPU&#x7684;&#x573A;&#x666F;&#xFF0C;&#x4F8B;&#x5982;Ollama&#x8FD0;&#x884C;Qwen1.5-32B init4&#x7248;&#x672C;&#xFF0C;&#x8FD9;&#x4E2A;&#x7248;&#x672C;&#x4F1A;&#x6D88;&#x8017;19GB GPU&#x3002;&#x5B81;&#x590F;&#x533A;&#x57DF;&#x6309;&#x9700;&#x5B9E;&#x4F8B;&#x8D39;&#x7528;&#x4E3A;<code>6.701&#x5143;/&#x5C0F;&#x65F6;</code>&#x3002;</li>
<li><strong>g5.12xlarge</strong>&#xFF1A;&#x914D;&#x5907;4&#x4E2A;NVIDIA A10G&#x663E;&#x5361;&#xFF0C;&#x5171;96GB GPU&#x3002;&#x9002;&#x5408;&#x8FD0;&#x884C;&#x66F4;&#x5927;&#x6A21;&#x578B;&#xFF0C;&#x4F8B;&#x5982;Qwen2-72B init4&#x7248;&#x672C;&#x9700;&#x8981;&#x7EA6;43GB GPU&#x3002;&#x5B81;&#x590F;&#x533A;&#x57DF;&#x6309;&#x9700;&#x5B9E;&#x4F8B;&#x8D39;&#x7528;&#x4E3A;<code>40.206&#x5143;/&#x5C0F;&#x65F6;</code>&#x3002;</li>
<li><strong>g6.xlarge</strong>&#xFF1A;&#x914D;&#x5907;1&#x4E2A;NVIDIA L4&#x663E;&#x5361;&#xFF0C;&#x5171;24GB GPU&#x3002;&#x5B81;&#x590F;&#x533A;&#x57DF;&#x6CA1;&#x6709;&#x6B64;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#xFF0C;&#x5168;&#x7403;&#x533A;&#x76EE;&#x524D;&#x4E0A;&#x7EBF;&#x7684;&#x4E5F;&#x8F83;&#x5C11;&#xFF0C;&#x5982;&#x679C;&#x80FD;&#x542F;&#x52A8;&#x6B64;&#x5B9E;&#x4F8B;&#xFF0C;&#x76F8;&#x5BF9;g4dn.xlarge&#x6027;&#x4EF7;&#x6BD4;&#x66F4;&#x9AD8;&#x3002;us-east-2&#x6309;&#x9700;&#x5B9E;&#x4F8B;&#x8D39;&#x7528;&#x6298;&#x7B97;&#x6210;&#x4EBA;&#x6C11;&#x5E01;&#x4E3A;<code>5.796&#x5143;/&#x5C0F;&#x65F6;</code>&#x3002;</li>
</ul>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-ec2-gpu-cost/image-20240704142017082.png" alt="AWS EC2 GPU &#x5B9E;&#x4F8B;&#x7B80;&#x4ECB;&#x53CA;&#x8D39;&#x7528;&#x5BF9;&#x6BD4;" loading="lazy"></p>
<h2 id="%E4%BA%8C%E3%80%81gpu%E5%AE%9E%E4%BE%8B%E7%B1%BB%E5%9E%8B%E7%89%B9%E7%82%B9%E7%AE%80%E4%BB%8B">&#x4E8C;&#x3001;GPU&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x7279;&#x70B9;&#x7B80;&#x4ECB;</h2>
<p><strong>&#x5B9E;&#x4F8B;&#x4E00;&#x822C;&#x9009;&#x65B0;&#x4E0D;&#x9009;&#x65E7;</strong>&#xFF1A;&#x6700;&#x65B0;&#x5B9E;&#x4F8B;&#x901A;&#x5E38;&#x914D;&#x5907;&#x66F4;&#x5148;&#x8FDB;&#x7684;&#x786C;&#x4EF6;&#x548C;&#x6280;&#x672F;&#xFF0C;&#x63D0;&#x4F9B;&#x66F4;&#x9AD8;&#x6027;&#x80FD;&#x548C;&#x66F4;&#x4F4E;&#x6210;&#x672C;&#x3002;&#x4F8B;&#x5982;&#xFF0C;P5&#x5B9E;&#x4F8B;&#x76F8;&#x8F83;&#x4E8E;&#x4E0A;&#x4E00;&#x4EE3;P4&#x5B9E;&#x4F8B;&#x5728;&#x6027;&#x80FD;&#x548C;&#x6210;&#x672C;&#x4E0A;&#x6709;&#x660E;&#x663E;&#x4F18;&#x52BF;&#x3002;</p>
<ul>
<li><strong>P5&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;NVIDIA H100 Tensor Core GPU&#xFF0C;&#x9002;&#x7528;&#x4E8E;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x548C;&#x9AD8;&#x6027;&#x80FD;&#x8BA1;&#x7B97;&#xFF08;HPC&#xFF09;&#x5E94;&#x7528;&#xFF0C;&#x5177;&#x6709;Nitro&#x67B6;&#x6784;&#xFF0C;&#x63D0;&#x4F9B;&#x6700;&#x9AD8;&#x6027;&#x80FD;&#x548C;40%&#x7684;&#x6210;&#x672C;&#x8282;&#x7EA6;&#x3002;</li>
<li><strong>P4&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;NVIDIA A100 GPU&#xFF0C;&#x9002;&#x5408;&#x5927;&#x6A21;&#x578B;&#x8BAD;&#x7EC3;&#x548C;HPC&#xFF0C;&#x652F;&#x6301;400 Gbps&#x7F51;&#x7EDC;&#x3002;</li>
<li><strong>P3&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;NVIDIA V100 GPU&#xFF0C;&#x9002;&#x7528;&#x4E8E;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x548C;HPC&#xFF0C;&#x63D0;&#x4F9B;&#x9AD8;&#x8FBE;100 Gbps&#x7F51;&#x7EDC;&#x5E26;&#x5BBD;&#xFF0C;&#x52A0;&#x5FEB;&#x8BAD;&#x7EC3;&#x65F6;&#x95F4;&#x3002;</li>
<li><strong>P2&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;NVIDIA K80 GPU&#xFF0C;&#x63D0;&#x4F9B;&#x5F3A;&#x5927;&#x5E76;&#x884C;&#x8BA1;&#x7B97;&#x6027;&#x80FD;&#xFF0C;&#x9002;&#x7528;&#x4E8E;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x548C;&#x79D1;&#x5B66;&#x8BA1;&#x7B97;&#x5E94;&#x7528;&#x3002;</li>
<li><strong>G6&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;NVIDIA L4 GPU&#xFF0C;&#x9002;&#x7528;&#x4E8E;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x63A8;&#x7406;&#x548C;&#x56FE;&#x5F62;&#x5BC6;&#x96C6;&#x578B;&#x5DE5;&#x4F5C;&#x8D1F;&#x8F7D;&#xFF0C;&#x6BD4;&#x524D;&#x4EE3;&#x63D0;&#x5347;2&#x500D;&#x6027;&#x80FD;&#x3002;</li>
<li><strong>G5g&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;AWS Graviton2&#x5904;&#x7406;&#x5668;&#x548C;NVIDIA T4G GPU&#xFF0C;&#x9002;&#x5408;Android&#x6E38;&#x620F;&#x6D41;&#x548C;&#x7ECF;&#x6D4E;&#x9AD8;&#x6548;&#x7684;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x63A8;&#x7406;&#xFF0C;&#x63D0;&#x4F9B;&#x6700;&#x4F73;&#x6027;&#x4EF7;&#x6BD4;&#x3002;</li>
<li><strong>G5&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;NVIDIA A10G GPU&#xFF0C;&#x63D0;&#x4F9B;&#x56FE;&#x5F62;&#x5BC6;&#x96C6;&#x578B;&#x5E94;&#x7528;&#x548C;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x63A8;&#x7406;&#x7684;&#x9AD8;&#x6027;&#x80FD;&#xFF0C;&#x6BD4;&#x524D;&#x4EE3;&#x63D0;&#x5347;3&#x500D;&#x3002;</li>
<li><strong>G4&#x5B9E;&#x4F8B;</strong>&#xFF1A;&#x4F7F;&#x7528;NVIDIA T4&#x6216;AMD Radeon Pro V520 GPU&#xFF0C;&#x63D0;&#x4F9B;&#x6210;&#x672C;&#x6548;&#x76CA;&#x9AD8;&#x7684;GPU&#x6027;&#x80FD;&#xFF0C;&#x9002;&#x7528;&#x4E8E;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x63A8;&#x7406;&#x548C;&#x56FE;&#x5F62;&#x5BC6;&#x96C6;&#x578B;&#x5E94;&#x7528;&#xFF0C;&#x5177;&#x6709;Nitro&#x67B6;&#x6784;&#x3002;</li>
</ul>
<h2 id="%E4%B8%89%E3%80%81%E8%8B%B1%E4%BC%9F%E8%BE%BE%E6%98%BE%E5%8D%A1%E5%9E%8B%E5%8F%B7%E5%AF%B9%E6%AF%94">&#x4E09;&#x3001;&#x82F1;&#x4F1F;&#x8FBE;&#x663E;&#x5361;&#x578B;&#x53F7;&#x5BF9;&#x6BD4;</h2>
<p><strong>NVIDIA L4</strong>&#xFF1A;&#x6700;&#x65B0;&#x53D1;&#x5E03;&#xFF0C;&#x57FA;&#x4E8E;Ada Lovelace&#x67B6;&#x6784;&#xFF0C;&#x5177;&#x6709;&#x9AD8;AI&#x548C;&#x56FE;&#x5F62;&#x5904;&#x7406;&#x6027;&#x80FD;&#xFF0C;&#x9002;&#x7528;&#x4E8E;&#x89C6;&#x9891;&#x5904;&#x7406;&#x3001;AI&#x8BA1;&#x7B97;&#x548C;&#x56FE;&#x5F62;&#x5DE5;&#x4F5C;&#x8D1F;&#x8F7D;&#x3002;&#x5176;24GB GDDR6&#x663E;&#x5B58;&#x548C;&#x8F83;&#x4F4E;&#x529F;&#x8017;&#x5728;&#x6027;&#x80FD;&#x548C;&#x80FD;&#x6548;&#x65B9;&#x9762;&#x8868;&#x73B0;&#x51FA;&#x8272; [4]&#x3002;</p>
<p><strong>NVIDIA A10G</strong>&#xFF1A;&#x57FA;&#x4E8E;Ampere&#x67B6;&#x6784;&#xFF0C;&#x4E13;&#x4E3A;&#x673A;&#x5668;&#x5B66;&#x4E60;&#x63A8;&#x7406;&#x548C;&#x56FE;&#x5F62;&#x5BC6;&#x96C6;&#x578B;&#x5E94;&#x7528;&#x8BBE;&#x8BA1;&#x3002;&#x62E5;&#x6709;24GB&#x663E;&#x5B58;&#x548C;&#x9AD8;&#x8BA1;&#x7B97;&#x80FD;&#x529B;&#xFF0C;&#x9002;&#x5408;&#x9700;&#x8981;&#x9AD8;&#x6027;&#x80FD;&#x8BA1;&#x7B97;&#x548C;&#x5FEB;&#x901F;&#x6570;&#x636E;&#x4F20;&#x8F93;&#x7684;&#x4EFB;&#x52A1;&#xFF0C;&#x4F46;&#x5176;&#x529F;&#x8017;&#x8F83;&#x9AD8; [5]&#x3002;</p>
<p><strong>NVIDIA T4</strong>&#xFF1A;&#x57FA;&#x4E8E;Turing&#x67B6;&#x6784;&#xFF0C;&#x4E3B;&#x8981;&#x7528;&#x4E8E;AI&#x63A8;&#x7406;&#x548C;&#x591A;&#x6837;&#x5316;&#x7684;&#x4E91;&#x5DE5;&#x4F5C;&#x8D1F;&#x8F7D;&#x3002;&#x5C3D;&#x7BA1;&#x53D1;&#x5E03;&#x8F83;&#x65E9;&#xFF0C;&#x4F46;&#x5176;&#x826F;&#x597D;&#x7684;&#x80FD;&#x6548;&#x6BD4;&#x548C;&#x4F18;&#x5316;&#x8BBE;&#x8BA1;&#x4F7F;&#x5176;&#x5728;&#x8BB8;&#x591A;&#x573A;&#x666F;&#x4E0B;&#x4ECD;&#x5177;&#x7ADE;&#x4E89;&#x529B; [6]&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-ec2-gpu-cost/gpu-compare.png" alt="AWS EC2 GPU &#x5B9E;&#x4F8B;&#x7B80;&#x4ECB;&#x53CA;&#x8D39;&#x7528;&#x5BF9;&#x6BD4;" loading="lazy"></p>
<h2 id="%E5%9B%9B%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x56DB;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>[1] Amazon EC2&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#xFF1A;<a href="https://aws.amazon.com/cn/ec2/instance-types/?ref=liuqianglong.com">https://aws.amazon.com/cn/ec2/instance-types/</a></li>
<li>[2] Amazon &#x4FC4;&#x4EA5;&#x4FC4;&#x5DDE;EC2&#x6309;&#x9700;&#x5B9E;&#x4F8B;&#x4EF7;&#x683C;&#xFF1A;<a href="https://aws.amazon.com/cn/ec2/pricing/on-demand/?ref=liuqianglong.com">https://aws.amazon.com/cn/ec2/pricing/on-demand/</a></li>
<li>[3] Amazon &#x5B81;&#x590F;&#x533A;&#x57DF;EC2&#x6309;&#x9700;&#x5B9E;&#x4F8B;&#x4EF7;&#x683C;&#xFF1A;<a href="https://www.amazonaws.cn/ec2/pricing/ec2-linux-pricing/?ref=liuqianglong.com">https://www.amazonaws.cn/ec2/pricing/ec2-linux-pricing/</a></li>
<li>[4] NVIDIA A10G &#x663E;&#x5361;&#xFF1A;<a href="https://www.nvidia.com/en-us/data-center/products/a10-gpu/?ref=liuqianglong.com">https://www.nvidia.com/en-us/data-center/products/a10-gpu/</a></li>
<li>[5] NVIDIA A10G &#x663E;&#x5361;&#xFF1A;<a href="https://www.nvidia.com/en-us/data-center/l4/?ref=liuqianglong.com">https://www.nvidia.com/en-us/data-center/l4/</a></li>
<li>[6] NVIDIA A10G &#x663E;&#x5361;&#xFF1A;<a href="https://www.nvidia.com/en-us/data-center/tesla-t4/?ref=liuqianglong.com">https://www.nvidia.com/en-us/data-center/tesla-t4/</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[AWS 上配置 Paloalto GlobalProtect]]></title><description><![CDATA[<p>&#x672C;&#x7BC7;&#x6587;&#x6863;&#x4ECB;&#x7ECD;&#x4E86;&#x5728; AWS &#x4E0A;&#x914D;&#x7F6E; Palo Alto GlobalProtect VPN &#x7684;&#x5B8C;&#x6574;&#x6D41;&#x7A0B;&#x3002;&#x5185;&#x5BB9;&#x5305;&#x62EC;&#x5B9E;&#x4F8B;&#x542F;&#x52A8;&#x548C;&#x521D;&#x59CB;&#x5316;&#x3001;&#x9632;&#x706B;&#x5899;&#x63A5;&#x53E3;&#x914D;&#x7F6E;&#x3001;&#x8BC1;&#x4E66;&#x521B;&#x5EFA;&#x3001;&#x8BA4;&#x8BC1;</p>]]></description><link>https://liuqianglong.com/aws-configure-paloalto-globalprotect/</link><guid isPermaLink="false">66c5a6254e0b319f8ec25b51</guid><category><![CDATA[Paloalto]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Network]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Mon, 26 Aug 2024 00:58:51 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/aws-paloalto-globalprotect.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/08/aws-paloalto-globalprotect.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect"><p>&#x672C;&#x7BC7;&#x6587;&#x6863;&#x4ECB;&#x7ECD;&#x4E86;&#x5728; AWS &#x4E0A;&#x914D;&#x7F6E; Palo Alto GlobalProtect VPN &#x7684;&#x5B8C;&#x6574;&#x6D41;&#x7A0B;&#x3002;&#x5185;&#x5BB9;&#x5305;&#x62EC;&#x5B9E;&#x4F8B;&#x542F;&#x52A8;&#x548C;&#x521D;&#x59CB;&#x5316;&#x3001;&#x9632;&#x706B;&#x5899;&#x63A5;&#x53E3;&#x914D;&#x7F6E;&#x3001;&#x8BC1;&#x4E66;&#x521B;&#x5EFA;&#x3001;&#x8BA4;&#x8BC1;&#x65B9;&#x5F0F;&#x8BBE;&#x7F6E;&#x3001;&#x533A;&#x57DF;&#x548C;&#x5730;&#x5740;&#x6C60;&#x7684;&#x5EFA;&#x7ACB;&#x3001;VPN &#x7F51;&#x5173;&#x548C;&#x95E8;&#x6237;&#x7684;&#x914D;&#x7F6E;&#x3001;&#x5BA2;&#x6237;&#x7AEF;&#x5B89;&#x88C5;&#x548C;&#x8FDE;&#x63A5;&#x6D4B;&#x8BD5;&#x3001;&#x5B89;&#x5168;&#x7B56;&#x7565;&#x53CA; NAT &#x914D;&#x7F6E;&#x3001;&#x4FDD;&#x7559;&#x5BA2;&#x6237;&#x7AEF;&#x539F;&#x59CB; IP &#x5730;&#x5740;&#x7684; Ghost Pool &#x65B9;&#x6CD5;&#xFF0C;&#x4EE5;&#x53CA;&#x4E3B;&#x673A;&#x4FE1;&#x606F;&#x6536;&#x96C6;&#xFF08;HIP&#xFF09;&#x4E0E;&#x6388;&#x6743;&#x8BB8;&#x53EF;&#x7684;&#x5E94;&#x7528;&#x3002;</p>
<p><strong>&#x5B9E;&#x9A8C;&#x62D3;&#x6251;</strong></p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240729160618693.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E4%B8%80%E3%80%81aws-%E5%90%AF%E5%8A%A8-paloalto-%E5%AE%9E%E4%BE%8B">&#x4E00;&#x3001;AWS &#x542F;&#x52A8; Paloalto &#x5B9E;&#x4F8B;</h2>
<p>&#x5B9E;&#x4F8B;&#x542F;&#x52A8;&#x8F83;&#x6162;&#xFF0C;&#x5927;&#x7EA6;&#x9700;&#x8981; 10 &#x5206;&#x949F;&#x624D;&#x80FD;&#x901A;&#x8FC7;SSH&#x767B;&#x5F55;&#x3002;&#x8FD9;&#x91CC;&#x9009;&#x62E9;<code>PAYG</code>&#x7C7B;&#x578B;&#x7684;&#x5B9E;&#x4F8B;&#xFF08;pay-as-you-go&#xFF09;&#xFF0C;&#x5B9E;&#x4F8B;&#x542F;&#x52A8;&#x540E;&#x5E26;&#x6709;Paloalto&#x7684;&#x6388;&#x6743;&#x8BB8;&#x53EF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725161546094.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5B9E;&#x4F8B;&#x8BBE;&#x7F6E;&#x4E24;&#x5757;&#x7F51;&#x5361;&#x65F6;&#xFF0C;&#x9700;&#x8981;&#x7981;&#x7528;&#x81EA;&#x52A8;&#x5206;&#x914D;&#x516C;&#x6709; IP &#x529F;&#x80FD;&#x3002;&#x53EA;&#x6709;&#x4E00;&#x5757;&#x7F51;&#x5361;&#x65F6;&#xFF0C;&#x624D;&#x4F1A;&#x81EA;&#x52A8;&#x5206;&#x914D;&#x516C;&#x6709; IP&#x3002;</p>
<p>Paloalto &#x5B9E;&#x4F8B;&#x9ED8;&#x8BA4;&#x7684;&#x7B2C;&#x4E00;&#x4E2A;&#x63A5;&#x53E3;&#xFF08;&#x7D22;&#x5F15;&#x6807;&#x8BC6;&#x4E3A; 0&#xFF09;&#x662F;&#x9632;&#x706B;&#x5899;&#x7684;&#x7BA1;&#x7406;&#x63A5;&#x53E3;&#xFF0C;&#x7B2C;&#x4E8C;&#x4E2A;&#x7F51;&#x5361;&#xFF08;&#x7D22;&#x5F15;&#x6807;&#x8BC6;&#x4E3A; 1&#xFF09;&#x662F;&#x9632;&#x706B;&#x5899;&#x7684; e1/1 &#x63A5;&#x53E3;&#x3002;</p>
<p>&#x6211;&#x63D0;&#x524D;&#x63D0;&#x524D;&#x914D;&#x7F6E;&#x4E86;&#x5B89;&#x5168;&#x7EC4;&#xFF0C;&#x653E;&#x884C;&#x5F53;&#x524D;&#x516C;&#x7F51; IP &#x7684;&#x6240;&#x6709;&#x6D41;&#x91CF;&#x3002;&#x7BA1;&#x7406;&#x63A5;&#x53E3;&#x9700;&#x653E;&#x884C; SSH &#x548C; HTTPS &#x6D41;&#x91CF;&#xFF0C;VPN &#x63A5;&#x53E3;&#x9700;&#x653E;&#x884C;&#x9762;&#x5411;&#x4E92;&#x8054;&#x7F51;&#x7684; HTTPS &#x6D41;&#x91CF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725161634389.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x6DFB;&#x52A0;&#x7B2C;&#x4E8C;&#x4E2A;&#x7F51;&#x7EDC;&#x63A5;&#x53E3;&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A;&#x9632;&#x706B;&#x5899;&#x7684;e1/1&#x6570;&#x636E;&#x63A5;&#x53E3;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725161638277.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x4E3A;&#x9632;&#x706B;&#x5899;&#x5B9E;&#x4F8B;&#x5206;&#x914D;&#x4E24;&#x4E2A;&#x5F39;&#x6027; IP &#x5730;&#x5740;&#xFF0C;&#x7BA1;&#x7406;&#x63A5;&#x53E3;&#x7684;&#x516C;&#x7F51; IP &#x7528;&#x4E8E; SSH &#x548C; HTTPS &#x767B;&#x5F55;&#x914D;&#x7F6E;&#xFF0C;&#x6570;&#x636E;&#x63A5;&#x53E3;&#x7684;&#x516C;&#x7F51; IP &#x7528;&#x4E8E; VPN &#x62E8;&#x5165;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725161909617.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E4%BA%8C%E3%80%81paloalto-%E5%AE%9E%E4%BE%8B%E5%88%9D%E5%A7%8B%E5%8C%96">&#x4E8C;&#x3001;Paloalto &#x5B9E;&#x4F8B;&#x521D;&#x59CB;&#x5316;</h2>
<p>&#x4F7F;&#x7528;&#x7528;&#x6237;&#x540D; <code>admin</code> &#x548C;&#x5BC6;&#x94A5;&#x767B;&#x5F55;&#x9632;&#x706B;&#x5899;&#xFF0C;&#x7136;&#x540E;&#x4FEE;&#x6539; admin &#x7684;&#x5BC6;&#x7801;&#xFF0C;&#x5E76; <code>commit</code> &#x63D0;&#x4EA4;&#x3002;</p>
<pre><code>Welcome admin.
admin@PA-VM&gt; configure
Entering configuration mode
[edit]
admin@PA-VM# set mgt-config users admin password
Enter password   :
Confirm password :

[edit]
admin@PA-VM# commit

Commit job 2 is in progress. Use Ctrl+C to return to command prompt
.........55%75%98%..............100%
Configuration committed successfully

[edit]
admin@PA-VM#
</code></pre>
<p>&#x8BBE;&#x7F6E;&#x9632;&#x706B;&#x5899; e1/1 &#x6570;&#x636E;&#x63A5;&#x53E3;&#xFF0C;&#x653E;&#x884C; ping&#x3001;https &#x7B49;&#x7BA1;&#x7406;&#x6D41;&#x91CF;&#xFF0C;&#x8BBE;&#x7F6E;&#x63A5;&#x53E3;&#x4E3A; DHCP &#x81EA;&#x52A8;&#x83B7;&#x53D6; IP &#x5730;&#x5740;&#xFF0C;&#x5173;&#x8054; default &#x865A;&#x62DF;&#x8DEF;&#x7531;&#x5668;&#xFF0C;&#x5173;&#x8054;&#x5230; untrust zone&#x3002;</p>
<p>&#x6CE8;&#x610F;&#xFF1A;&#x751F;&#x4EA7;&#x73AF;&#x5883;&#x4E2D;&#xFF0C;VPN &#x62E8;&#x5165;&#x63A5;&#x53E3;&#x4E0D;&#x8981;&#x5141;&#x8BB8; HTTP&#x3001;HTTPS&#x3001;Telnet &#x6216; SSH &#x534F;&#x8BAE;&#xFF0C;&#x56E0;&#x4E3A; VPN &#x63A5;&#x53E3;&#x9762;&#x5411;&#x4E92;&#x8054;&#x7F51;&#x5F00;&#x653E;&#xFF0C;&#x53EF;&#x80FD;&#x9020;&#x6210;&#x5B89;&#x5168;&#x9690;&#x60A3;&#x3002;</p>
<pre><code>set network profiles interface-management-profile MgtProfile http yes
set network profiles interface-management-profile MgtProfile https yes
set network profiles interface-management-profile MgtProfile ssh yes
set network profiles interface-management-profile MgtProfile ping yes

set network interface ethernet ethernet1/1 layer3 interface-management-profile MgtProfile
set network interface ethernet ethernet1/1 layer3 dhcp-client

set network virtual-router default interface ethernet1/1
set zone untrust network layer3 ethernet1/1

commit
</code></pre>
<p>&#x901A;&#x8FC7;&#x7BA1;&#x7406;&#x63A5;&#x53E3;&#x7684;&#x516C;&#x7F51; IP &#x767B;&#x5F55;&#x9632;&#x706B;&#x5899;&#x3002;&#x5982;&#x679C;&#x9047;&#x5230;&#x6D4F;&#x89C8;&#x5668;&#x8BC1;&#x4E66;&#x62A5;&#x9519;&#x6216;&#x65E0;&#x6CD5;&#x767B;&#x5F55;&#xFF0C;&#x5C1D;&#x8BD5;&#x6E05;&#x7A7A;&#x7F13;&#x5B58;&#x91CD;&#x8BD5;&#x6216;&#x4F7F;&#x7528;&#x65E0;&#x75D5;&#x7A97;&#x53E3;&#x767B;&#x5F55;&#xFF0C;&#x4F7F;&#x7528;&#x521D;&#x59CB;&#x5316;&#x8BBE;&#x7F6E;&#x7684;&#x5BC6;&#x7801;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725164333327.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E4%B8%89%E3%80%81paloalto-%E9%85%8D%E7%BD%AE-globalprotect">&#x4E09;&#x3001;Paloalto &#x914D;&#x7F6E; GlobalProtect</h2>
<h3 id="31-portal-%E4%B8%8E-gateway">3.1 Portal &#x4E0E; Gateway</h3>
<p>GlobalProtect Portal &#x63D0;&#x4F9B;&#x96C6;&#x6210;&#x8BBE;&#x65BD;&#x7684;&#x7BA1;&#x7406;&#x529F;&#x80FD;&#xFF0C;&#x4E3A;&#x5BA2;&#x6237;&#x7AEF;&#x63D0;&#x4F9B;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#xFF0C;&#x5305;&#x62EC; Gateway &#x4FE1;&#x606F;&#x4EE5;&#x53CA;&#x6240;&#x9700;&#x8BC1;&#x4E66;&#x3002;&#x6B64;&#x5916;&#xFF0C;Portal &#x8FD8;&#x63D0;&#x4F9B; GlobalProtect &#x5BA2;&#x6237;&#x7AEF;&#x8F6F;&#x4EF6;&#x4E0B;&#x8F7D;&#x9875;&#x9762;&#x3002;GlobalProtect Gateway &#x5219;&#x4E0E;&#x5BA2;&#x6237;&#x7AEF;&#x4E4B;&#x95F4;&#x5EFA;&#x7ACB;&#x52A0;&#x5BC6;&#x96A7;&#x9053;&#x3002;</p>
<p>&#x5728;&#x5927;&#x591A;&#x6570;&#x573A;&#x666F;&#x4E0B;&#xFF0C;Portal &#x548C; Gateway &#x90FD;&#x8FD0;&#x884C;&#x5728;&#x540C;&#x4E00;&#x53F0;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x3002;&#x5F53;&#x516C;&#x53F8;&#x5728;&#x5168;&#x56FD;&#x6216;&#x8005;&#x5168;&#x7403;&#x6709;&#x591A;&#x4E2A;&#x6570;&#x636E;&#x4E2D;&#x5FC3;&#xFF0C;&#x53EF;&#x4EE5;&#x914D;&#x7F6E;&#x591A;&#x4E2A; Gateway&#xFF0C;&#x53EF;&#x4EE5;&#x81EA;&#x52A8;&#x9009;&#x62E9;&#x5EF6;&#x8FDF;&#x6700;&#x4F4E;&#x7684; Gateway&#x8282;&#x70B9;&#x4F5C;&#x4E3A;&#x6D41;&#x91CF;&#x8F6C;&#x53D1;&#x3002;&#x8FD9;&#x4E2A;&#x573A;&#x666F;&#x4E0B;&#xFF0C;&#x914D;&#x7F6E;&#x4E00;&#x4E2A; Portal &#x4F5C;&#x4E3A;&#x5BA2;&#x6237;&#x7AEF;&#x7684;&#x521D;&#x59CB;&#x8FDE;&#x63A5;&#x70B9;&#xFF0C;&#x5E76;&#x5728;&#x4E0D;&#x540C;&#x6570;&#x636E;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;&#x591A;&#x4E2A; Gateway&#x3002;&#x5BA2;&#x6237;&#x7AEF;&#x4E0A;&#x7684; GlobalProtect &#x9996;&#x5148;&#x4F1A;&#x4E0E; Portal &#x8FDE;&#x63A5;&#xFF0C;&#x83B7;&#x53D6;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x5E76;&#x67E5;&#x770B;&#x53EF;&#x7528;&#x7684; Gateway &#x8282;&#x70B9;&#xFF0C;&#x7136;&#x540E;&#x6839;&#x636E;&#x914D;&#x7F6E;&#x7684;&#x4F18;&#x5148;&#x7EA7;&#x548C;&#x5EF6;&#x65F6;&#x81EA;&#x52A8;&#x9009;&#x62E9;&#x5408;&#x9002;&#x7684; Gateway &#x5EFA;&#x7ACB;&#x8FDE;&#x63A5;&#x3002;</p>
<h3 id="32-%E5%88%9B%E5%BB%BA%E8%AF%81%E4%B9%A6">3.2 &#x521B;&#x5EFA;&#x8BC1;&#x4E66;</h3>
<p>&#x5728;&#x5F00;&#x59CB;&#x914D;&#x7F6E;&#x4E4B;&#x524D;&#xFF0C;&#x4EE5;&#x4E0B;&#x662F;&#x914D;&#x7F6E;&#x6B65;&#x9AA4;&#x7684;&#x603B;&#x7ED3;&#xFF0C;&#x4EE5;&#x907F;&#x514D;&#x9057;&#x6F0F;&#xFF1A;</p>
<pre><code>&#x542F;&#x52A8; AWS &#x4E0A;&#x7684; Paloalto PAYG &#x7C7B;&#x578B;&#x5B9E;&#x4F8B;&#x3002;
&#x521D;&#x59CB;&#x5316; Paloalto &#x5B9E;&#x4F8B;&#xFF0C;&#x8BBE;&#x7F6E; admin &#x5BC6;&#x7801;&#xFF0C;&#x914D;&#x7F6E;&#x6570;&#x636E;&#x63A5;&#x53E3;&#xFF0C;&#x5E76;&#x5173;&#x8054;&#x5F39;&#x6027; IP &#x5730;&#x5740;&#x3002;
&#x8BC1;&#x4E66;&#x914D;&#x7F6E;&#xFF1A;&#x521B;&#x5EFA;&#x6839;&#x8BC1;&#x4E66;&#x5E76;&#x7B7E;&#x53D1; VPN &#x8BC1;&#x4E66;&#xFF0C;&#x5C06;&#x6839;&#x8BC1;&#x4E66;&#x5BFC;&#x5165;&#x5230;&#x5BA2;&#x6237;&#x7AEF;&#x3002;
SSL &#x914D;&#x7F6E;&#xFF1A;&#x8BBE;&#x7F6E; TLS &#x534F;&#x8BAE;&#x7248;&#x672C;&#x3002;
&#x8BA4;&#x8BC1;&#x914D;&#x7F6E;&#xFF1A;&#x521B;&#x5EFA;&#x672C;&#x5730;&#x7528;&#x6237;&#x548C;&#x8BA4;&#x8BC1;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;
&#x521B;&#x5EFA;&#x533A;&#x57DF;&#x548C; tunnel &#x63A5;&#x53E3;&#xFF1A;&#x5C06;&#x63A5;&#x53E3;&#x52A0;&#x5165;&#x533A;&#x57DF;&#xFF0C;&#x5E76;&#x521B;&#x5EFA; VPN &#x5730;&#x5740;&#x6C60;&#x3002;
&#x521B;&#x5EFA; Gateway&#xFF1A;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#xFF0C;&#x5173;&#x8054;&#x8BA4;&#x8BC1;&#x3001;&#x96A7;&#x9053;&#x548C;&#x5730;&#x5740;&#x6C60;&#xFF0C;&#x914D;&#x7F6E;&#x96A7;&#x9053;&#x5206;&#x5272;&#x548C; DNS &#x670D;&#x52A1;&#x5668;&#x3002;
&#x521B;&#x5EFA; Portal&#xFF1A;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#xFF0C;&#x5173;&#x8054;&#x8BA4;&#x8BC1;&#x5E76;&#x914D;&#x7F6E;&#x4EE3;&#x7406;&#xFF08;&#x6307;&#x5B9A; Gateway &#x548C;&#x8BC1;&#x4E66;&#xFF09;&#x3002;
&#x4E0B;&#x8F7D;&#x5E76;&#x6FC0;&#x6D3B; GlobalProtect &#x5BA2;&#x6237;&#x7AEF;&#x3002;
&#x914D;&#x7F6E;&#x5B89;&#x5168;&#x7B56;&#x7565;&#x53CA; NAT&#xFF1A;&#x653E;&#x884C; VPN &#x533A;&#x57DF;&#x7684;&#x6D41;&#x91CF;&#xFF0C;&#x5E76;&#x5C06;&#x6D41;&#x91CF;&#x6E90;&#x5730;&#x5740;&#x8F6C;&#x6362;&#x4E3A;&#x9632;&#x706B;&#x5899;&#x7684;&#x51FA;&#x63A5;&#x53E3;&#x5730;&#x5740;&#x3002;
&#x6D4B;&#x8BD5;&#xFF1A;&#x901A;&#x8FC7; Portal &#x4E0B;&#x8F7D;&#x5BA2;&#x6237;&#x7AEF;&#x5E76;&#x8FDE;&#x63A5;&#xFF0C;&#x6D4B;&#x8BD5;&#x5185;&#x7F51;&#x8FDE;&#x901A;&#x6027;&#x3002;
&#x6D4B;&#x8BD5; Ghost Pool &#x65B9;&#x5F0F;&#x7684;&#x8FDE;&#x901A;&#x6027;&#x3002;
&#x901A;&#x8FC7;&#x4EE5;&#x4E0A;&#x6B65;&#x9AA4;&#xFF0C;&#x60A8;&#x53EF;&#x4EE5;&#x5728; AWS &#x73AF;&#x5883;&#x4E2D;&#x9AD8;&#x6548;
</code></pre>
<p>&#x5728; &#x201C;Device&#x201D;-&#x201C;&#x8BC1;&#x4E66;&#x7BA1;&#x7406;&#x201D;-&#x201C;&#x8BC1;&#x4E66;&#x201D; &#x4E0B;&#xFF0C;&#x521B;&#x5EFA;&#x6839;&#x8BC1;&#x4E66;&#xFF0C;&#x540D;&#x79F0;&#x4E3A; <code>VPN-Root-CA</code>&#xFF0C;&#x52FE;&#x9009; &#x201C;&#x8BC1;&#x4E66;&#x6388;&#x6743;&#x529E;&#x6CD5;&#x673A;&#x6784;&#x201D;&#xFF0C;&#x70B9;&#x51FB;&#x751F;&#x6210;&#x8BC1;&#x4E66;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725162619473.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5229;&#x7528;&#x751F;&#x6210;&#x7684;&#x6839;&#x8BC1;&#x4E66;&#x7B7E;&#x53D1; VPN &#x8BC1;&#x4E66;&#xFF0C;&#x5E76;&#x5728;&#x8BC1;&#x4E66;&#x4E2D;&#x6DFB;&#x52A0; IP &#x5C5E;&#x6027;&#xFF0C;&#x586B;&#x5199;&#x9632;&#x706B;&#x5899;&#x6570;&#x636E;&#x63A5;&#x53E3;&#x7684;&#x516C;&#x7F51; IP &#x5730;&#x5740;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726152549722.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5BFC;&#x51FA;&#x6839;&#x8BC1;&#x4E66;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726152703221.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5B89;&#x88C5;&#x6839;&#x8BC1;&#x4E66;&#x5230;&#x4E2A;&#x4EBA;&#x7535;&#x8111;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725171706017.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5BFC;&#x5165;&#x5230;&#x201C;&#x53D7;&#x4FE1;&#x4EFB;&#x7684;&#x6839;&#x8BC1;&#x4E66;&#x9881;&#x53D1;&#x673A;&#x6784;&#x201D;&#x4E2D;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725171710802.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x521B;&#x5EFA; SSL/TLS &#x670D;&#x52A1;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x8C03;&#x7528;&#x521B;&#x5EFA;&#x7684; VPN &#x8BC1;&#x4E66;&#xFF0C;&#x8BBE;&#x7F6E; TLS &#x534F;&#x5546;&#x7684;&#x6700;&#x4F4E;&#x7248;&#x672C;&#x4E3A; TLSv1.1 &#x4EE5;&#x4E0A;&#xFF0C;&#x7981;&#x7528; TLSv1.0&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725172054080.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h3 id="33-%E8%AE%A4%E8%AF%81%E6%96%B9%E5%BC%8F">3.3 &#x8BA4;&#x8BC1;&#x65B9;&#x5F0F;</h3>
<p>&#x521B;&#x5EFA;&#x672C;&#x5730;&#x7528;&#x6237;&#x7528;&#x4E8E; VPN &#x62E8;&#x53F7;&#x8BA4;&#x8BC1;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725162721316.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x521B;&#x5EFA;&#x8BA4;&#x8BC1;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x540D;&#x79F0;&#x4E3A; <code>gp_vpn_auth_profile</code>&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240729093609021.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5728; &#x201C;&#x9AD8;&#x7EA7;&#x201D; &#x8BBE;&#x7F6E;&#x4E2D;&#x53EA;&#x5141;&#x8BB8;&#x521B;&#x5EFA;&#x7684;&#x7528;&#x6237;&#x8BA4;&#x8BC1;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726153804810.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h3 id="34-%E5%88%9B%E5%BB%BA%E5%8C%BA%E5%9F%9F%E3%80%81tunnel%E6%8E%A5%E5%8F%A3%E3%80%81%E5%9C%B0%E5%9D%80%E6%B1%A0">3.4 &#x521B;&#x5EFA;&#x533A;&#x57DF;&#x3001;tunnel&#x63A5;&#x53E3;&#x3001;&#x5730;&#x5740;&#x6C60;</h3>
<p>&#x5728; &#x201C;Network&#x201D;-&#x201C;&#x533A;&#x57DF;&#x201D; &#x4E0B;&#xFF0C;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x533A;&#x57DF;&#xFF0C;&#x540D;&#x79F0;&#x4E3A; <code>GP-VPN</code>&#xFF0C;&#x7C7B;&#x578B;&#x4E3A;&#x7B2C;&#x4E09;&#x5C42;&#xFF0C;&#x540E;&#x7EED;&#x7684; tunnel &#x63A5;&#x53E3;&#x4F1A;&#x52A0;&#x5165;&#x8BE5;&#x533A;&#x57DF;&#x3002;</p>
<p>&#x52FE;&#x9009; &#x201C;&#x542F;&#x7528;&#x7528;&#x6237;&#x6807;&#x8BC6;&#x201D;&#xFF0C;&#x5373; User-ID&#xFF0C;&#x5728;&#x7528;&#x6237;&#x8BA4;&#x8BC1;&#x540E;&#xFF0C;&#x5C06;&#x7528;&#x6237;&#x4E0E; IP &#x5730;&#x5740;&#x6620;&#x5C04;&#x5230;&#x9632;&#x706B;&#x5899;&#x4E2D;&#xFF0C;&#x4FBF;&#x4E8E;&#x76D1;&#x63A7;&#x548C;&#x63A7;&#x5236;&#x7F51;&#x7EDC;&#x6D41;&#x91CF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725163207240.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x521B;&#x5EFA; tunnel &#x63A5;&#x53E3;&#xFF0C;&#x6307;&#x5B9A;&#x7528;&#x6237; VPN &#x6D41;&#x91CF;&#x901A;&#x8FC7; tunnel &#x63A5;&#x53E3;&#x8FDB;&#x5165;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726155041612.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x521B;&#x5EFA; VPN &#x5730;&#x5740;&#x6C60;&#xFF0C;&#x62E8;&#x53F7;&#x540E;&#x5206;&#x914D;&#x7ED9;&#x5BA2;&#x6237;&#x7AEF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725163252027.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h3 id="35-%E5%88%9B%E5%BB%BAvpn-gateway">3.5 &#x521B;&#x5EFA;VPN Gateway</h3>
<p>&#x5728; &#x201C;Network&#x201D;-&#x201C;GlobalProtect&#x201D;-&#x201C;&#x7F51;&#x5173;&#x201D;-&#x201C;&#x5E38;&#x89C4;&#x201D; &#x4E0B;&#xFF0C;&#x521B;&#x5EFA;&#x540D;&#x79F0;&#x4E3A; <code>GP_VPN_GW</code> &#x7684;&#x7F51;&#x5173;&#xFF0C;&#x5173;&#x8054; e1/1 &#x63A5;&#x53E3;&#xFF0C;&#x52FE;&#x9009;&#x8BB0;&#x5F55; SSL &#x63E1;&#x624B;&#x6210;&#x529F;&#x7684;&#x65E5;&#x5FD7;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725163425047.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5728; &#x201C;Network&#x201D;-&#x201C;GlobalProtect&#x201D;-&#x201C;&#x7F51;&#x5173;&#x201D;-&#x201C;&#x8EAB;&#x4EFD;&#x9A8C;&#x8BC1;&#x201D; &#x4E0B;&#xFF0C;&#x8C03;&#x7528;&#x524D;&#x9762;&#x521B;&#x5EFA;&#x7684; SSL/TLS &#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;&#x6DFB;&#x52A0; &#x201C;&#x5BA2;&#x6237;&#x7AEF;&#x8EAB;&#x4EFD;&#x9A8C;&#x8BC1;&#x201D;&#xFF0C;&#x540D;&#x79F0;&#x4E3A; <code>gp_vpn_gw_client</code>&#xFF0C;&#x8C03;&#x7528;&#x524D;&#x9762;&#x521B;&#x5EFA;&#x7684;&#x8EAB;&#x4EFD;&#x9A8C;&#x8BC1;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725173918519.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E; &#x201C;&#x4EE3;&#x7406;&#x201D;-&#x201C;&#x96A7;&#x9053;&#x8BBE;&#x7F6E;&#x201D;&#xFF0C;&#x542F;&#x7528; &#x201C;&#x96A7;&#x9053;&#x6A21;&#x5F0F;&#x201D;&#xFF0C;&#x8C03;&#x7528;&#x524D;&#x9762;&#x521B;&#x5EFA;&#x7684;&#x96A7;&#x9053;&#x63A5;&#x53E3; <code>tunnel.1</code>&#xFF0C;&#x53D6;&#x6D88;&#x52FE;&#x9009; &#x201C;&#x542F;&#x7528; IPsec&#x201D;&#xFF0C;&#x4F7F;&#x7528; TLS &#x52A0;&#x5BC6;&#x3002;&#x9664;&#x975E;&#x9700;&#x8981;&#x52A8;&#x6001;&#x8DEF;&#x7531;&#xFF0C;&#x5426;&#x5219;&#x96A7;&#x9053;&#x63A5;&#x53E3;&#x4E0A;&#x4E0D;&#x9700;&#x8981; IP &#x5730;&#x5740;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725174003370.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E; &#x201C;&#x4EE3;&#x7406;&#x201D;-&#x201C;&#x5BA2;&#x6237;&#x7AEF;&#x8BBE;&#x7F6E;&#x201D;&#xFF0C;&#x6DFB;&#x52A0;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x540D;&#x79F0;&#x4E3A; <code>gp_client_config</code>&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240729145138668.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x9009;&#x62E9; &#x201C;IP &#x6C60;&#x201D;&#xFF0C;&#x8C03;&#x7528;&#x524D;&#x9762;&#x521B;&#x5EFA;&#x7684; VPN &#x5730;&#x5740;&#x6C60;&#xFF0C;&#x5730;&#x5740;&#x8303;&#x56F4;&#x4E3A; 192.168.1.0/24&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725174245883.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E;&#x96A7;&#x9053;&#x5206;&#x5272;&#xFF0C;&#x5373;&#x53EA;&#x6709;&#x5F53;&#x5BA2;&#x6237;&#x7AEF;&#x53BB;&#x5F80; 172.31.0.0/16 &#x7F51;&#x6BB5;&#x65F6;&#xFF0C;&#x6D41;&#x91CF;&#x624D;&#x4F1A;&#x8FDB;&#x5165; VPN &#x901A;&#x9053;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725174254712.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E;&#x63A8;&#x9001;&#x7684; DNS &#x670D;&#x52A1;&#x5668;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x62E8;&#x53F7;&#x540E;&#xFF0C;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x4E0A;&#x4F1A;&#x6709;&#x53BB;&#x5F80; DNS &#x670D;&#x52A1;&#x5668;&#x7684;&#x4E3B;&#x673A;&#x8DEF;&#x7531;&#xFF0C;DNS &#x6D41;&#x91CF;&#x4F1A;&#x7ECF;&#x8FC7; VPN &#x96A7;&#x9053;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725174305439.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x8FD9;&#x91CC;&#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;VPN&#x5BA2;&#x6237;&#x7AEF;&#x7684;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#x7B49;&#x914D;&#x7F6E;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725174314584.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h3 id="36-%E5%88%9B%E5%BB%BAvpn-portals">3.6 &#x521B;&#x5EFA;VPN portals</h3>
<p>&#x521B;&#x5EFA; GlobalProtect &#x95E8;&#x6237;&#xFF08;Portal&#xFF09;&#xFF0C;&#x914D;&#x7F6E;&#x540D;&#x79F0;&#x4E3A; <code>gp_vpn_portal</code>&#xFF0C;&#x5173;&#x8054; e1/1 &#x63A5;&#x53E3;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725175243320.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E;&#x8EAB;&#x4EFD;&#x9A8C;&#x8BC1;&#xFF0C;&#x8C03;&#x7528;&#x524D;&#x9762;&#x521B;&#x5EFA;&#x7684; SSL/TLS &#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x521B;&#x5EFA;&#x5BA2;&#x6237;&#x7AEF;&#x8EAB;&#x4EFD;&#x9A8C;&#x8BC1;&#xFF0C;&#x4F9D;&#x7136;&#x8C03;&#x7528;&#x524D;&#x9762;&#x521B;&#x5EFA;&#x7684;&#x8EAB;&#x4EFD;&#x9A8C;&#x8BC1;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725175247202.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E; &#x201C;&#x4EE3;&#x7406;&#x201D;&#xFF0C;&#x521B;&#x5EFA; Agent &#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725175250366.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5728; &#x201C;&#x5916;&#x90E8;&#x201D; &#x8BBE;&#x7F6E;&#x4E2D;&#xFF0C;&#x914D;&#x7F6E;&#x5916;&#x90E8;&#x7F51;&#x5173;&#xFF0C;&#x7528;&#x6237;&#x62E8;&#x5165;&#x65F6;&#x9996;&#x5148;&#x8054;&#x7CFB; Portal&#xFF0C;&#x7531; Portal &#x5206;&#x914D;&#x53EF;&#x7528;&#x7684;&#x7F51;&#x5173;&#x3002;&#x5982;&#x679C;&#x6709;&#x591A;&#x4E2A;&#x7F51;&#x5173;&#xFF0C;&#x53EF;&#x4EE5;&#x6839;&#x636E; IP &#x5730;&#x5740;&#x6BB5;&#x548C;&#x56FD;&#x5BB6;&#x8BBE;&#x7F6E;&#x7F51;&#x5173;&#x4F18;&#x5148;&#x7EA7;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725175256149.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5728; &#x201C;&#x4EE3;&#x7406;&#x201D; &#x4E0B;&#xFF0C;&#x6DFB;&#x52A0;&#x5173;&#x8054;&#x524D;&#x9762;&#x521B;&#x5EFA;&#x7684;&#x6839;&#x8BC1;&#x4E66;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725175259500.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h3 id="37-%E4%B8%8B%E8%BD%BD%E6%BF%80%E6%B4%BB-globalprotect">3.7 &#x4E0B;&#x8F7D;&#x6FC0;&#x6D3B; GlobalProtect</h3>
<p>&#x4E0B;&#x8F7D;&#x6700;&#x65B0;&#x7248;&#x672C;&#x7684;GlobalProtect&#x5BA2;&#x6237;&#x7AEF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725142314348.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x6FC0;&#x6D3B;GlobalProtect&#x5BA2;&#x6237;&#x7AEF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725142411029.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E5%9B%9B%E3%80%81%E5%AE%89%E5%85%A8%E7%AD%96%E7%95%A5%E5%8F%8Anat%E9%85%8D%E7%BD%AE">&#x56DB;&#x3001;&#x5B89;&#x5168;&#x7B56;&#x7565;&#x53CA;NAT&#x914D;&#x7F6E;</h2>
<p>&#x5728; &#x201C;Policies&#x201D;-&#x201C;&#x5B89;&#x5168;&#x201D; &#x4E0B;&#xFF0C;&#x521B;&#x5EFA;&#x65B0;&#x7684;&#x5B89;&#x5168;&#x89C4;&#x5219;&#xFF0C;&#x540D;&#x79F0;&#x4E3A; <code>GP_VPN_To_Any</code>&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725172817833.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x6E90;&#x9650;&#x5236;&#x4E3A; GP-VPN &#x533A;&#x57DF;&#x7684; VPN &#x5730;&#x5740;&#x6C60;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725172835702.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x76EE;&#x7684;&#x53BB;&#x5F80; any&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725172914017.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x67E5;&#x770B;&#x653E;&#x884C;&#x7684;&#x5B89;&#x5168;&#x7B56;&#x7565;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725172955607.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E; NAT&#xFF0C;&#x5C06;&#x6765;&#x81EA; VPN &#x5730;&#x5740;&#x6C60;&#x7684;&#x6E90; IP &#x5730;&#x5740;&#x8F6C;&#x6362;&#x4E3A;&#x9632;&#x706B;&#x5899; e1/1 &#x51FA;&#x63A5;&#x53E3;&#x5730;&#x5740;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725173123489.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5B9A;&#x4E49;&#x539F;&#x59CB;&#x6570;&#x636E;&#x5305;&#xFF0C;&#x6765;&#x81EA; <code>GP-VPN</code> &#x533A;&#x57DF;&#xFF0C;&#x76EE;&#x6807;&#x533A;&#x57DF;&#x4E3A; <code>untrust</code>&#xFF0C;&#x6E90;&#x5730;&#x5740;&#x4E3A; VPN &#x5730;&#x5740;&#x6C60;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726162731326.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x914D;&#x7F6E;&#x8F6C;&#x6362;&#x540E;&#x7684;&#x6570;&#x636E;&#x5305;&#xFF0C;&#x5C06;&#x6E90;&#x5730;&#x5740;&#x52A8;&#x6001;&#x8F6C;&#x6362;&#x4E3A;&#x9632;&#x706B;&#x5899;&#x7684; e1/1 &#x63A5;&#x53E3;&#x5730;&#x5740;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725173129921.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x67E5;&#x770B;PAT&#x914D;&#x7F6E;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725173142903.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x63D0;&#x4EA4;&#x914D;&#x7F6E;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183552105.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E4%BA%94%E3%80%81%E6%B5%8B%E8%AF%95">&#x4E94;&#x3001;&#x6D4B;&#x8BD5;</h2>
<p>&#x5728;&#x6D4F;&#x89C8;&#x5668;&#x5730;&#x5740;&#x680F;&#x8F93;&#x5165;&#x9632;&#x706B;&#x5899;&#x7684;&#x6570;&#x636E;&#x63A5;&#x53E3;&#x516C;&#x7F51; IP &#x5730;&#x5740;&#xFF0C;&#x8BBF;&#x95EE; Paloalto GlobalProtect Portal &#x9875;&#x9762;&#x3002;&#x8F93;&#x5165;&#x9632;&#x706B;&#x5899;&#x914D;&#x7F6E;&#x7684;&#x672C;&#x5730;&#x7528;&#x6237;&#x540D;&#x548C;&#x5BC6;&#x7801;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183608796.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x4E0B;&#x8F7D;&#x5BF9;&#x5E94;&#x7684;GlobalProtect&#x5BA2;&#x6237;&#x7AEF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183613342.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5B89;&#x88C5; GlobalProtect &#x5BA2;&#x6237;&#x7AEF;&#x540E;&#xFF0C;&#x8F93;&#x5165;&#x9632;&#x706B;&#x5899;&#x7684;&#x516C;&#x7F51; IP &#x5730;&#x5740;&#xFF0C;&#x8FDB;&#x884C; VPN &#x62E8;&#x5165;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183625882.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x8F93;&#x5165;&#x7528;&#x6237;&#x540D;&#x548C;&#x5BC6;&#x7801;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726163140671.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x62E8;&#x5165;&#x540E;&#xFF0C;&#x67E5;&#x770B;&#x201C;&#x8BBE;&#x7F6E;&#x201D;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183632483.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x67E5;&#x770B;&#x8FDE;&#x63A5;&#x72B6;&#x6001;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726163156874.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5728; Paloalto &#x9632;&#x706B;&#x5899;&#x6240;&#x5728; VPC &#x65B0;&#x5EFA;&#x4E00;&#x4E2A; EC2&#xFF0C;&#x6A21;&#x62DF;&#x5185;&#x90E8;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x67E5;&#x770B;&#x5185;&#x7F51;&#x5730;&#x5740;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183645292.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>VPN &#x62E8;&#x53F7;&#x540E;&#xFF0C;ping &#x6D4B;&#x8BD5;&#x5185;&#x90E8;&#x5730;&#x5740;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183649071.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5728;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x67E5;&#x770B; ping &#x6D41;&#x91CF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183830939.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x67E5;&#x770B; GlobalProtect &#x7684;&#x62E8;&#x53F7;&#x8BB0;&#x5F55;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726163453792.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x4E0A;&#x67E5;&#x770B;&#x8DEF;&#x7531;&#x8868;&#xFF0C;&#x53BB;&#x5F80; DNS &#x670D;&#x52A1;&#x5668;&#x7684;&#x4E3B;&#x673A;&#x8DEF;&#x7531;&#x548C;&#x53BB;&#x5F80; 172.31.0.0/16 &#x7F51;&#x6BB5;&#x7684;&#x6D41;&#x91CF;&#x901A;&#x8FC7; 192.168.1.1&#x3002;</p>
<pre><code>C:\&gt;route print
IPv4 &#x8DEF;&#x7531;&#x8868;
===========================================================================
&#x6D3B;&#x52A8;&#x8DEF;&#x7531;:
&#x7F51;&#x7EDC;&#x76EE;&#x6807;        &#x7F51;&#x7EDC;&#x63A9;&#x7801;          &#x7F51;&#x5173;       &#x63A5;&#x53E3;   &#x8DC3;&#x70B9;&#x6570;
          8.8.8.8  255.255.255.255            &#x5728;&#x94FE;&#x8DEF;&#x4E0A;       192.168.1.1      1
  114.114.114.114  255.255.255.255            &#x5728;&#x94FE;&#x8DEF;&#x4E0A;       192.168.1.1      1
       172.31.0.0      255.255.0.0            &#x5728;&#x94FE;&#x8DEF;&#x4E0A;       192.168.1.1      1
   172.31.255.255  255.255.255.255            &#x5728;&#x94FE;&#x8DEF;&#x4E0A;       192.168.1.1    257
      192.168.1.1  255.255.255.255            &#x5728;&#x94FE;&#x8DEF;&#x4E0A;       192.168.1.1    257
  255.255.255.255  255.255.255.255            &#x5728;&#x94FE;&#x8DEF;&#x4E0A;       192.168.1.1    257
</code></pre>
<p>&#x67E5;&#x770B;&#x5BA2;&#x6237;&#x7AEF;&#x7684;&#x7F51;&#x5361;&#x4FE1;&#x606F;&#xFF0C;&#x62E8;&#x53F7;&#x540E;&#x521B;&#x5EFA;&#x865A;&#x62DF;&#x7F51;&#x5361;&#xFF0C;&#x53BB;&#x5F80; VPN &#x7684;&#x6D41;&#x91CF;&#x4F1A;&#x9001;&#x5230;&#x8BE5;&#x7F51;&#x5361;&#x8FDB;&#x884C;&#x52A0;&#x5BC6;&#x5C01;&#x88C5;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726170311484.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x6293;&#x5305;&#x8FD9;&#x4E2A;&#x865A;&#x62DF;&#x7F51;&#x5361;&#x7684;&#x6D41;&#x91CF;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x52A0;&#x5BC6;&#x524D;&#x7684;&#x6D41;&#x91CF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726170316911.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x6293;&#x5305;&#x672C;&#x5730;&#x8FDE;&#x63A5;&#x7684;&#x51FA;&#x53E3;&#x7F51;&#x5361;&#xFF0C;&#x53EA;&#x80FD;&#x770B;&#x5230;TLS&#x52A0;&#x5BC6;&#x6D41;&#x91CF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240726170320733.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E5%85%AD%E3%80%81ghost-pool-%E4%BF%9D%E7%95%99%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%8E%9F%E5%A7%8Bip%E5%9C%B0%E5%9D%80">&#x516D;&#x3001;Ghost Pool &#x4FDD;&#x7559;&#x5BA2;&#x6237;&#x7AEF;&#x539F;&#x59CB;IP&#x5730;&#x5740;</h2>
<p>&#x9632;&#x706B;&#x5899;&#x4F7F;&#x7528; NAT &#x8F6C;&#x6362;&#x5BA2;&#x6237;&#x7AEF;&#x7684;&#x6E90; IP &#x5730;&#x5740;&#xFF0C;&#x662F;&#x5FEB;&#x901F;&#x89E3;&#x51B3;&#x8DEF;&#x7531;&#x95EE;&#x9898;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x4F46;&#x540E;&#x53F0;&#x670D;&#x52A1;&#x5668;&#x65E0;&#x6CD5;&#x770B;&#x5230;&#x5BA2;&#x6237;&#x7AEF;&#x7684;&#x539F;&#x59CB; IP &#x5730;&#x5740;&#xFF0C;&#x53EA;&#x80FD;&#x770B;&#x5230;&#x9632;&#x706B;&#x5899;&#x7684;&#x5730;&#x5740;&#x3002;&#x4E3A;&#x4E86;&#x8BA9;&#x540E;&#x7AEF;&#x670D;&#x52A1;&#x5668;&#x67E5;&#x770B;&#x5230;&#x539F;&#x59CB;&#x5BA2;&#x6237;&#x7AEF; IP &#x5730;&#x5740;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x8DEF;&#x7531;&#x89E3;&#x51B3; VPN &#x8DEF;&#x7531;&#x95EE;&#x9898;&#x3002;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x79F0;&#x4E3A; &#x201C;Ghost Pool&#x201D;&#x3002;</p>
<p>&#x5BA2;&#x6237;&#x7AEF;&#x5206;&#x914D;&#x5730;&#x5740;&#x4E3A; 192.168.1.0/24&#xFF0C;&#x5728; AWS &#x4E0A;&#x9700;&#x8981;&#x89E3;&#x51B3;&#x670D;&#x52A1;&#x5668;&#x5230;&#x8BE5;&#x7F51;&#x6BB5;&#x7684;&#x6D41;&#x91CF;&#x9001;&#x5230; Paloalto &#x9632;&#x706B;&#x5899;&#x7684; e1/1 &#x6570;&#x636E;&#x53E3;&#x3002;&#x56E0;&#x4E3A;&#x5BA2;&#x6237;&#x7AEF;&#x5730;&#x5740;&#x6C60;&#x7F51;&#x6BB5;&#x5728; AWS VPC &#x4E2D;&#x5E76;&#x4E0D;&#x5B58;&#x5728;&#xFF0C;&#x6240;&#x4EE5;&#x79F0;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x4E3A; &#x201C;Ghost Pool&#x201D;&#x3002;</p>
<p>&#x5728;&#x540E;&#x7AEF;&#x670D;&#x52A1;&#x5668;&#x6240;&#x5728;&#x5B50;&#x7F51;&#x7684;&#x8DEF;&#x7531;&#x8868;&#x4E2D;&#xFF0C;&#x6DFB;&#x52A0;&#x53BB;&#x5F80; 192.168.1.0/24 &#x7F51;&#x6BB5;&#x7684;&#x6D41;&#x91CF;&#xFF0C;&#x6307;&#x5411;&#x9632;&#x706B;&#x5899;&#x7684; e1/1 &#x63A5;&#x53E3;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183851094.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x56E0;&#x4E3A;Paloalto&#x9632;&#x706B;&#x5899;&#x9700;&#x8981;&#x8F6C;&#x53D1;&#x6D41;&#x91CF;&#xFF0C;&#x6240;&#x4EE5;&#x9700;&#x8981;&#x5173;&#x95ED;&#x201C;&#x6E90;/&#x76EE;&#x6807;&#x68C0;&#x67E5;&#x201D;&#x3002;&#x4F7F;&#x7528;NAT&#x65B9;&#x5F0F;&#x65F6;&#xFF0C;&#x4E0D;&#x7528;&#x5173;&#x95ED;&#x8FD9;&#x4E2A;&#x7279;&#x6027;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183911646.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x505C;&#x6B62;&#x68C0;&#x6D4B;&#x201C;&#x6E90;/&#x76EE;&#x6807;&#x68C0;&#x67E5;&#x201D;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183928735.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x7981;&#x7528;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x7684;NAT&#x914D;&#x7F6E;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725184008552.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x5BA2;&#x6237;&#x7AEF; ping &#x540E;&#x7AEF;&#x670D;&#x52A1;&#x5668;&#x6D4B;&#x8BD5;&#xFF0C;&#x5F53;&#x7981;&#x7528; NAT &#x5E76; commit &#x540E;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x65E0;&#x6CD5;&#x4E0E;&#x540E;&#x7AEF;&#x670D;&#x52A1;&#x5668;&#x901A;&#x4FE1;&#x3002;&#x5F53;&#x6DFB;&#x52A0;&#x8DEF;&#x7531;&#x548C;&#x5173;&#x95ED;&#x201C;&#x6E90;/&#x76EE;&#x6807;&#x68C0;&#x67E5;&#x201D;&#x540E;&#xFF0C;&#x53C8;&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x8FDE;&#x901A;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240725183932457.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E4%B8%83%E3%80%81%E4%B8%BB%E6%9C%BA%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86hip%E4%B8%8E%E6%8E%88%E6%9D%83%E8%AE%B8%E5%8F%AF">&#x4E03;&#x3001;&#x4E3B;&#x673A;&#x4FE1;&#x606F;&#x6536;&#x96C6;(HIP)&#x4E0E;&#x6388;&#x6743;&#x8BB8;&#x53EF;</h2>
<p>&#x5728; AWS &#x4E0A;&#x542F;&#x52A8; EC2 &#x65F6;&#x9009;&#x62E9; <code>PAYG</code>&#xFF08;pay-as-you-go&#xFF09;&#x7C7B;&#x578B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x5B9E;&#x4F8B;&#x542F;&#x52A8;&#x540E;&#x5E26;&#x6709; Paloalto &#x7684;&#x6388;&#x6743;&#x8BB8;&#x53EF;&#x3002;&#x67E5;&#x770B;&#x8BB8;&#x53EF;&#xFF0C;&#x5982;&#x679C;&#x9009;&#x62E9; BYOL&#xFF08;Bring-Your-Own-License&#xFF09;&#xFF0C;&#x5219;&#x9700;&#x81EA;&#x884C;&#x5BFC;&#x5165; License&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240729113841029.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>VPN &#x62E8;&#x5165;&#x65F6;&#xFF0C;&#x6839;&#x636E;&#x5BA2;&#x6237;&#x7AEF;&#x72B6;&#x6001;&#x8FDB;&#x884C;&#x6388;&#x6743;&#xFF0C;&#x9700;&#x8981;&#x4F7F;&#x7528; HIP&#xFF08;Host Information Profile&#xFF09;Checks &#x529F;&#x80FD;&#x3002;&#x542F;&#x7528; Gateway &#x529F;&#x80FD;&#x7684;&#x9632;&#x706B;&#x5899;&#x9700;&#x5BF9;&#x5E94;&#x8BB8;&#x53EF;&#xFF0C;&#x4EE5;&#x4E0B;&#x5217;&#x51FA;&#x54EA;&#x4E9B;&#x529F;&#x80FD;&#x9700;&#x8981; Gateway License&#x3002;</p>
<table>
<thead>
<tr>
<th style="text-align:left">Feature</th>
<th style="text-align:left">Gateway License Required?</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Single external gateway (Windows and macOS)</td>
<td style="text-align:left">-</td>
</tr>
<tr>
<td style="text-align:left">Single or multiple internal gateways-</td>
<td style="text-align:left">-</td>
</tr>
<tr>
<td style="text-align:left">Multiple external gateways</td>
<td style="text-align:left">-</td>
</tr>
<tr>
<td style="text-align:left">Internet of things (IoT) devices</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">HIP Checks</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">Identification of managed devices using the endpoint serial number on gateways</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">HIP-based policy enforcement based on the endpoint status</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">App for endpoints running Windows and macOS</td>
<td style="text-align:left">-</td>
</tr>
<tr>
<td style="text-align:left">Mobile app for endpoints running iOS, Android, Chrome OS, and Windows 10 UWP</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">App for endpoints running Linux</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">App for endpoints running IoT</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">IPv6 for external gateways</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">IPv6 for internal gateways(change to default behavior&#x2014;starting with GlobalProtect app 4.1.3, a GlobalProtect subscription isn&apos;t required for this use case)</td>
<td style="text-align:left">-</td>
</tr>
<tr>
<td style="text-align:left">Clientless VPN(Not supported on multi-VSYS firewalls if the traffic must traverse multiple virtual systems)</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">Split tunneling based on destination domain, client process, and video streaming application</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">Split DNS</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">Adding a compromised device to the quarantine list</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">GlobalProtect App Log Collection for Troubleshooting(Panorama appliance running 9.0 or later and PAN-OS 8.1 or later)</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">Enforces GlobalProtect connections with FQDN exclusions</td>
<td style="text-align:left">&#x221A;</td>
</tr>
<tr>
<td style="text-align:left">Redistribute HIP Reports</td>
<td style="text-align:left">&#x221A;</td>
</tr>
</tbody>
</table>
<p>&#x60F3;&#x8981;&#x68C0;&#x6D4B;&#x4E3B;&#x673A;&#x7684;HIP&#x4FE1;&#x606F;&#xFF0C;&#x9700;&#x8981;&#x5148;&#x5728;Object&#x4E2D;&#x5B9A;&#x4E49;HIP&#x5BF9;&#x8C61;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240729113959706.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<p>&#x7136;&#x540E;&#x5728;&#x201C;&#x7F51;&#x5173;&#x201D;-&#x201C;&#x4EE3;&#x7406;&#x201D;-&#x201C;HIP&#x901A;&#x77E5;&#x201D;&#x4E2D;&#x8C03;&#x7528;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/aws-paloalto-globalprotect/image-20240729113941366.png" alt="AWS &#x4E0A;&#x914D;&#x7F6E; Paloalto GlobalProtect" loading="lazy"></p>
<h2 id="%E5%85%AB%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x516B;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>Paloalto GlobalProtect Docs&#xFF1A;<a href="https://docs.paloaltonetworks.com/globalprotect/10-1/globalprotect-admin/globalprotect-overview/about-the-globalprotect-components?ref=liuqianglong.com">https://docs.paloaltonetworks.com/globalprotect/10-1/globalprotect-admin/globalprotect-overview/about-the-globalprotect-components</a></li>
<li>Palo Alto Global Protect VPN Configuration Example&#xFF1A;<a href="https://www.packetswitch.co.uk/palo-alto-global-protect-vpn-configuration-example/?ref=liuqianglong.com">https://www.packetswitch.co.uk/palo-alto-global-protect-vpn-configuration-example/</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Panorama系列--(5)Panorama配置QoS]]></title><description><![CDATA[<p>Palo Alto Networks &#x9632;&#x706B;&#x5899;&#x4E0A;&#x914D;&#x7F6E;QoS&#x9700;&#x8981;&#x914D;&#x7F6E;&#x4E09;&#x4E2A;&#x90E8;&#x5206;&#xFF0C;&#x5206;&#x522B;&#x662F;<strong>QoS Profile</strong>&#x3001;<strong>QoS Policy</strong>&#x4EE5;&#x53CA; <strong>QoS &#x51FA;&#x53E3;&#x63A5;&#x53E3;</strong>&#x7684;&#x8BBE;&#x7F6E;&#x3002;</p>
<p>&#x5148;&#x521B;&#x5EFA;QoS Profile&#xFF0C;&#x5176;&#x4E2D;&#x8BBE;&#x7F6E;&#x4E0D;&#x540C;</p>]]></description><link>https://liuqianglong.com/panorama-series-5-qos-configuration/</link><guid isPermaLink="false">66b4d85796274ebdd2050a24</guid><category><![CDATA[Paloalto]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Network]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Wed, 15 Feb 2023 10:00:00 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/panorama-qos-config.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/08/panorama-qos-config.png" alt="Panorama&#x7CFB;&#x5217;--(5)Panorama&#x914D;&#x7F6E;QoS"><p>Palo Alto Networks &#x9632;&#x706B;&#x5899;&#x4E0A;&#x914D;&#x7F6E;QoS&#x9700;&#x8981;&#x914D;&#x7F6E;&#x4E09;&#x4E2A;&#x90E8;&#x5206;&#xFF0C;&#x5206;&#x522B;&#x662F;<strong>QoS Profile</strong>&#x3001;<strong>QoS Policy</strong>&#x4EE5;&#x53CA; <strong>QoS &#x51FA;&#x53E3;&#x63A5;&#x53E3;</strong>&#x7684;&#x8BBE;&#x7F6E;&#x3002;</p>
<p>&#x5148;&#x521B;&#x5EFA;QoS Profile&#xFF0C;&#x5176;&#x4E2D;&#x8BBE;&#x7F6E;&#x4E0D;&#x540C;&#x7C7B;&#xFF08;class&#xFF09;&#x7684;&#x5E26;&#x5BBD;&#x5927;&#x5C0F;&#xFF0C;&#x7136;&#x540E;&#x8BBE;&#x7F6E;Qos Policy&#xFF0C;&#x5176;&#x4E2D;&#x5B9A;&#x4E49;&#x6D41;&#x91CF;&#x6240;&#x5C5E;&#x7684;&#x7C7B;&#xFF08;class&#xFF09;&#xFF0C;&#x6700;&#x540E;&#x5728;QoS&#x51FA;&#x63A5;&#x53E3;&#x8C03;&#x7528;QoS Profile&#x6587;&#x4EF6;&#x5373;&#x53EF;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-qos-config/image-20230202165442433.png" alt="Panorama&#x7CFB;&#x5217;--(5)Panorama&#x914D;&#x7F6E;QoS" loading="lazy"></p>
<p>&#x521B;&#x5EFA;QoS Profile&#xFF0C;&#x5B9A;&#x4E49;&#x4E0D;&#x540C;&#x7C7B;&#x80FD;&#x4EAB;&#x7528;&#x7684;&#x5E26;&#x5BBD;&#x3002;&#x8FD9;&#x91CC;&#x4F7F;&#x7528;&#x7684;&#x662F;VM-100&#x5B9E;&#x4F8B;&#xFF0C;&#x6700;&#x5927;&#x5E26;&#x5BBD;&#x4E3A;2Gbps&#xFF0C;&#x6240;&#x4EE5;&#x914D;&#x7F6E;QoS&#x7B56;&#x7565;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;&#x6700;&#x5927;&#x5E26;&#x5BBD;&#x4E3A;2000Mpbs&#x3002;</p>
<table>
<thead>
<tr>
<th style="text-align:left">AWS</th>
<th style="text-align:left">VM-100M5.XLARGE</th>
<th style="text-align:left">VM-300 M5.XLARGE</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">Firewall Throughput (App-ID enabled)</td>
<td style="text-align:left">2 Gbps</td>
<td style="text-align:left">4 Gbps</td>
</tr>
<tr>
<td style="text-align:left">Threat Prevention Throughput</td>
<td style="text-align:left">1 Gbps</td>
<td style="text-align:left">1.7 Gbps</td>
</tr>
<tr>
<td style="text-align:left">IPSec VPN Throughput</td>
<td style="text-align:left">1 Gbps</td>
<td style="text-align:left">2 Gbps</td>
</tr>
</tbody>
</table>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-qos-config/image-20230203192631710.png" alt="Panorama&#x7CFB;&#x5217;--(5)Panorama&#x914D;&#x7F6E;QoS" loading="lazy"></p>
<p>&#x914D;&#x7F6E;QoS Policy&#xFF0C;&#x5C06;&#x5339;&#x914D;&#x5230;&#x5230;&#x7684;&#x6D41;&#x91CF;&#x8BBE;&#x7F6E;&#x4E3A;<code>Class 8</code>&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-qos-config/image-20230203192647811.png" alt="Panorama&#x7CFB;&#x5217;--(5)Panorama&#x914D;&#x7F6E;QoS" loading="lazy"></p>
<p>&#x914D;&#x7F6E;QoS&#x63A5;&#x53E3;&#xFF0C;&#x8BBE;&#x7F6E;&#x63A5;&#x53E3;&#x53D8;&#x91CF;&#xFF0C;&#x56E0;&#x4E3A;&#x4E24;&#x4E2A;&#x9632;&#x706B;&#x5899;QoS&#x51FA;&#x63A5;&#x53E3;&#x90FD;&#x662F;e1/1&#xFF0C;&#x6240;&#x4EE5;&#x4E0D;&#x7528;&#x5206;&#x522B;&#x63A8;&#x9001;CSV&#x6587;&#x4EF6;&#x4E86;&#x3002;&#x53E6;&#x5916;&#x8BBE;&#x7F6E;&#x63A5;&#x53E3;&#x7684;&#x6700;&#x5927;&#x5E26;&#x5BBD;&#x4E3A;2000Mbps&#xFF0C;&#x63A5;&#x53E3;&#x8C03;&#x7528;QoS Profile&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x6700;&#x540E;&#x5C06;&#x914D;&#x7F6E;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#x4E0A;&#xFF0C;&#x5982;&#x679C;&#x914D;&#x7F6E;&#x4E0D;&#x540C;&#x6B65;&#xFF0C;&#x9700;&#x8981;&#x5F3A;&#x5236;&#x63A8;&#x9001;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-qos-config/image-20230203192640835.png" alt="Panorama&#x7CFB;&#x5217;--(5)Panorama&#x914D;&#x7F6E;QoS" loading="lazy"></p>
<p>&#x5728;EC2&#x4E0A;&#x4E0B;&#x8F7D;speedtest&#x6D4B;&#x8BD5;&#x811A;&#x672C;&#xFF0C;&#x4E3A;&#x811A;&#x672C;&#x8D4B;&#x4E88;&#x8FD0;&#x884C;&#x6743;&#x9650;&#xFF0C;&#x7136;&#x540E;&#x8FD0;&#x884C;&#x811A;&#x672C;&#x6D4B;&#x8BD5;&#x3002;</p>
<pre><code>wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest.py
./speedtest.py
</code></pre>
<p>&#x811A;&#x672C;&#x5141;&#x8BB8;&#x7ED3;&#x679C;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x901F;&#x5EA6;&#x6709;&#x660E;&#x663E;&#x7684;&#x9650;&#x5236;&#x3002;</p>
<pre><code>root@ip-10-110-30-48 ~]# ./speedtest
Retrieving speedtest.net configuration...
Testing from Ningxia West Cloud Data Technology Co.Ltd. (68.79.62.10)...
Retrieving speedtest.net server list...
Selecting best server based on ping...

Hosted by Lanzhou,China Mobile,Gansu (Lanzhou) [238.42 km]: 28.768 ms
Testing download speed................................................................................
Download: 18.32 Mbit/s
Testing upload speed................................................................................................
Upload: 13.96 Mbit/s
</code></pre>
<p>&#x5728;&#x672A;&#x505A;&#x9650;&#x901F;&#x7684;EC2&#x4E0A;&#x6D4B;&#x8BD5;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x901F;&#x5EA6;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;&#x9650;&#x5236;&#x3002;</p>
<pre><code>[root@ip-10-110-40-8 ~]# ./speedtest.py
Retrieving speedtest.net configuration...
Testing from Ningxia West Cloud Data Technology Co.Ltd. (68.79.62.10)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Lanzhou,China Mobile,Gansu (Lanzhou) [238.42 km]: 21.485 ms
Testing download speed................................................................................
Download: 627.35 Mbit/s
Testing upload speed................................................................................................
Upload: 422.06 Mbit/s
</code></pre>
<p>&#x767B;&#x5F55;&#x5230;Paloalto&#x9632;&#x706B;&#x5899;&#x4E0A;&#xFF0C;&#x67E5;&#x770B;QoS&#x63A5;&#x53E3;&#x72B6;&#x6001;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x6D41;&#x91CF;&#x9650;&#x901F;&#x60C5;&#x51B5;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-qos-config/image-20230203193346731.png" alt="Panorama&#x7CFB;&#x5217;--(5)Panorama&#x914D;&#x7F6E;QoS" loading="lazy"></p>
<h2 id="%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3">&#x53C2;&#x8003;&#x6587;&#x6863;</h2>
<ul>
<li>Palo Alto Networks &#x2013; Configure Quality of Service (QoS)&#xFF1A;<a href="https://faatech.be/palo-alto-networks-configure-qos/?ref=liuqianglong.com">https://faatech.be/palo-alto-networks-configure-qos/</a></li>
<li>VM-Series Performance and Capacity&#xFF1A;<a href="https://docs.paloaltonetworks.com/vm-series/10-2/vm-series-performance-capacity/vm-series-performance-capacity?ref=liuqianglong.com">https://docs.paloaltonetworks.com/vm-series/10-2/vm-series-performance-capacity/vm-series-performance-capacity</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Panorama系列--(4)Panorama收集日志与添加磁盘]]></title><description><![CDATA[<p>Panorama &#x53EF;&#x4EE5;&#x805A;&#x5408;&#x6240;&#x6709;&#x7BA1;&#x7406;&#x9632;&#x706B;&#x5899;&#x7684;&#x65E5;&#x5FD7;&#xFF0C;&#x5E76;&#x663E;&#x793A;&#x7F51;&#x7EDC;&#x4E2D;&#x6240;&#x6709;&#x6D41;&#x91CF;&#x7684;&#x4FE1;&#x606F;&#x3002;&#x6B64;&#x5916;&#xFF0C;&#x5B83;&#x8FD8;&#x63D0;&#x4F9B;&#x4E86;&#x6240;&#x6709;&#x7B56;&#x7565;&#x4FEE;&#x6539;&#x7684;&#x5BA1;&#x6838;&#x8BB0;&#x5F55;&#x548C;</p>]]></description><link>https://liuqianglong.com/panorama-series-4-log-collection-and-disk-addition/</link><guid isPermaLink="false">66b4d7e896274ebdd2050a15</guid><category><![CDATA[Paloalto]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Network]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Tue, 14 Feb 2023 10:00:00 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/panorama-logging-disk.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/08/panorama-logging-disk.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;"><p>Panorama &#x53EF;&#x4EE5;&#x805A;&#x5408;&#x6240;&#x6709;&#x7BA1;&#x7406;&#x9632;&#x706B;&#x5899;&#x7684;&#x65E5;&#x5FD7;&#xFF0C;&#x5E76;&#x663E;&#x793A;&#x7F51;&#x7EDC;&#x4E2D;&#x6240;&#x6709;&#x6D41;&#x91CF;&#x7684;&#x4FE1;&#x606F;&#x3002;&#x6B64;&#x5916;&#xFF0C;&#x5B83;&#x8FD8;&#x63D0;&#x4F9B;&#x4E86;&#x6240;&#x6709;&#x7B56;&#x7565;&#x4FEE;&#x6539;&#x7684;&#x5BA1;&#x6838;&#x8BB0;&#x5F55;&#x548C;&#x5BF9;&#x53D7;&#x7BA1;&#x9632;&#x706B;&#x5899;&#x6240;&#x4F5C;&#x7684;&#x914D;&#x7F6E;&#x66F4;&#x6539;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81panorama%E9%9B%86%E4%B8%AD%E6%94%B6%E9%9B%86%E6%97%A5%E5%BF%97">&#x4E00;&#x3001;Panorama&#x96C6;&#x4E2D;&#x6536;&#x96C6;&#x65E5;&#x5FD7;</h2>
<p>&#x65B0;&#x5EFA;&#x65E5;&#x5FD7;&#x6536;&#x96C6;&#x5668;&#xFF0C;&#x586B;&#x5165;Panorama&#x7684;&#x5E8F;&#x5217;&#x53F7;&#xFF0C;&#x914D;&#x7F6E;&#x63D0;&#x4EA4;&#x5230;Panorama&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202141158879.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x6DFB;&#x52A0;&#x4E00;&#x5757;&#x78C1;&#x76D8;&#xFF0C;&#x56E0;&#x4E3A;&#x865A;&#x62DF;&#x673A;&#x5728;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x5DF2;&#x7ECF;&#x6DFB;&#x52A0;&#x8FC7;&#x4E00;&#x5757;2TB&#x7684;&#x78C1;&#x76D8;&#xFF0C;&#x6240;&#x4EE5;&#x8FD9;&#x91CC;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x8BC6;&#x522B;&#x51FA;&#x6765;&#x3002;&#x914D;&#x7F6E;&#x5B8C;&#x540E;&#x7EE7;&#x7EED;&#x63D0;&#x4EA4;&#x5230;Panorama&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202141223744.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x65B0;&#x5EFA;&#x6536;&#x96C6;&#x7EC4;&#xFF0C;&#x8BBE;&#x7F6E;&#x65E5;&#x5FD7;&#x4FDD;&#x7559;&#x65F6;&#x95F4;&#xFF0C;&#x6DFB;&#x52A0;&#x521A;&#x624D;&#x521B;&#x5EFA;&#x7684;&#x6536;&#x96C6;&#x5668;&#x3002;&#x914D;&#x7F6E;&#x5B8C;&#x540E;&#xFF0C;<strong>&#x914D;&#x7F6E;&#x63D0;&#x4EA4;&#x5E76;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#x8BBE;&#x5907;</strong>&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202141254517.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x67E5;&#x770B;&#x6536;&#x96C6;&#x5668;&#x72B6;&#x6001;&#xFF0C;&#x5982;&#x679C;&#x6536;&#x96C6;&#x7EC4;&#x7684;&#x914D;&#x7F6E;&#x6CA1;&#x6709;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#xFF0C;&#x53EF;&#x80FD;&#x9047;&#x89C1;&#x201C;Ring version mismatch&#x201D;&#x7684;&#x62A5;&#x9519;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202141510645.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x7F16;&#x8F91;&#x9700;&#x8981;&#x8BB0;&#x5F55;&#x65E5;&#x5FD7;&#x7684;&#x7B56;&#x7565;&#xFF0C;&#x8BBE;&#x7F6E;&#x65E5;&#x5FD7;&#x8F6C;&#x53D1;&#x5230;IoT Security Default Profile&#xFF0C;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x9ED8;&#x8BA4;&#x7684;&#x65E5;&#x5FD7;&#x7B56;&#x7565;&#xFF0C;&#x4F1A;&#x8BB0;&#x5F55;&#x6240;&#x6709;&#x65E5;&#x5FD7;&#x4FE1;&#x606F;&#x3002;</p>
<p>&#x5982;&#x679C;&#x9632;&#x706B;&#x5899;&#x5DF2;&#x7ECF;&#x4FEE;&#x6539;&#x8FC7;&#x9ED8;&#x8BA4;&#x7B56;&#x7565;&#xFF0C;&#x90A3;&#x4E48;Panorama&#x662F;&#x65E0;&#x6CD5;&#x63A8;&#x9001;&#x9ED8;&#x8BA4;&#x7B56;&#x7565;&#x5230;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x7684;&#xFF0C;&#x9700;&#x8981;&#x5148;&#x5728;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x70B9;&#x51FB;<code>Revert</code>&#x540C;&#x6B65;Panorama&#x7684;&#x7B56;&#x7565;&#xFF0C;&#x4E4B;&#x540E;&#x624D;&#x80FD;&#x63A5;&#x53D7;&#x6765;&#x81EA;Panorama&#x7684;&#x7B56;&#x7565;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202141412203.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x7B49;&#x5F85;&#x4E00;&#x4F1A;&#xFF0C;&#x5728;Panorama&#x4E0A;&#x67E5;&#x770B;&#x65E5;&#x5FD7;&#x4FE1;&#x606F;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202141438718.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<h2 id="%E4%BA%8C%E3%80%81aws-%E4%B8%8Apanorama%E6%B7%BB%E5%8A%A0%E6%97%A5%E5%BF%97%E7%A1%AC%E7%9B%98">&#x4E8C;&#x3001;AWS &#x4E0A;Panorama&#x6DFB;&#x52A0;&#x65E5;&#x5FD7;&#x786C;&#x76D8;</h2>
<p>Panorama&#x6587;&#x6863;&#x63A8;&#x8350;&#x65E5;&#x5FD7;&#x90FD;&#x4F7F;&#x7528;2TB&#x7684;&#x786C;&#x76D8;&#xFF1A;</p>
<ul>
<li>AWS &#x4E0A;&#x7684; Panorama &#x865A;&#x62DF;&#x8BBE;&#x5907;&#x4EC5;&#x652F;&#x6301; 2TB &#x65E5;&#x5FD7;&#x78C1;&#x76D8;&#xFF0C;&#x603B;&#x5171;&#x652F;&#x6301;&#x9AD8;&#x8FBE; 24TB &#x7684;&#x65E5;&#x5FD7;&#x5B58;&#x50A8;&#x3002;&#x60A8;&#x65E0;&#x6CD5;&#x6DFB;&#x52A0;&#x5C0F;&#x4E8E; 2TB &#x7684;&#x65E5;&#x5FD7;&#x8BB0;&#x5F55;&#x78C1;&#x76D8;&#xFF0C;&#x6216;&#x5927;&#x5C0F;&#x4E0D;&#x80FD;&#x88AB; 2TB &#x65E5;&#x5FD7;&#x8BB0;&#x5F55;&#x78C1;&#x76D8;&#x8981;&#x6C42;&#x6574;&#x9664;&#x7684;&#x65E5;&#x5FD7;&#x8BB0;&#x5F55;&#x78C1;&#x76D8;&#x3002;Panorama &#x865A;&#x62DF;&#x8BBE;&#x5907;&#x5C06;&#x5927;&#x4E8E; 2TB &#x7684;&#x65E5;&#x5FD7;&#x8BB0;&#x5F55;&#x78C1;&#x76D8;&#x5206;&#x533A;&#x4E3A; 2TB &#x5206;&#x533A;&#x3002;</li>
</ul>
<p>&#x5728;AWS&#x4E0A;&#x65B0;&#x5EFA;&#x4E00;&#x4E2A;2048GB&#x7684;&#x5B58;&#x50A8;&#x5377;&#x3002;&#x6CE8;&#x610F;&#xFF0C;&#x5377;&#x9700;&#x8981;&#x4E0E;Panorama&#x5728;&#x540C;&#x4E00;&#x4E2A;&#x53EF;&#x7528;&#x533A;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202144451989.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x521B;&#x5EFA;&#x5B8C;&#x6210;&#x540E;&#x6302;&#x8F7D;&#x8FD9;&#x4E2A;&#x5377;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202144502075.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x6302;&#x8F7D;&#x5230;Panorama&#x5B9E;&#x4F8B;&#x4E0A;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202144653695.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x67E5;&#x770B;Panorama&#x5B9E;&#x4F8B;&#x7684;&#x5B58;&#x50A8;&#x4FE1;&#x606F;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202144701296.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x901A;&#x8FC7;SSH&#x767B;&#x5F55;Panorama&#xFF0C;&#x67E5;&#x770B;&#x78C1;&#x76D8;&#x72B6;&#x6001;&#xFF0C;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x591A;&#x4E86;&#x4E00;&#x5757;<code>xvdf</code>&#x78C1;&#x76D8;&#xFF0C;&#x4F46;&#x662F;&#x72B6;&#x6001;&#x4E3A;<code>Unavailable</code>&#x3002;</p>
<pre><code>admin@Panorama&gt; show system disk details

Name   : xvdb
State  : Present
Size   : 2097152 MB
Status : Available
Reason : Admin enabled

Name   : xvdf
State  : Present
Size   : 2097152 MB
Status : Unavailable
Reason : Admin disabled
</code></pre>
<p>&#x8BF7;&#x6C42;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x78C1;&#x76D8;&#x3002;</p>
<pre><code>admin@Panorama&gt; request system disk add xvdf
Executing this command will delete all data on the drive being added. Do you want to continue? (y or n)

This may take few minutes. Run &apos;show system disk details&apos; to see the status
</code></pre>
<p>&#x518D;&#x6B21;&#x67E5;&#x770B;&#x78C1;&#x76D8;&#x72B6;&#x6001;&#xFF0C;&#x78C1;&#x76D8;&#x5DF2;&#x7ECF;&#x53EF;&#x7528;&#x3002;</p>
<pre><code>admin@Panorama&gt; show system disk details

Name   : xvdb
State  : Present
Size   : 2097152 MB
Status : Available
Reason : Admin enabled

Name   : xvdf
State  : Present
Size   : 2097152 MB
Status : Available
Reason : Admin enabled
</code></pre>
<p>&#x5728;Panorama&#x6536;&#x96C6;&#x5668;&#x4E0A;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;&#xFF0C;&#x5E76;&#x5C06;&#x914D;&#x7F6E;&#x63D0;&#x4EA4;&#x63A8;&#x9001;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202144709251.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
<p>&#x67E5;&#x770B;Panorama&#x6536;&#x96C6;&#x5668;&#x72B6;&#x6001;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-logging-disk/image-20230202144852221.png" alt="Panorama&#x7CFB;&#x5217;--(4)Panorama&#x6536;&#x96C6;&#x65E5;&#x5FD7;&#x4E0E;&#x6DFB;&#x52A0;&#x78C1;&#x76D8;" loading="lazy"></p>
]]></content:encoded></item><item><title><![CDATA[Panorama系列--(3)Panorama模板、堆栈、设备组]]></title><description><![CDATA[<h2 id="%E4%B8%80%E3%80%81%E8%AE%BE%E5%A4%87%E7%BB%84">&#x4E00;&#x3001;&#x8BBE;&#x5907;&#x7EC4;</h2>
<h3 id="11-%E8%AE%BE%E5%A4%87%E7%BB%84%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84">1.1 &#x8BBE;&#x5907;&#x7EC4;&#x5C42;&#x6B21;&#x7ED3;&#x6784;</h3>
<p>Panorama&#x4F1A;&#x7BA1;&#x7406;&#x5F88;&#x591A;&#x9632;&#x706B;&#x5899;&#xFF0C;Panorama&#x4FEE;&#x6539;&#x9632;&#x706B;&#x5899;&#x914D;&#x7F6E;&#x65F6;&#xFF0C;&#x5F80;&#x5F80;&#x4F1A;&#x540C;&#x65F6;&#x4FEE;&#x6539;&#x5F88;&#x591A;&#x9632;&#x706B;&#x5899;&#x7684;&#x914D;&#x7F6E;&#x3002;</p>]]></description><link>https://liuqianglong.com/panorama-series-3-templates-stacks-device-groups/</link><guid isPermaLink="false">66b4d74396274ebdd2050a06</guid><category><![CDATA[Paloalto]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Network]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Mon, 13 Feb 2023 10:00:00 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/panorama-template-stack-group.png" medium="image"/><content:encoded><![CDATA[<h2 id="%E4%B8%80%E3%80%81%E8%AE%BE%E5%A4%87%E7%BB%84">&#x4E00;&#x3001;&#x8BBE;&#x5907;&#x7EC4;</h2>
<h3 id="11-%E8%AE%BE%E5%A4%87%E7%BB%84%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84">1.1 &#x8BBE;&#x5907;&#x7EC4;&#x5C42;&#x6B21;&#x7ED3;&#x6784;</h3>
<img src="https://liuqianglong.com/content/images/2024/08/panorama-template-stack-group.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;"><p>Panorama&#x4F1A;&#x7BA1;&#x7406;&#x5F88;&#x591A;&#x9632;&#x706B;&#x5899;&#xFF0C;Panorama&#x4FEE;&#x6539;&#x9632;&#x706B;&#x5899;&#x914D;&#x7F6E;&#x65F6;&#xFF0C;&#x5F80;&#x5F80;&#x4F1A;&#x540C;&#x65F6;&#x4FEE;&#x6539;&#x5F88;&#x591A;&#x9632;&#x706B;&#x5899;&#x7684;&#x914D;&#x7F6E;&#x3002;&#x901A;&#x8FC7;&#x5C06;&#x9632;&#x706B;&#x5899;&#x52A0;&#x5165;&#x76F8;&#x540C;&#x7684;&#x8BBE;&#x5907;&#x7EC4;&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x5171;&#x4EAB;&#x8BBE;&#x5907;&#x7EC4;&#x4E2D;&#x7684;Policy&#xFF08;&#x7B56;&#x7565;&#xFF09;&#x548C;Objects&#xFF08;&#x5BF9;&#x8C61;&#xFF09;&#x3002;&#x4E00;&#x822C;&#x4F9D;&#x636E;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x3001;&#x529F;&#x80FD;&#x7279;&#x6027;&#x7B49;&#x6765;&#x5212;&#x5206;&#x8BBE;&#x5907;&#x7EC4;&#x3002;</p>
<p>Panorama&#x4E0A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x8BBE;&#x5907;&#x7EC4;&#x4E4B;&#x540E;&#xFF0C;&#x4F1A;&#x51FA;&#x73B0;Policy&#x548C;Objects&#x7684;&#x9009;&#x9879;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230131175905875.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x8BBE;&#x5907;&#x7EC4;&#x7684;&#x4E3B;&#x8981;&#x76EE;&#x7684;&#x662F;&#x7ED1;&#x5B9A;Policy&#x548C;Objects</p>
<ul>
<li>&#x9632;&#x706B;&#x5899;&#x8BBE;&#x5907;&#x5FC5;&#x987B;&#x8981;&#x8981;&#x52A0;&#x5165;&#x4E00;&#x4E2A;&#x8BBE;&#x5907;&#x7EC4;&#x3002;</li>
<li>&#x8BBE;&#x5907;&#x7EC4;&#x6709;&#x5C42;&#x7EA7;&#x5173;&#x7CFB;&#xFF0C;&#x6700;&#x591A;&#x542B;&#x6709;4&#x4E2A;&#x5C42;&#x7EA7;&#x3002;&#x8F83;&#x4F4E;&#x5C42;&#x6B21;&#x7684;&#x8BBE;&#x5907;&#x7EC4;&#x4F1A;&#x7EE7;&#x627F;&#x8F83;&#x9AD8;&#x5C42;&#x6B21;&#x8BBE;&#x5907;&#x7EC4;&#x7684;Policy&#x548C;Objects&#x3002;</li>
<li>&#x9ED8;&#x8BA4;&#x7684;<code>Shared</code>&#x8BBE;&#x5907;&#x7EC4;&#xFF0C;&#x4F4D;&#x4E8E;&#x6700;&#x9876;&#x5C42;&#x3002;</li>
</ul>
<p>&#x8BBE;&#x5907;&#x7EC4;&#x7684;&#x5C42;&#x6B21;&#x7ED3;&#x6784;&#x793A;&#x4F8B;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230131181506734.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x4E0B;&#x9762;&#x662F;&#x6309;&#x7167;&#x5730;&#x7406;&#x4F4D;&#x7F6E;&#x5212;&#x5206;&#x8BBE;&#x5907;&#x7EC4;&#x7684;&#x4E00;&#x4E2A;&#x793A;&#x4F8B;&#xFF0C;&#x5E76;&#x5C06;&#x9632;&#x706B;&#x5899;&#x6DFB;&#x52A0;&#x5230;&#x4E86;<code>SecVpc-Firewall</code>&#x8FD9;&#x4E2A;&#x8BBE;&#x5907;&#x7EC4;&#x3002;</p>
<p>Panorama&#x6DFB;&#x52A0;&#x9632;&#x706B;&#x5899;&#x5230;&#x8BBE;&#x5907;&#x7EC4;&#x540E;&#xFF0C;&#x9700;&#x8981;&#x5C06;&#x914D;&#x7F6E;&#x63D0;&#x4EA4;&#x5E76;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#x624D;&#x4F1A;&#x751F;&#x6548;&#x3002;&#x5982;&#x679C;&#x672A;&#x63A8;&#x9001;&#x6210;&#x529F;&#xFF0C;&#x53EF;&#x4EE5;&#x9009;&#x62E9;&#x5F3A;&#x5236;&#x63A8;&#x9001;&#x5230;&#x8BBE;&#x5907;&#xFF08;Push to Devices--Edit Selections--OK&#xFF09;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201140158296.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<h3 id="12-%E8%AE%BE%E5%A4%87%E7%BB%84%E7%AD%96%E7%95%A5">1.2 &#x8BBE;&#x5907;&#x7EC4;&#x7B56;&#x7565;</h3>
<p>&#x9632;&#x706B;&#x5899;&#x6309;&#x7167;&#x5C42;&#x7EA7;&#x548C;&#x7C7B;&#x578B;&#xFF0C;&#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x7684;&#x8BC4;&#x4F30;&#x7B56;&#x7565;&#x89C4;&#x5219;&#xFF0C;&#x5F53;&#x9632;&#x706B;&#x5899;&#x6536;&#x5230;&#x6D41;&#x91CF;&#x65F6;&#xFF0C;&#x5C06;&#x6267;&#x884C;&#x7B2C;&#x4E00;&#x4E2A;&#x5339;&#x914D;&#x5230;&#x7B56;&#x7565;&#x7684;&#x89C4;&#x5219;&#xFF0C;&#x5E76;&#x5FFD;&#x7565;&#x540E;&#x9762;&#x7684;&#x89C4;&#x5219;&#x3002;</p>
<p>Panorama&#x4E0A;&#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;<code>Pre Rules</code>&#x3001;<code>Post Rules</code>&#x3001;<code>Default Rules</code>&#x4E09;&#x79CD;&#x89C4;&#x5219;&#x7C7B;&#x578B;&#x3002;</p>
<ul>
<li>Pre Rules&#xFF08;&#x524D;&#x5BFC;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x4F1A;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#x672C;&#x5730;&#x7B56;&#x7565;&#x7684;&#x524D;&#x9762;&#x3002;</li>
<li>Post Rules&#xFF08;&#x540E;&#x7EED;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x4F1A;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#x672C;&#x5730;&#x7B56;&#x7565;&#x7684;&#x540E;&#x9762;&#x3002;</li>
<li>Default Rules&#xFF08;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x53EF;&#x4EE5;&#x4FEE;&#x6539;&#x9632;&#x706B;&#x5899;&#x7684;&#x9ED8;&#x8BA4;&#x7B56;&#x7565;&#x3002;</li>
</ul>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230202110824075.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x5728;Paloalto&#x9632;&#x706B;&#x5899;&#x4E0A;&#x67E5;&#x770B;&#x7B56;&#x7565;&#x89C4;&#x5219;&#xFF0C;&#x5176;&#x4E2D;&#x4ECE;Panorama&#x96C6;&#x6210;&#x7684;&#x89C4;&#x5219;&#x548C;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#x90FD;&#x662F;&#x6A59;&#x8272;&#x3002;&#x672C;&#x5730;&#x9632;&#x706B;&#x5899;&#x7684;&#x7B56;&#x7565;&#x5728;&#x4E2D;&#x95F4;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230202110605819.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>Paloalto&#x9632;&#x706B;&#x5899;&#x4E0A;&#x7B56;&#x7565;&#x7684;&#x4F18;&#x5148;&#x7EA7;&#x5982;&#x4E0B;&#xFF1A;</p>
<ul>
<li>Shared Pre Rules&#xFF08;&#x5171;&#x4EAB;&#x524D;&#x5BFC;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5171;&#x4EAB;&#x524D;&#x5BFC;&#x89C4;&#x5219;&#x5C06;&#x7B56;&#x7565;&#x63A8;&#x9001;&#x5230;&#x6240;&#x6709;&#x9632;&#x706B;&#x5899;&#x4E0A;&#xFF0C;&#x53EF;&#x4EE5;&#x5F3A;&#x5236;&#x914D;&#x7F6E;&#x4E00;&#x4E9B;&#x7EDF;&#x4E00;&#x7B56;&#x7565;&#x3002;&#x672C;&#x5730;&#x7BA1;&#x7406;&#x5458;&#x65E0;&#x6CD5;&#x4FEE;&#x6539;&#x6B64;&#x7B56;&#x7565;&#xFF0C;&#x53EA;&#x80FD;&#x5728;Panorama&#x4E0A;&#x7BA1;&#x7406;&#x3002;</li>
<li>Device Group Pre Rules&#xFF08;&#x8BBE;&#x5907;&#x7EC4;&#x524D;&#x5BFC;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x901A;&#x8FC7;&#x8BBE;&#x5907;&#x7EC4;&#x524D;&#x5BFC;&#x89C4;&#x5219;&#xFF0C;&#x53EF;&#x4EE5;&#x63A8;&#x9001;&#x5230;&#x6307;&#x5B9A;&#x7684;&#x9632;&#x706B;&#x5899;&#x4E0A;&#xFF0C;&#x5E94;&#x7528;&#x4E00;&#x4E9B;&#x8BBE;&#x5907;&#x7EC4;&#x5185;&#x7684;&#x7279;&#x6027;&#x89C4;&#x5219;&#x3002;&#x672C;&#x5730;&#x7BA1;&#x7406;&#x5458;&#x65E0;&#x6CD5;&#x4FEE;&#x6539;&#x6B64;&#x7B56;&#x7565;&#xFF0C;&#x53EA;&#x80FD;&#x5728;Panorama&#x4E0A;&#x7BA1;&#x7406;&#x3002;</li>
<li>Local Firewall Rules&#xFF08;&#x672C;&#x5730;&#x9632;&#x706B;&#x5899;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x672C;&#x5730;&#x9632;&#x706B;&#x5899;&#x7BA1;&#x7406;&#x5458;&#xFF0C;&#x6216;&#x8005;Panorama&#x7BA1;&#x7406;&#x5458;&#x5207;&#x6362;&#x5230;&#x6307;&#x5B9A;&#x9632;&#x706B;&#x5899;&#x6A21;&#x5F0F;&#xFF0C;&#x90FD;&#x53EF;&#x4EE5;&#x7F16;&#x8F91;&#x672C;&#x5730;&#x9632;&#x706B;&#x5899;&#x89C4;&#x5219;&#x3002;</li>
<li>Device Group Post Rules&#xFF08;&#x8BBE;&#x5907;&#x7EC4;&#x540E;&#x7EED;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x901A;&#x8FC7;&#x8BBE;&#x5907;&#x7EC4;&#x524D;&#x5BFC;&#x89C4;&#x5219;&#xFF0C;&#x53EF;&#x4EE5;&#x63A8;&#x9001;&#x5230;&#x6307;&#x5B9A;&#x7684;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x3002;&#x672C;&#x5730;&#x7BA1;&#x7406;&#x5458;&#x65E0;&#x6CD5;&#x4FEE;&#x6539;&#x6B64;&#x7B56;&#x7565;&#xFF0C;&#x53EA;&#x80FD;&#x5728;Panorama&#x4E0A;&#x7BA1;&#x7406;&#x3002;</li>
<li>Shared Post Rules&#xFF08;&#x5171;&#x4EAB;&#x540E;&#x7EED;&#x89C4;&#x5219;&#xFF09;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5171;&#x4EAB;&#x524D;&#x5BFC;&#x89C4;&#x5219;&#x5C06;&#x7B56;&#x7565;&#x63A8;&#x9001;&#x5230;&#x6240;&#x6709;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x3002;&#x672C;&#x5730;&#x7BA1;&#x7406;&#x5458;&#x65E0;&#x6CD5;&#x4FEE;&#x6539;&#x6B64;&#x7B56;&#x7565;&#xFF0C;&#x53EA;&#x80FD;&#x5728;Panorama&#x4E0A;&#x7BA1;&#x7406;&#x3002;</li>
<li>intrazone-default&#xFF08;&#x533A;&#x57DF;&#x5185;&#x9ED8;&#x8BA4;&#xFF09;&#xFF0C;&#x533A;&#x57DF;&#x5185;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#x5141;&#x8BB8;&#x533A;&#x57DF;&#x5185;&#x7684;&#x6240;&#x6709;&#x6D41;&#x91CF;&#x3002;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#x4E00;&#x5F00;&#x59CB;&#x5904;&#x4E8E;&#x53EA;&#x8BFB;&#x72B6;&#x6001;&#xFF0C;&#x53EF;&#x4EE5;&#x5728;Panorama&#x4E0A;&#x4FEE;&#x6539;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x5728;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x8986;&#x76D6;&#x4ECE;Panorama&#x63A8;&#x9001;&#x7684;&#x89C4;&#x5219;&#x3002;</li>
<li>interzone-default&#xFF08;&#x533A;&#x57DF;&#x95F4;&#x9ED8;&#x8BA4;&#xFF09;&#xFF0C;&#x533A;&#x57DF;&#x95F4;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#x62D2;&#x7EDD;&#x533A;&#x57DF;&#x95F4;&#x7684;&#x6240;&#x6709;&#x6D41;&#x91CF;&#x3002;</li>
</ul>
<p>&#x5F53;Paloalto&#x9632;&#x706B;&#x5899;&#x7684;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#xFF0C;&#x4E0E;Panorama&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#x4E0D;&#x4E00;&#x81F4;&#x65F6;&#xFF0C;&#x4F1A;&#x663E;&#x793A;&#x7EFF;&#x8272;&#x548C;&#x6A59;&#x8272;&#x7684;&#x9F7F;&#x8F6E;&#x3002;&#x6B64;&#x65F6;Panorama&#x7684;&#x914D;&#x7F6E;&#x65E0;&#x6CD5;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x3002;&#x53EF;&#x4EE5;&#x70B9;&#x51FB;<code>Revert&#xFF08;&#x6062;&#x590D;&#xFF09;</code>&#x5C06;&#x9632;&#x706B;&#x5899;&#x914D;&#x7F6E;&#x4E0E;Panorama&#x540C;&#x6B65;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230202125611460.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x540C;&#x6B65;&#x4E4B;&#x540E;&#xFF0C;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x914D;&#x7F6E;&#x4E3A;&#x7EFF;&#x8272;&#x9F7F;&#x8F6E;&#x3002;&#x5982;&#x679C;&#x9632;&#x706B;&#x5899;&#x60F3;&#x8981;&#x4FEE;&#x6539;&#x8FD9;&#x4E2A;&#x9ED8;&#x8BA4;&#x89C4;&#x5219;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x70B9;&#x51FB;<code>Override(&#x66FF;&#x4EE3;)</code>&#x6765;&#x4FEE;&#x6539;&#x9ED8;&#x8BA4;&#x7B56;&#x7565;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230202125858711.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<h2 id="%E4%BA%8C%E3%80%81%E6%A8%A1%E6%9D%BF%E5%92%8C%E5%A0%86%E6%A0%88">&#x4E8C;&#x3001;&#x6A21;&#x677F;&#x548C;&#x5806;&#x6808;</h2>
<h3 id="21-%E6%A8%A1%E6%9D%BF%E4%B8%8E%E5%A0%86%E6%A0%88%E7%AE%80%E4%BB%8B">2.1 &#x6A21;&#x677F;&#x4E0E;&#x5806;&#x6808;&#x7B80;&#x4ECB;</h3>
<p>&#x901A;&#x8FC7;&#x6A21;&#x677F;&#x53EF;&#x4EE5;&#x975E;&#x5E38;&#x65B9;&#x4FBF;&#x7684;&#x8BA9;&#x591A;&#x4E2A;&#x9632;&#x706B;&#x5899;&#x4FDD;&#x6301;&#x76F8;&#x540C;&#x7684;**&#x7F51;&#x7EDC;&#xFF08;Network&#xFF09;<strong>&#x548C;</strong>&#x8BBE;&#x5907;&#xFF08;Device&#xFF09;**&#x914D;&#x7F6E;&#x3002;&#x4F8B;&#x5982;&#x901A;&#x8FC7;&#x6A21;&#x677F;&#x5B9A;&#x4E49;&#x63A5;&#x53E3;&#x548C;&#x533A;&#x57DF;&#x3001;&#x914D;&#x7F6E;NTP&#x670D;&#x52A1;&#x5668;&#x3001;DNS&#x670D;&#x52A1;&#x5668;&#x3001;syslog&#x65E5;&#x5FD7;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x6216;&#x8005;VPN&#x914D;&#x7F6E;&#x3002;</p>
<ul>
<li>&#x5806;&#x6808;&#xFF08;Stack&#xFF09;&#x662F;&#x4E00;&#x4E2A;&#x5BB9;&#x5668;&#xFF0C;&#x53EF;&#x4EE5;&#x5173;&#x8054;&#x591A;&#x4E2A;&#x6A21;&#x677F;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;Panorama&#x4F1A;&#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x7684;&#x8BC4;&#x4F30;&#x5806;&#x6808;&#x4E2D;&#x7684;&#x6A21;&#x677F;&#xFF0C;&#x6A21;&#x677F;&#x6392;&#x4F4D;&#x8D8A;&#x9AD8;&#xFF0C;&#x4F18;&#x5148;&#x7EA7;&#x4E5F;&#x8D8A;&#x9AD8;&#x3002;</li>
<li>&#x6A21;&#x677F;&#x548C;&#x6A21;&#x677F;&#x5806;&#x6808;&#x652F;&#x6301;&#x53D8;&#x91CF;&#x3002;&#x53EF;&#x4EE5;&#x4E3A;&#x53D8;&#x91CF;&#x503C;&#x521B;&#x5EFA;&#x5360;&#x4F4D;&#x7B26;&#xFF0C;&#x7528;&#x4E8E;&#x66FF;&#x6362;IP&#x5730;&#x5740;&#x3001;&#x63A5;&#x53E3;&#x7B49;&#x4FE1;&#x606F;&#x3002;</li>
<li>&#x9632;&#x706B;&#x5899;&#x53EF;&#x4EE5;&#x8986;&#x76D6;&#x6765;&#x81EA;&#x6A21;&#x677F;&#x7684;&#x914D;&#x7F6E;&#xFF0C;&#x5F53;&#x9632;&#x706B;&#x5899;&#x8986;&#x76D6;&#x914D;&#x7F6E;&#x540E;&#xFF0C;&#x4F1A;&#x5C06;&#x8FD9;&#x4E2A;&#x914D;&#x7F6E;&#x4FDD;&#x5B58;&#x4E3A;&#x672C;&#x5730;&#x914D;&#x7F6E;&#xFF0C;Panorama&#x4E4B;&#x540E;&#x4E0D;&#x4F1A;&#x7BA1;&#x7406;&#x8FD9;&#x4E2A;&#x914D;&#x7F6E;&#x3002;&#x60F3;&#x8981;&#x6062;&#x590D;&#x6A21;&#x677F;&#x914D;&#x7F6E;&#xFF0C;&#x53EF;&#x4EE5;&#x5728;Panorama&#x4E0A;&#x5C06;&#x6A21;&#x677F;&#x914D;&#x7F6E;&#x5F3A;&#x5236;&#x63A8;&#x9001;&#x5230;&#x9632;&#x706B;&#x5899;&#x3002;</li>
</ul>
<p>&#x5F53;&#x65B0;&#x5EFA;&#x4E00;&#x4E2A;&#x6A21;&#x677F;&#x540E;&#xFF0C;Panorama&#x9875;&#x9762;&#x4E0A;&#x65B9;&#x4F1A;&#x591A;&#x51FA;&#x4E24;&#x4E2A;&#x6A21;&#x5757;&#xFF0C;&#x5206;&#x522B;&#x662F;NETWORK&#x548C;DEVICE&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201094734401.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x8FD9;&#x91CC;&#x65B0;&#x5EFA;&#x4E86;&#x4E24;&#x4E2A;&#x5806;&#x6808;&#xFF0C;&#x5806;&#x6808;&#x5206;&#x522B;&#x5173;&#x8054;AWS&#x4E0A;&#x4E0D;&#x540C;VPC&#x7684;&#x9632;&#x706B;&#x5899;&#x3002;&#x6BCF;&#x4E2A;&#x5806;&#x6808;&#x4F1A;&#x5173;&#x8054;&#x5404;&#x81EA;&#x72EC;&#x7279;&#x7684;&#x6A21;&#x677F;&#xFF0C;&#x5305;&#x542B;&#x4E2A;&#x6027;&#x5316;&#x7684;&#x914D;&#x7F6E;&#x3002;&#x5806;&#x6808;&#x540C;&#x65F6;&#x4E5F;&#x4F1A;&#x5173;&#x8054;&#x5168;&#x5C40;&#x6A21;&#x677F;&#xFF0C;&#x5305;&#x542B;&#x4E00;&#x4E9B;&#x5171;&#x6027;&#x7684;&#x914D;&#x7F6E;&#x3002;&#x5C06;&#x4E2A;&#x6027;&#x5316;&#x7684;&#x6A21;&#x677F;&#x653E;&#x5728;&#x4E0A;&#x65B9;&#xFF0C;&#x4F1A;&#x6709;&#x66F4;&#x9AD8;&#x7684;&#x4F18;&#x5148;&#x7EA7;&#xFF0C;&#x4F1A;&#x4F18;&#x5148;&#x5E94;&#x7528;&#x76F8;&#x5173;&#x7684;&#x7B56;&#x7565;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201140041445.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>Panorama&#x4F9D;&#x636E;&#x4E0A;&#x9762;&#x7684;&#x8BBE;&#x8BA1;&#xFF0C;&#x65B0;&#x5EFA;&#x4E86;&#x4E09;&#x4E2A;&#x6A21;&#x677F;&#x548C;&#x4E24;&#x4E2A;&#x5806;&#x6808;&#xFF0C;&#x5176;&#x4E2D;&#x6A21;&#x677F;&#x5173;&#x8054;&#x5230;&#x5BF9;&#x5E94;&#x7684;&#x5806;&#x6808;&#x4E2D;&#xFF0C;&#x9632;&#x706B;&#x5899;&#x8BBE;&#x5907;&#x4E5F;&#x5173;&#x8054;&#x4E0A;&#x5806;&#x6808;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201140000875.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<h3 id="22-panorama%E5%BC%BA%E5%88%B6%E6%8E%A8%E9%80%81%E6%A8%A1%E6%9D%BF%E9%85%8D%E7%BD%AE">2.2 Panorama&#x5F3A;&#x5236;&#x63A8;&#x9001;&#x6A21;&#x677F;&#x914D;&#x7F6E;</h3>
<p>&#x5F53;Panorama&#x901A;&#x8FC7;&#x6A21;&#x677F;&#x63A8;&#x9001;&#x914D;&#x7F6E;&#xFF0C;&#x5728;Paloalto&#x9632;&#x706B;&#x5899;&#x4E0A;&#x5DF2;&#x7ECF;&#x5B58;&#x5728;&#x914D;&#x7F6E;&#x65F6;&#xFF0C;Paloalto&#x9632;&#x706B;&#x5899;&#x4E0D;&#x4F1A;&#x5E94;&#x7528;&#x6765;&#x81EA;&#x6A21;&#x677F;&#x7684;&#x914D;&#x7F6E;&#xFF0C;&#x9664;&#x975E;&#x5728;Panorama&#x4E0A;&#x9009;&#x62E9;&#x5F3A;&#x5236;&#x63A8;&#x9001;&#x3002;</p>
<p>&#x5728;Paloalto&#x9632;&#x706B;&#x5899;&#x4E0A;&#xFF0C;&#x7EFF;&#x8272;+&#x7EA2;&#x8272;&#x9F7F;&#x8F6E;&#x8868;&#x793A;&#x9632;&#x706B;&#x5899;&#x914D;&#x7F6E;&#x4E0E;&#x6A21;&#x677F;&#x914D;&#x7F6E;&#x4E0D;&#x4E00;&#x81F4;&#xFF0C;&#x9F20;&#x6807;&#x653E;&#x5728;&#x9F7F;&#x8F6E;&#x4E0A;&#x4F1A;&#x663E;&#x793A;&#x914D;&#x7F6E;&#x7EE7;&#x627F;&#x7684;&#x6A21;&#x677F;&#x540D;&#x79F0;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201170224831.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x5728;Panorama&#x4E0A;&#x9009;&#x62E9;&#x5F3A;&#x5236;&#x63A8;&#x9001;&#x6A21;&#x677F;&#x914D;&#x7F6E;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201170517564.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x5F3A;&#x5236;&#x63A8;&#x9001;&#x5B8C;&#x6210;&#x540E;&#xFF0C;Paloalto&#x4E0A;&#x914D;&#x7F6E;&#x4F1A;&#x662F;&#x7EFF;&#x8272;&#x7684;&#x9F7F;&#x8F6E;&#xFF0C;&#x8868;&#x793A;&#x5F53;&#x524D;&#x914D;&#x7F6E;&#x4E0E;&#x6A21;&#x677F;&#x914D;&#x7F6E;&#x4E00;&#x81F4;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201170602341.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<h3 id="23-panorama%E6%A8%A1%E6%9D%BF%E8%AE%BE%E7%BD%AE%E5%8F%98%E9%87%8F">2.3 Panorama&#x6A21;&#x677F;&#x8BBE;&#x7F6E;&#x53D8;&#x91CF;</h3>
<p>&#x5F53;&#x957F;&#x65F6;&#x95F4;&#x4F7F;&#x7528;Panorama&#x540E;&#xFF0C;&#x53EF;&#x80FD;&#x4F1A;&#x4E3A;&#x6BCF;&#x4E00;&#x4E2A;&#x9632;&#x706B;&#x5899;&#x90FD;&#x5173;&#x8054;&#x4E00;&#x4E2A;&#x5355;&#x72EC;&#x7684;&#x6A21;&#x677F;&#xFF0C;&#x8FD9;&#x663E;&#x7136;&#x8FDD;&#x80CC;&#x4E86;&#x4F7F;&#x7528;&#x6A21;&#x677F;&#x7684;&#x76EE;&#x7684;&#xFF0C;&#x5E76;&#x6CA1;&#x6709;&#x7B80;&#x5316;&#x7BA1;&#x7406;&#x914D;&#x7F6E;&#x5DE5;&#x4F5C;&#x3002;</p>
<p>&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x53D8;&#x91CF;&#xFF0C;&#x8BA9;&#x529F;&#x80FD;&#x76F8;&#x4F3C;&#x7684;&#x9632;&#x706B;&#x5899;&#x4F7F;&#x7528;&#x76F8;&#x540C;&#x7684;&#x6A21;&#x677F;&#xFF0C;&#x51CF;&#x5C11;&#x6A21;&#x677F;&#x7684;&#x6570;&#x91CF;&#x3002;</p>
<p>&#x53D8;&#x91CF;&#x4E00;&#x822C;&#x7528;&#x5728;&#x4E0E;&#x7F51;&#x7EDC;&#x76F8;&#x5173;&#x7684;&#x914D;&#x7F6E;&#x4E0A;&#xFF0C;&#x4F8B;&#x5982;IP&#x5730;&#x5740;&#x3001;&#x8DEF;&#x7531;&#x3001;VPN&#x914D;&#x7F6E;&#x7B49;&#x3002;&#x6CE8;&#x610F;&#x53D8;&#x91CF;&#x5B58;&#x5728;&#x5C40;&#x9650;&#x6027;&#xFF0C;&#x5E76;&#x4E0D;&#x662F;&#x6A21;&#x677F;&#x91CC;&#x9762;&#x7684;&#x6240;&#x6709;&#x5185;&#x5BB9;&#x90FD;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x53D8;&#x91CF;&#x3002;</p>
<p>&#x8FD9;&#x662F;&#x53D8;&#x91CF;&#x652F;&#x6301;&#x7684;&#x7C7B;&#x578B;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201171110957.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x5728;Panorama&#x4E0A;&#x4E3A;Primary DNS Server&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x53D8;&#x91CF;&#xFF0C;IP&#x5730;&#x5740;&#x8BBE;&#x7F6E;&#x4E3A;None&#xFF0C;&#x6682;&#x65F6;&#x4E0D;&#x586B;&#x5199;&#xFF0C;&#x63D0;&#x4EA4;&#x914D;&#x7F6E;&#x5230;Panorama&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201173930428.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>Panorama&#x9700;&#x8981;&#x63D0;&#x4EA4;&#x521A;&#x624D;&#x521B;&#x5EFA;&#x7684;&#x53D8;&#x91CF;&#xFF0C;&#x5426;&#x5219;&#x8FD9;&#x91CC;&#x5BFC;&#x51FA;&#x4F1A;&#x62A5;&#x9519;&#x3002;&#x5BFC;&#x51FA;&#x8FD9;&#x4E2A;&#x53D8;&#x91CF;&#x6587;&#x4EF6;&#xFF0C;&#x6587;&#x4EF6;&#x4E3A;CSV&#x683C;&#x5F0F;&#xFF0C;&#x4E3A;&#x4E24;&#x53F0;&#x9632;&#x706B;&#x5899;&#x8BBE;&#x7F6E;&#x53D8;&#x91CF;&#x5BF9;&#x5E94;&#x7684;&#x503C;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201174010845.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x5BFC;&#x5165;&#x4FEE;&#x6539;&#x540E;&#x7684;CSV&#x6587;&#x4EF6;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201174031870.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x67E5;&#x770B;&#x53D8;&#x91CF;&#x503C;&#x5185;&#x5BB9;&#xFF0C;&#x786E;&#x8BA4;&#x8BBE;&#x7F6E;&#x6B63;&#x5E38;&#x3002;&#x63A8;&#x9001;&#x914D;&#x7F6E;&#x5230;&#x9632;&#x706B;&#x5899;&#x8BBE;&#x5907;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201174825490.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<p>&#x63A8;&#x9001;&#x6210;&#x529F;&#x540E;&#xFF0C;&#x5728;&#x4E24;&#x53F0;&#x9632;&#x706B;&#x5899;&#x4E0A;&#x770B;&#x5230;&#x7684;Primary DNS Server&#x4E0E;&#x4E4B;&#x524D;CSV&#x4E2D;&#x8BBE;&#x7F6E;&#x7684;&#x53D8;&#x91CF;&#x4E00;&#x81F4;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-template-stack-group/image-20230201174113858.png" alt="Panorama&#x7CFB;&#x5217;--(3)Panorama&#x6A21;&#x677F;&#x3001;&#x5806;&#x6808;&#x3001;&#x8BBE;&#x5907;&#x7EC4;" loading="lazy"></p>
<h2 id="%E4%B8%89%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x4E09;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>
<p>Defining Policies on Panorama&#xFF1A;<a href="https://docs.paloaltonetworks.com/pan-os/10-2/pan-os-web-interface-help/panorama-web-interface/defining-policies-on-panorama?ref=liuqianglong.com">https://docs.paloaltonetworks.com/pan-os/10-2/pan-os-web-interface-help/panorama-web-interface/defining-policies-on-panorama</a></p>
</li>
<li>
<p>Overriding or Reverting a Security Policy Rule&#xFF1A;<a href="https://docs.paloaltonetworks.com/pan-os/10-2/pan-os-web-interface-help/policies/policies-security/overriding-or-reverting-a-security-policy-rule?ref=liuqianglong.com">https://docs.paloaltonetworks.com/pan-os/10-2/pan-os-web-interface-help/policies/policies-security/overriding-or-reverting-a-security-policy-rule</a></p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Panorama系列--(2)AWS上搭建Panorama测试环境]]></title><description><![CDATA[<h2 id="%E4%B8%80%E3%80%81%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9">&#x4E00;&#x3001;&#x6CE8;&#x610F;&#x4E8B;&#x9879;</h2>
<ul>
<li>AWS&#x4E0A;Paloalto&#x9632;&#x706B;&#x5899;&#x9ED8;&#x8BA4;&#x7248;&#x672C;&#x662F;<code>10.2.2h2</code>&#xFF0C;Panorama&#x9ED8;&#x8BA4;&#x7248;&#x672C;&#x662F;<code>10.2.0</code>&#xFF0C;&#x9700;&#x8981;&#x5C06;Panorama&#x5347;&#x7EA7;&#x5230;&#x4E0E;Paloalto&#x76F8;&#x540C;&#x7248;&#x672C;&#xFF0C;&#x6216;&#x8005;&#x66F4;&#x9AD8;&#x7684;</li></ul>]]></description><link>https://liuqianglong.com/panorama-series-2-aws-test-environment/</link><guid isPermaLink="false">66b4cb9b96274ebdd20509e7</guid><category><![CDATA[Paloalto]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Network]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Fri, 10 Feb 2023 10:00:00 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/panorama-aws-setup.png" medium="image"/><content:encoded><![CDATA[<h2 id="%E4%B8%80%E3%80%81%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9">&#x4E00;&#x3001;&#x6CE8;&#x610F;&#x4E8B;&#x9879;</h2>
<ul>
<li>AWS&#x4E0A;Paloalto&#x9632;&#x706B;&#x5899;&#x9ED8;&#x8BA4;&#x7248;&#x672C;&#x662F;<code>10.2.2h2</code>&#xFF0C;Panorama&#x9ED8;&#x8BA4;&#x7248;&#x672C;&#x662F;<code>10.2.0</code>&#xFF0C;&#x9700;&#x8981;&#x5C06;Panorama&#x5347;&#x7EA7;&#x5230;&#x4E0E;Paloalto&#x76F8;&#x540C;&#x7248;&#x672C;&#xFF0C;&#x6216;&#x8005;&#x66F4;&#x9AD8;&#x7684;&#x7248;&#x672C;&#xFF0C;&#x5426;&#x5219;Panorama&#x65E0;&#x6CD5;&#x67E5;&#x770B;&#x65E5;&#x5FD7;&#x3002;</li>
<li>Paloalto&#x9632;&#x706B;&#x5899;<code>VM-50</code>&#x578B;&#x53F7;&#x53EA;&#x652F;&#x6301;ESXi&#x3001;Hyper-V&#x548C;KVM&#x5E73;&#x53F0;&#xFF0C;&#x4E0D;&#x652F;&#x6301;AWS&#x548C;&#x5176;&#x4ED6;&#x4E91;&#x5E73;&#x53F0;&#x3002;</li>
</ul>
<h2 id="%E4%BA%8C%E3%80%81%E5%88%A9%E7%94%A8cloudformation%E9%83%A8%E7%BD%B2%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83">&#x4E8C;&#x3001;&#x5229;&#x7528;CloudFormation&#x90E8;&#x7F72;&#x5B9E;&#x9A8C;&#x73AF;&#x5883;</h2>
<img src="https://liuqianglong.com/content/images/2024/08/panorama-aws-setup.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;"><p>Panorama&#x4E3B;&#x8981;&#x7528;&#x6765;&#x7BA1;&#x7406;&#x591A;&#x53F0;&#x9632;&#x706B;&#x5899;&#xFF0C;&#x5728;AWS&#x4E91;&#x4E0A;&#xFF0C;&#x5BF9;&#x6D41;&#x91CF;&#x505A;&#x96C6;&#x4E2D;&#x5B89;&#x5168;&#x68C0;&#x6D4B;&#x4E00;&#x822C;&#x4F1A;&#x6709;&#x591A;&#x53F0;&#x9632;&#x706B;&#x5899;&#xFF0C;&#x6240;&#x4EE5;&#x8FD9;&#x91CC;&#x5229;&#x7528;CloudFormation&#x642D;&#x5EFA;&#x4E86;&#x6D41;&#x91CF;&#x96C6;&#x4E2D;&#x68C0;&#x6D4B;&#x7684;LAB&#x73AF;&#x5883;&#xFF0C;&#x7136;&#x540E;&#x5229;&#x7528;Panorama&#x7BA1;&#x7406;&#x8FD9;&#x4E24;&#x53F0;&#x9632;&#x706B;&#x5899;&#x3002;</p>
<p>&#x53EA;&#x542F;&#x52A8;&#x4E24;&#x53F0;&#x9632;&#x706B;&#x5899;&#x548C;&#x4E00;&#x53F0;Panorama&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x505A;&#x5927;&#x90E8;&#x5206;&#x7684;&#x6D4B;&#x8BD5;&#xFF0C;&#x642D;&#x5EFA;&#x6D41;&#x91CF;&#x96C6;&#x4E2D;&#x68C0;&#x6D4B;&#x73AF;&#x5883;&#x662F;&#x4E3A;&#x4E86;&#x66F4;&#x52A0;&#x6A21;&#x62DF;&#x771F;&#x5B9E;&#x73AF;&#x5883;&#x3002;</p>
<p>&#x5229;&#x7528;CloudFormation&#x521B;&#x5EFA;&#x5B9E;&#x9A8C;&#x73AF;&#x5883;&#xFF0C;CloudFormation&#x4EE3;&#x7801;&#x4E2D;&#x4E0D;&#x4F1A;&#x521B;&#x5EFA;Panorama&#xFF0C;&#x9700;&#x8981;&#x81EA;&#x884C;&#x624B;&#x52A8;&#x521B;&#x5EFA;&#xFF0C;&#x4E5F;&#x4E0D;&#x4F1A;&#x5BF9;Paloalto&#x9632;&#x706B;&#x5899;&#x505A;&#x521D;&#x59CB;&#x5316;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/GWLB-panorama.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x4E0A;&#x4F20;&#x5806;&#x6808;&#x6A21;&#x677F;&#x6587;&#x4EF6;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131105703700.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x8BBE;&#x7F6E;&#x5806;&#x6808;&#x540D;&#x79F0;&#xFF0C;&#x9009;&#x62E9;EC2&#x5BC6;&#x94A5;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131105713286.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x5141;&#x8BB8;&#x521B;&#x5EFA;IAM&#x8D44;&#x6E90;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131105723457.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>CloudFormation&#x6A21;&#x677F;&#x5185;&#x5BB9;&#x3002;&#x5806;&#x6808;&#x9700;&#x8981;&#x4E03;&#x5206;&#x949F;&#x5DE6;&#x53F3;&#x521B;&#x5EFA;&#x5B8C;&#x6210;&#xFF0C;&#x5806;&#x6808;&#x521B;&#x5EFA;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x53E6;&#x5916;&#x9632;&#x706B;&#x5899;&#x9700;&#x8981;&#x56DB;&#x5206;&#x949F;&#x5DE6;&#x53F3;&#x542F;&#x52A8;&#x3002;</p>
<pre><code class="language-yaml">Mappings:
  RegionMap:
    cn-northwest-1:
      PA1022h2NWCD: ami-0738eadeed7e6b0fa

Parameters:
  EC2InstanceAmiId:
    Type: AWS::SSM::Parameter::Value&lt;AWS::EC2::Image::Id&gt;
    Default: &apos;/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2&apos;
  Environment:
    Type: String
    AllowedValues:
      - dev
      - prod
    Default: dev
  MyKeyPair:
    Description: Amazon EC2 Key Pair
    Type: AWS::EC2::KeyPair::KeyName
    Default: CloudFormation-Test-Key
  PaloaltoVersion:
    Description: Choice Paloalto Firewall Version Type
    Type: String
    Default: PA1022h2NWCD
    AllowedValues:
      - PA1022h2NWCD
  PaloaltoInstanceType:
    Description: Choice Paloalto Instance Type
    Type: String
    Default: m5.large
    AllowedValues:
      - m5.large
      - m5.4xlarge
Resources:
  BastionSsmRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - ec2.amazonaws.com
            Action:
              - &apos;sts:AssumeRole&apos;
      Path: /

  BastionSsmPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: PrivatelianceInstanceAccess
      PolicyDocument:
        Statement:
          - Effect: Allow
            Action:
              - ssm:DescribeAssociation
              - ssm:GetDeployablePatchSnapshotForInstance
              - ssm:GetDocument
              - ssm:DescribeDocument
              - ssm:GetManifest
              - ssm:GetParameter
              - ssm:GetParameters
              - ssm:ListAssociations
              - ssm:ListInstanceAssociations
              - ssm:PutInventory
              - ssm:PutComplianceItems
              - ssm:PutConfigurePackageResult
              - ssm:UpdateAssociationStatus
              - ssm:UpdateInstanceAssociationStatus
              - ssm:UpdateInstanceInformation
            Resource: &quot;*&quot;
          - Effect: Allow
            Action:
              - ssmmessages:CreateControlChannel
              - ssmmessages:CreateDataChannel
              - ssmmessages:OpenControlChannel
              - ssmmessages:OpenDataChannel
            Resource: &quot;*&quot;
          - Effect: Allow
            Action:
              - ec2messages:AcknowledgeMessage
              - ec2messages:DeleteMessage
              - ec2messages:FailMessage
              - ec2messages:GetEndpoint
              - ec2messages:GetMessages
              - ec2messages:SendReply
            Resource: &quot;*&quot;
      Roles:
        - !Ref BastionSsmRole

  BastionSsmProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Path: /
      Roles:
        - !Ref BastionSsmRole

#=============SecVpc============#
# &#x521B;&#x5EFA;SecVpc
  SecVpc:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.100.10.0/16
      EnableDnsSupport: &apos;true&apos;
      EnableDnsHostnames: &apos;true&apos;
      Tags:
       - Key: Name
         Value: !Sub ${AWS::StackName}-SecVpc

# &#x521B;&#x5EFA;IGW&#x5E76;&#x4E14;&#x5173;&#x8054;&#x5230;VPC
  SecVpcIGW:
    Type: &quot;AWS::EC2::InternetGateway&quot;
    Properties:
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpcIGW

  SecVpcAttachIgw:
    Type: &quot;AWS::EC2::VPCGatewayAttachment&quot;
    Properties:
      VpcId: !Ref SecVpc
      InternetGatewayId: !Ref SecVpcIGW

#-----------------SecVpc&#x521B;&#x5EFA;6&#x4E2A;&#x5B50;&#x7F51;------------------#

# SecVpc AZ1&#x5185;&#x521B;&#x5EFA;&#x516C;&#x6709;&#x5B50;&#x7F51;
  SecVpcAz1PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref SecVpc
      CidrBlock: 10.100.10.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-SecVpc-AZ1-Public-Subnet

# SecVpc AZ2&#x5185;&#x521B;&#x5EFA;&#x516C;&#x6709;&#x5B50;&#x7F51;
  SecVpcAz2PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref SecVpc
      CidrBlock: 10.100.20.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-SecVpc-AZ2-Public-Subnet

# SecVpc AZ1&#x5185;&#x521B;&#x5EFA;&#x79C1;&#x6709;&#x5B50;&#x7F51;
  SecVpcAz1PrivateSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref SecVpc
      CidrBlock: 10.100.30.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-SecVpc-AZ1-Private-Subnet

# SecVpc AZ2&#x5185;&#x521B;&#x5EFA;&#x79C1;&#x6709;&#x5B50;&#x7F51;
  SecVpcAz2PrivateSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref SecVpc
      CidrBlock: 10.100.40.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-SecVpc-AZ2-Private-Subnet

# SecVpc AZ1&#x5185;&#x521B;&#x5EFA;TGW&#x5B50;&#x7F51;
  SecVpcAz1TgwSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref SecVpc
      CidrBlock: 10.100.50.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-SecVpc-AZ1-TGW-Subnet

# SecVpc AZ2&#x5185;&#x521B;&#x5EFA;TGW&#x5B50;&#x7F51;
  SecVpcAz2TgwSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref SecVpc
      CidrBlock: 10.100.60.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-SecVpc-AZ2-TGW-Subnet

#-----------------SecVpc&#x521B;&#x5EFA;&#x8DEF;&#x7531;&#x8868;------------------#

# &#x516C;&#x6709;&#x5B50;&#x7F51;&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  SecVpcAz1PublicRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref SecVpc
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ1-Public-RouteTable

  SecVpcAz1PublicRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref SecVpcAz1PublicRouteTable
      SubnetId: !Ref SecVpcAz1PublicSubnet

  SecVpcAz2PublicRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref SecVpc
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ2-Public-RouteTable

  SecVpcAz2PublicRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref SecVpcAz2PublicRouteTable
      SubnetId: !Ref SecVpcAz2PublicSubnet

# Private&#x5B50;&#x7F51;&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  SecVpcAz1PrivateRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref SecVpc
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ1-Private-RouteTable

  SecVpcAz1PrivateRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref SecVpcAz1PrivateRouteTable
      SubnetId: !Ref SecVpcAz1PrivateSubnet

  SecVpcAz2PrivateRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref SecVpc
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ2-Private-RouteTable

  SecVpcAz2PrivateRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref SecVpcAz2PrivateRouteTable
      SubnetId: !Ref SecVpcAz2PrivateSubnet


# Tgw&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  SecVpcAz1TgwRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref SecVpc
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ1-Tgw-RouteTable

  SecVpcAz1TgwRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref SecVpcAz1TgwRouteTable
      SubnetId: !Ref SecVpcAz1TgwSubnet

  SecVpcAz2TgwRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref SecVpc
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ2-Tgw-RouteTable

  SecVpcAz2TgwRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref SecVpcAz2TgwRouteTable
      SubnetId: !Ref SecVpcAz2TgwSubnet

#-----------------NAT Gateway-----------------#

# AZ1 NAT GW
  SecVpcAz1NatGatewayEIP:
     Type: AWS::EC2::EIP
     Properties:
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ1-NatGateway-EIP

  SecVpcAz1NatGateway:
     Type: AWS::EC2::NatGateway
     Properties:
        AllocationId: !GetAtt SecVpcAz1NatGatewayEIP.AllocationId
        SubnetId: !Ref SecVpcAz1PublicSubnet
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ1-NatGateway

# AZ2 NAT GW
  SecVpcAz2NatGatewayEIP:
     Type: AWS::EC2::EIP
     Properties:
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ2-NatGateway-EIP

  SecVpcAz2NatGateway:
     Type: AWS::EC2::NatGateway
     Properties:
        AllocationId: !GetAtt SecVpcAz2NatGatewayEIP.AllocationId
        SubnetId: !Ref SecVpcAz2PublicSubnet
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-AZ2-NatGateway

  SecVpcAz1PrivateSubnetToInternetRoute:
     DependsOn: SecVpcAz1NatGateway
     Type: AWS::EC2::Route
     Properties:
        RouteTableId: !Ref SecVpcAz1PrivateRouteTable
        DestinationCidrBlock: &apos;0.0.0.0/0&apos;
        NatGatewayId: !Ref SecVpcAz1NatGateway

  SecVpcAz2PrivateSubnetToInternetRoute:
     DependsOn: SecVpcAz2NatGateway
     Type: AWS::EC2::Route
     Properties:
        RouteTableId: !Ref SecVpcAz2PrivateRouteTable
        DestinationCidrBlock: &apos;0.0.0.0/0&apos;
        NatGatewayId: !Ref SecVpcAz2NatGateway

#-----------------&#x6DFB;&#x52A0;&#x8DEF;&#x7531;-----------------#

# &#x516C;&#x6709;&#x5B50;&#x7F51;&#x6DFB;&#x52A0;&#x9ED8;&#x8BA4;&#x8DEF;&#x7531;&#x53BB;&#x5F80;IGW
  SecVpcAz1PublicSubnetToInternetRoute:
    Type: &quot;AWS::EC2::Route&quot;
    DependsOn: SecVpcIGW
    Properties:
     RouteTableId: !Ref SecVpcAz1PublicRouteTable
     DestinationCidrBlock: 0.0.0.0/0
     GatewayId: !Ref SecVpcIGW

  SecVpcAz2PublicSubnetToInternetRoute:
    Type: &quot;AWS::EC2::Route&quot;
    DependsOn: SecVpcIGW
    Properties:
     RouteTableId: !Ref SecVpcAz2PublicRouteTable
     DestinationCidrBlock: 0.0.0.0/0
     GatewayId: !Ref SecVpcIGW

#-----------------SecVpc&#x521B;&#x5EFA;&#x5B89;&#x5168;&#x7EC4;-----------------#
  SecVpcSg:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: SG to test ping
      VpcId: !Ref SecVpc
      SecurityGroupIngress:
      - IpProtocol: icmp
        FromPort: -1
        ToPort: -1
        CidrIp: 0.0.0.0/0
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 10.100.0.0/16
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 161.189.204.137/32
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpcSg


#-----------------SecVpc&#x521B;&#x5EFA;EC2&#x5B9E;&#x4F8B;-----------------#

#---IAM Instance Role and Profile---#
  ApplianceRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: !Sub &quot;${AWS::StackName}-appliance-role&quot;
      ManagedPolicyArns:
        - &quot;arn:aws-cn:iam::aws:policy/AmazonSSMManagedInstanceCore&quot;
      AssumeRolePolicyDocument:
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - ec2.amazonaws.com
            Action:
              - &apos;sts:AssumeRole&apos;
      Path: /

  AppliancePolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: AppServer
      PolicyDocument:
        Statement:
          - Effect: Allow
            Action:
              - ec2:DescribeNetworkInterfaces
            Resource: &apos;*&apos;
      Roles:
        - !Ref ApplianceRole

  ApplianceProfile:
    Type: AWS::IAM::InstanceProfile
    Properties:
      Path: /
      Roles:
        - !Ref ApplianceRole

#-----------------SecVpc&#x521B;&#x5EFA;GWLB-----------------#

# Gateway Load Balancer (GWLB), Target Group, Listener
  Gwlb:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      LoadBalancerAttributes:
        - Key: load_balancing.cross_zone.enabled
          Value: true
      Name: gwlb-panorama
      Type: gateway
      Subnets:
        - !Ref SecVpcAz1PrivateSubnet
        - !Ref SecVpcAz2PrivateSubnet
      Tags:
      - Key: Name
        Value: !Sub &quot;${AWS::StackName}-gwlb-1&quot;

  # Target Group:
  TargetGroup:
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
      Name: target-group-panorama
      Port: 6081
      Protocol: GENEVE
      TargetGroupAttributes:
      - Key: deregistration_delay.timeout_seconds
        Value: &quot;20&quot;
      VpcId: !Ref SecVpc
      HealthCheckPort: 80
      HealthCheckProtocol: HTTP
      TargetType: instance
      Targets:
        - Id: !Ref Appliance1
        - Id: !Ref Appliance2
      Tags:
      - Key: Name
        Value: !Sub &quot;${AWS::StackName}-tg-1&quot;

  # Listener:
  Listener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      DefaultActions:
      - Type: forward
        TargetGroupArn: !Ref TargetGroup
      LoadBalancerArn: !Ref Gwlb

#-----------------SecVpc&#x521B;&#x5EFA;EC2&#x5B9E;&#x4F8B;-----------------#

#---SecVpc&#x521B;&#x5EFA;paloalto&#x63A5;&#x53E3;---#

  Pa1MgmtEip:
    Type: &quot;AWS::EC2::EIP&quot;
    Properties:
      Tags:
        - Key: Name
          Value: SecVpc-pa1-mgmt-eip

  Pa1MgmtEni:  # &#x521B;&#x5EFA;PA1&#x7BA1;&#x7406;&#x63A5;&#x53E3;
    Type: &quot;AWS::EC2::NetworkInterface&quot;
    Properties:
      GroupSet:
        - !Ref SecVpcSg
      SubnetId:
        Ref: SecVpcAz1PublicSubnet
      Tags:
        - Key: Name
          Value: SecVpc-pa1-mgmt-eni

  Pa1MgmtEniAssociation:  # &#x5173;&#x8054;&#x516C;&#x7F51;IP&#x5230;Mgt&#x5F39;&#x6027;&#x63A5;&#x53E3;
    Type: AWS::EC2::EIPAssociation
    DependsOn: Appliance1
    Properties:
      AllocationId: !GetAtt Pa1MgmtEip.AllocationId # &#x8FD9;&#x91CC;&#x662F;EIP
      NetworkInterfaceId: !Ref Pa1MgmtEni

  Pa1DataEni:  # &#x521B;&#x5EFA;PA1&#x6570;&#x636E;&#x63A5;&#x53E3;
    Type: &quot;AWS::EC2::NetworkInterface&quot;
    Properties:
      GroupSet:
        - Ref: SecVpcSg
      SubnetId:
        Ref: SecVpcAz1PrivateSubnet
      Tags:
        - Key: Name
          Value: SecVpc-pa1-data-eni

  Pa2MgmtEip:
    Type: &quot;AWS::EC2::EIP&quot;
    Properties:
      Tags:
        - Key: Name
          Value: SecVpc-pa2-mgmt-eip

  Pa2MgmtEni:  # &#x521B;&#x5EFA;PA2&#x7BA1;&#x7406;&#x63A5;&#x53E3;
    Type: &quot;AWS::EC2::NetworkInterface&quot;
    Properties:
      GroupSet:
        - !Ref SecVpcSg
      SubnetId:
        Ref: SecVpcAz2PublicSubnet
      Tags:
        - Key: Name
          Value: SecVpc-pa2-mgmt-eni

  Pa2MgmtEniAssociation:  # &#x5173;&#x8054;&#x516C;&#x7F51;IP&#x5230;Mgt&#x5F39;&#x6027;&#x63A5;&#x53E3;
    Type: AWS::EC2::EIPAssociation
    DependsOn: Appliance2
    Properties:
      AllocationId: !GetAtt Pa2MgmtEip.AllocationId # &#x8FD9;&#x91CC;&#x662F;EIP
      NetworkInterfaceId: !Ref Pa2MgmtEni

  Pa2DataEni:  # &#x521B;&#x5EFA;PA2&#x6570;&#x636E;&#x63A5;&#x53E3;
    Type: &quot;AWS::EC2::NetworkInterface&quot;
    Properties:
      GroupSet:
        - !Ref SecVpcSg
      SubnetId:
        Ref: SecVpcAz2PrivateSubnet
      Tags:
        - Key: Name
          Value: SecVpc-pa2-data-eni

# EC2 Instances (Appliances acting as target for GWLB):
  Appliance1:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !FindInMap [RegionMap, !Ref &quot;AWS::Region&quot;, !Ref PaloaltoVersion]
      KeyName: !Ref MyKeyPair
      InstanceType: !Ref PaloaltoInstanceType
      NetworkInterfaces:
        -
          NetworkInterfaceId: !Ref Pa1DataEni
          DeviceIndex: 0
        -
          NetworkInterfaceId: !Ref Pa1MgmtEni
          DeviceIndex: 1
      UserData:
        Fn::Base64:
          !Sub |
          mgmt-interface-swap=enable
          plugin-op-commands=aws-gwlb-inspect:enable
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-PA-FW1

  Appliance2:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !FindInMap [RegionMap, !Ref &quot;AWS::Region&quot;, !Ref PaloaltoVersion]
      KeyName: !Ref MyKeyPair
      InstanceType: !Ref PaloaltoInstanceType
      NetworkInterfaces:
        -
          NetworkInterfaceId: !Ref Pa2DataEni
          DeviceIndex: 0
        -
          NetworkInterfaceId: !Ref Pa2MgmtEni
          DeviceIndex: 1
      UserData:
        Fn::Base64:
          !Sub |
          mgmt-interface-swap=enable
          plugin-op-commands=aws-gwlb-inspect:enable
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-PA-FW2

  SecVpcBastionLinux:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref BastionSsmProfile
      ImageId: !Ref EC2InstanceAmiId
      KeyName: !Ref MyKeyPair
      InstanceType: t3.nano
      NetworkInterfaces:
        - AssociatePublicIpAddress: true
          DeviceIndex: 0
          GroupSet:
            - Ref: SecVpcSg
          SubnetId: !Ref SecVpcAz1PublicSubnet
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-SecVpc-Bastion-Linux

# Create VPC Endpoint Service:

  VpcEndpointService:
    Type: AWS::EC2::VPCEndpointService
    Properties:
      GatewayLoadBalancerArns:
        - !Ref Gwlb
      AcceptanceRequired: false

# Create Lambda Custom Resource to retrieve VPC Endpoint Service Name:

  VpceServiceLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lambda.amazonaws.com
            Action:
              - sts:AssumeRole
      Path: /
      Policies:
        - PolicyName: root
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - logs:CreateLogStream
                  - logs:PutLogEvents
                Resource: arn:aws-cn:logs:*:*:*
              - Effect: Allow
                Action:
                  - ec2:DescribeVpcEndpointServiceConfigurations
                  - ec2:DescribeVpcEndpointServicePermissions
                  - ec2:DescribeVpcEndpointServices
                Resource: &quot;*&quot;


  VpceServiceLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
        LogGroupName: !Sub /aws/lambda/${AWS::StackName}-service
        RetentionInDays: 1

  VpceServiceName:
    Type: AWS::Lambda::Function
    DependsOn: VpceServiceLogGroup
    Properties:
      FunctionName: !Sub ${AWS::StackName}-service
      Handler: &quot;index.handler&quot;
      Role: !GetAtt VpceServiceLambdaExecutionRole.Arn
      Code:
        ZipFile: |
          import json
          import logging
          import time

          import boto3
          import cfnresponse
          from botocore.exceptions import ClientError

          try:
              ec2 = boto3.client(&apos;ec2&apos;)
          except ClientError as e:
              logger.error(f&quot;ERROR: failed to connect to EC2 client: {e}&quot;)
              sys.exit(1)

          def handler(event, context):
              logger = logging.getLogger()
              logger.setLevel(logging.INFO)
              logger.info(&apos;Received event: {}&apos;.format(json.dumps(event)))

              responseData = {}
              responseStatus = cfnresponse.FAILED

              try:
                  serviceid = event[&quot;ResourceProperties&quot;][&quot;VpceServiceId&quot;]
              except Exception as e:
                  logger.info(&apos;Attribute retrival failure: {}&apos;.format(e))

              try:
                  if event[&quot;RequestType&quot;] == &quot;Delete&quot;:
                      responseStatus = cfnresponse.SUCCESS
                      cfnresponse.send(event, context, responseStatus, responseData)
              except Exception:
                  logger.exception(&quot;Signaling failure to CloudFormation.&quot;)
                  cfnresponse.send(event, context, cfnresponse.FAILED, {})

              if event[&quot;RequestType&quot;] == &quot;Create&quot;:
                  logger.info(&quot;Retrieving VPC Endpoint Service Name:&quot;)
                  try:
                      response = ec2.describe_vpc_endpoint_service_configurations(
                          Filters=[
                              {
                                  &apos;Name&apos;: &apos;service-id&apos;,
                                  &apos;Values&apos;: [serviceid]
                              }
                          ]
                      )
                  except Exception as e:
                      logger.info(&apos;ec2.describe_vpc_endpoint_service_configurations failure: {}&apos;.format(e))

                  service_name = response[&apos;ServiceConfigurations&apos;][0][&apos;ServiceName&apos;]

                  time.sleep(120)

                  responseData[&apos;ServiceName&apos;] = service_name
                  responseStatus = cfnresponse.SUCCESS
                  cfnresponse.send(event, context, responseStatus, responseData)
      Runtime: python3.7
      Timeout: 150

  RetrieveVpceServiceName:
    Type: Custom::RetrieveAttributes
    Properties:
      ServiceToken: !GetAtt VpceServiceName.Arn
      VpceServiceId: !Ref VpcEndpointService

# Create Gateway Load Balancer Endpoint:

  GwlbEndpoint1:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref SecVpc
      ServiceName: !GetAtt RetrieveVpceServiceName.ServiceName
      VpcEndpointType: GatewayLoadBalancer
      SubnetIds:
        - !Ref SecVpcAz1PrivateSubnet

  GwlbEndpoint2:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref SecVpc
      ServiceName: !GetAtt RetrieveVpceServiceName.ServiceName
      VpcEndpointType: GatewayLoadBalancer
      SubnetIds:
        - !Ref SecVpcAz2PrivateSubnet


#=============VpcA============#
# &#x521B;&#x5EFA;VpcA
  VpcA:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.110.10.0/16
      EnableDnsSupport: &apos;true&apos;
      EnableDnsHostnames: &apos;true&apos;
      Tags:
       - Key: Name
         Value: !Sub ${AWS::StackName}-VpcA

# &#x521B;&#x5EFA;IGW&#x5E76;&#x4E14;&#x5173;&#x8054;&#x5230;VPC
  VpcAIGW:
    Type: &quot;AWS::EC2::InternetGateway&quot;
    Properties:
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcAIGW

  VpcAAttachIgw:
    Type: &quot;AWS::EC2::VPCGatewayAttachment&quot;
    Properties:
      VpcId: !Ref VpcA
      InternetGatewayId: !Ref VpcAIGW

#-----------------VpcA&#x521B;&#x5EFA;6&#x4E2A;&#x5B50;&#x7F51;------------------#

# VpcA AZ1&#x5185;&#x521B;&#x5EFA;&#x516C;&#x6709;&#x5B50;&#x7F51;
  VpcAAz1PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcA
      CidrBlock: 10.110.10.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcA-AZ1-Public-Subnet

# VpcA AZ2&#x5185;&#x521B;&#x5EFA;&#x516C;&#x6709;&#x5B50;&#x7F51;
  VpcAAz2PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcA
      CidrBlock: 10.110.20.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcA-AZ2-Public-Subnet

# VpcA AZ1&#x5185;&#x521B;&#x5EFA;APP&#x5B50;&#x7F51;
  VpcAAz1AppSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcA
      CidrBlock: 10.110.30.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcA-AZ1-App-Subnet

# VpcA AZ2&#x5185;&#x521B;&#x5EFA;APP&#x5B50;&#x7F51;
  VpcAAz2AppSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcA
      CidrBlock: 10.110.40.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcA-AZ2-App-Subnet


# VpcA AZ1&#x5185;&#x521B;&#x5EFA;TGW&#x5B50;&#x7F51;
  VpcAAz1TgwSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcA
      CidrBlock: 10.110.50.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcA-AZ1-TGW-Subnet

# VpcA AZ2&#x5185;&#x521B;&#x5EFA;TGW&#x5B50;&#x7F51;
  VpcAAz2TgwSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcA
      CidrBlock: 10.110.60.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcA-AZ2-TGW-Subnet

#-----------------VpcA&#x521B;&#x5EFA;&#x8DEF;&#x7531;&#x8868;------------------#

# &#x516C;&#x6709;&#x5B50;&#x7F51;&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  VpcAAz1PublicRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcA
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ1-Public-RouteTable

  VpcAAz1PublicRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcAAz1PublicRouteTable
      SubnetId: !Ref VpcAAz1PublicSubnet

  VpcAAz2PublicRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcA
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ2-Public-RouteTable

  VpcAAz2PublicRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcAAz2PublicRouteTable
      SubnetId: !Ref VpcAAz2PublicSubnet

# App&#x5B50;&#x7F51;&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  VpcAAz1AppRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcA
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ1-App-RouteTable

  VpcAAz1AppRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcAAz1AppRouteTable
      SubnetId: !Ref VpcAAz1AppSubnet

  VpcAAz2AppRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcA
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ2-App-RouteTable

  VpcAAz2AppRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcAAz2AppRouteTable
      SubnetId: !Ref VpcAAz2AppSubnet


# Tgw&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  VpcAAz1TgwRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcA
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ1-Tgw-RouteTable

  VpcAAz1TgwRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcAAz1TgwRouteTable
      SubnetId: !Ref VpcAAz1TgwSubnet

  VpcAAz2TgwRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcA
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ2-Tgw-RouteTable

  VpcAAz2TgwRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcAAz2TgwRouteTable
      SubnetId: !Ref VpcAAz2TgwSubnet

#-----------------NAT Gateway-----------------#

# AZ1 NAT GW
  VpcAAz1NatGatewayEIP:
     Type: AWS::EC2::EIP
     Properties:
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ1-NatGateway-EIP

  VpcAAz1NatGateway:
     Type: AWS::EC2::NatGateway
     Properties:
        AllocationId: !GetAtt VpcAAz1NatGatewayEIP.AllocationId
        SubnetId: !Ref VpcAAz1PublicSubnet
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ1-NatGateway

# AZ2 NAT GW
  VpcAAz2NatGatewayEIP:
     Type: AWS::EC2::EIP
     Properties:
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ2-NatGateway-EIP

  VpcAAz2NatGateway:
     Type: AWS::EC2::NatGateway
     Properties:
        AllocationId: !GetAtt VpcAAz2NatGatewayEIP.AllocationId
        SubnetId: !Ref VpcAAz2PublicSubnet
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-AZ2-NatGateway


#-----------------&#x6DFB;&#x52A0;&#x8DEF;&#x7531;-----------------#

# &#x516C;&#x6709;&#x5B50;&#x7F51;&#x6DFB;&#x52A0;&#x9ED8;&#x8BA4;&#x8DEF;&#x7531;&#x53BB;&#x5F80;IGW
  VpcAAz1PublicSubnetToInternetRoute:
    Type: &quot;AWS::EC2::Route&quot;
    DependsOn: VpcAIGW
    Properties:
     RouteTableId: !Ref VpcAAz1PublicRouteTable
     DestinationCidrBlock: 0.0.0.0/0
     GatewayId: !Ref VpcAIGW

  VpcAAz2PublicSubnetToInternetRoute:
    Type: &quot;AWS::EC2::Route&quot;
    DependsOn: VpcAIGW
    Properties:
     RouteTableId: !Ref VpcAAz2PublicRouteTable
     DestinationCidrBlock: 0.0.0.0/0
     GatewayId: !Ref VpcAIGW

#-----------------VpcA&#x521B;&#x5EFA;&#x5B89;&#x5168;&#x7EC4;-----------------#
  VpcABastionVpcSg:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: SG to test ping
      VpcId: !Ref VpcA
      SecurityGroupIngress:
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 10.120.0.0/16
      - IpProtocol: icmp
        FromPort: -1
        ToPort: -1
        CidrIp: 0.0.0.0/0
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 10.110.0.0/16
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 161.189.204.137/32
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcASg


#-----------------VpcA&#x521B;&#x5EFA;EC2&#x5B9E;&#x4F8B;-----------------#

  VpcABastionLinux:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref BastionSsmProfile
      ImageId: !Ref EC2InstanceAmiId
      KeyName: !Ref MyKeyPair
      InstanceType: t3.nano
      NetworkInterfaces:
        - AssociatePublicIpAddress: true
          DeviceIndex: 0
          GroupSet:
            - Ref: VpcABastionVpcSg
          SubnetId: !Ref VpcAAz1PublicSubnet
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-Bastion-Linux

  VpcAApp1Linux:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref BastionSsmProfile
      ImageId: !Ref EC2InstanceAmiId
      KeyName: !Ref MyKeyPair
      InstanceType: t3.nano
      NetworkInterfaces:
        - DeviceIndex: 0
          GroupSet:
            - Ref: VpcABastionVpcSg
          SubnetId: !Ref VpcAAz1AppSubnet
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-App1-Linux

  VpcAApp2Linux:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref BastionSsmProfile
      ImageId: !Ref EC2InstanceAmiId
      KeyName: !Ref MyKeyPair
      InstanceType: t3.nano
      NetworkInterfaces:
        - DeviceIndex: 0
          GroupSet:
            - Ref: VpcABastionVpcSg
          SubnetId: !Ref VpcAAz2AppSubnet
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcA-App2-Linux


#=============VpcB============#
# &#x521B;&#x5EFA;VpcB
  VpcB:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.120.10.0/16
      EnableDnsSupport: &apos;true&apos;
      EnableDnsHostnames: &apos;true&apos;
      Tags:
       - Key: Name
         Value: !Sub ${AWS::StackName}-VpcB

# &#x521B;&#x5EFA;IGW&#x5E76;&#x4E14;&#x5173;&#x8054;&#x5230;VPC
  VpcBIGW:
    Type: &quot;AWS::EC2::InternetGateway&quot;
    Properties:
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcBIGW

  VpcBAttachIgw:
    Type: &quot;AWS::EC2::VPCGatewayAttachment&quot;
    Properties:
      VpcId: !Ref VpcB
      InternetGatewayId: !Ref VpcBIGW

#-----------------VpcB&#x521B;&#x5EFA;6&#x4E2A;&#x5B50;&#x7F51;------------------#

# VpcB AZ1&#x5185;&#x521B;&#x5EFA;&#x516C;&#x6709;&#x5B50;&#x7F51;
  VpcBAz1PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcB
      CidrBlock: 10.120.10.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcB-AZ1-Public-Subnet

# VpcB AZ2&#x5185;&#x521B;&#x5EFA;&#x516C;&#x6709;&#x5B50;&#x7F51;
  VpcBAz2PublicSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcB
      CidrBlock: 10.120.20.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcB-AZ2-Public-Subnet

# VpcB AZ1&#x5185;&#x521B;&#x5EFA;APP&#x5B50;&#x7F51;
  VpcBAz1AppSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcB
      CidrBlock: 10.120.30.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcB-AZ1-App-Subnet

# VpcB AZ2&#x5185;&#x521B;&#x5EFA;APP&#x5B50;&#x7F51;
  VpcBAz2AppSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcB
      CidrBlock: 10.120.40.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcB-AZ2-App-Subnet


# VpcB AZ1&#x5185;&#x521B;&#x5EFA;TGW&#x5B50;&#x7F51;
  VpcBAz1TgwSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcB
      CidrBlock: 10.120.50.0/24
      AvailabilityZone:
        Fn::Select:
          - 0
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcB-AZ1-TGW-Subnet

# VpcB AZ2&#x5185;&#x521B;&#x5EFA;TGW&#x5B50;&#x7F51;
  VpcBAz2TgwSubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VpcB
      CidrBlock: 10.120.60.0/24
      AvailabilityZone:
        Fn::Select:
          - 1
          - Fn::GetAZs: &quot;&quot;
      Tags:
      - Key: Name
        Value: !Sub ${AWS::StackName}-VpcB-AZ2-TGW-Subnet

#-----------------VpcB&#x521B;&#x5EFA;&#x8DEF;&#x7531;&#x8868;------------------#

# &#x516C;&#x6709;&#x5B50;&#x7F51;&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  VpcBAz1PublicRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcB
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ1-Public-RouteTable

  VpcBAz1PublicRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcBAz1PublicRouteTable
      SubnetId: !Ref VpcBAz1PublicSubnet

  VpcBAz2PublicRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcB
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ2-Public-RouteTable

  VpcBAz2PublicRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcBAz2PublicRouteTable
      SubnetId: !Ref VpcBAz2PublicSubnet

# App&#x5B50;&#x7F51;&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  VpcBAz1AppRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcB
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ1-App-RouteTable

  VpcBAz1AppRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcBAz1AppRouteTable
      SubnetId: !Ref VpcBAz1AppSubnet

  VpcBAz2AppRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcB
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ2-App-RouteTable

  VpcBAz2AppRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcBAz2AppRouteTable
      SubnetId: !Ref VpcBAz2AppSubnet


# Tgw&#x8DEF;&#x7531;&#x8868;&#x53CA;&#x5173;&#x8054;
  VpcBAz1TgwRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcB
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ1-Tgw-RouteTable

  VpcBAz1TgwRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcBAz1TgwRouteTable
      SubnetId: !Ref VpcBAz1TgwSubnet

  VpcBAz2TgwRouteTable:
    Type: &quot;AWS::EC2::RouteTable&quot;
    Properties:
      VpcId: !Ref VpcB
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ2-Tgw-RouteTable

  VpcBAz2TgwRouteTableAssociation:
    Type: &quot;AWS::EC2::SubnetRouteTableAssociation&quot;
    Properties:
      RouteTableId: !Ref VpcBAz2TgwRouteTable
      SubnetId: !Ref VpcBAz2TgwSubnet

#-----------------NAT Gateway-----------------#

# AZ1 NAT GW
  VpcBAz1NatGatewayEIP:
     Type: AWS::EC2::EIP
     Properties:
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ1-NatGateway-EIP

  VpcBAz1NatGateway:
     Type: AWS::EC2::NatGateway
     Properties:
        AllocationId: !GetAtt VpcBAz1NatGatewayEIP.AllocationId
        SubnetId: !Ref VpcBAz1PublicSubnet
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ1-NatGateway

# AZ2 NAT GW
  VpcBAz2NatGatewayEIP:
     Type: AWS::EC2::EIP
     Properties:
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ2-NatGateway-EIP

  VpcBAz2NatGateway:
     Type: AWS::EC2::NatGateway
     Properties:
        AllocationId: !GetAtt VpcBAz2NatGatewayEIP.AllocationId
        SubnetId: !Ref VpcBAz2PublicSubnet
        Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-AZ2-NatGateway


#-----------------&#x6DFB;&#x52A0;&#x8DEF;&#x7531;-----------------#

# &#x516C;&#x6709;&#x5B50;&#x7F51;&#x6DFB;&#x52A0;&#x9ED8;&#x8BA4;&#x8DEF;&#x7531;&#x53BB;&#x5F80;IGW
  VpcBAz1PublicSubnetToInternetRoute:
    Type: &quot;AWS::EC2::Route&quot;
    DependsOn: VpcBIGW
    Properties:
     RouteTableId: !Ref VpcBAz1PublicRouteTable
     DestinationCidrBlock: 0.0.0.0/0
     GatewayId: !Ref VpcBIGW

  VpcBAz2PublicSubnetToInternetRoute:
    Type: &quot;AWS::EC2::Route&quot;
    DependsOn: VpcBIGW
    Properties:
     RouteTableId: !Ref VpcBAz2PublicRouteTable
     DestinationCidrBlock: 0.0.0.0/0
     GatewayId: !Ref VpcBIGW

#-----------------VpcB&#x521B;&#x5EFA;&#x5B89;&#x5168;&#x7EC4;-----------------#
  VpcBBastionVpcSg:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: SG to test ping
      VpcId: !Ref VpcB
      SecurityGroupIngress:
      - IpProtocol: icmp
        FromPort: -1
        ToPort: -1
        CidrIp: 0.0.0.0/0
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 10.110.0.0/16
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 10.120.0.0/16
      - IpProtocol: -1
        FromPort: -1
        ToPort: -1
        CidrIp: 161.189.204.137/32
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcBSg


#-----------------VpcB&#x521B;&#x5EFA;EC2&#x5B9E;&#x4F8B;-----------------#

  VpcBBastionLinux:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref BastionSsmProfile
      ImageId: !Ref EC2InstanceAmiId
      KeyName: !Ref MyKeyPair
      InstanceType: t3.nano
      NetworkInterfaces:
        - AssociatePublicIpAddress: true
          DeviceIndex: 0
          GroupSet:
            - Ref: VpcBBastionVpcSg
          SubnetId: !Ref VpcBAz1PublicSubnet
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-Bastion-Linux

  VpcBApp1Linux:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref BastionSsmProfile
      ImageId: !Ref EC2InstanceAmiId
      KeyName: !Ref MyKeyPair
      InstanceType: t3.nano
      NetworkInterfaces:
        - DeviceIndex: 0
          GroupSet:
            - Ref: VpcBBastionVpcSg
          SubnetId: !Ref VpcBAz1AppSubnet
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-App1-Linux

  VpcBApp2Linux:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref BastionSsmProfile
      ImageId: !Ref EC2InstanceAmiId
      KeyName: !Ref MyKeyPair
      InstanceType: t3.nano
      NetworkInterfaces:
        - DeviceIndex: 0
          GroupSet:
            - Ref: VpcBBastionVpcSg
          SubnetId: !Ref VpcBAz2AppSubnet
      Tags:
        - Key: Name
          Value: !Sub ${AWS::StackName}-VpcB-App2-Linux



#=============TGW============#


#---&#x521B;&#x5EFA;TGW---#

  Tgw1:
    Type: AWS::EC2::TransitGateway
    Properties:
      AmazonSideAsn: 64512
      AutoAcceptSharedAttachments: enable
      DefaultRouteTableAssociation: disable
      DefaultRouteTablePropagation: disable
      Description: Transit Gateway 1 for GWLB Centralized Architecture
      DnsSupport: enable
      Tags:
        - Key: Name
          Value: !Sub &quot;${AWS::StackName}-tgw-1&quot;
      VpnEcmpSupport: enable

#------&#x521B;&#x5EFA;TGW VPC&#x6302;&#x8F7D;------#

  Tgw1VpcAAttachment:
    Type: AWS::EC2::TransitGatewayAttachment
    Properties:
      SubnetIds:
        - !Ref VpcAAz1TgwSubnet
        - !Ref VpcAAz2TgwSubnet
      TransitGatewayId: !Ref Tgw1
      VpcId: !Ref VpcA
      Tags:
        - Key: Name
          Value: !Sub &quot;${AWS::StackName}-VpcA-attachment&quot;


  Tgw1VpcBAttachment:
    Type: AWS::EC2::TransitGatewayAttachment
    Properties:
      SubnetIds:
        - !Ref VpcBAz1TgwSubnet
        - !Ref VpcBAz2TgwSubnet
      TransitGatewayId: !Ref Tgw1
      VpcId: !Ref VpcB
      Tags:
        - Key: Name
          Value: !Sub &quot;${AWS::StackName}-VpcB-attachment&quot;

  Tgw1SecVpcAttachment:
    Type: AWS::EC2::TransitGatewayAttachment
    Properties:
      SubnetIds:
        - !Ref SecVpcAz1TgwSubnet
        - !Ref SecVpcAz2TgwSubnet
      TransitGatewayId: !Ref Tgw1
      VpcId: !Ref SecVpc
      Tags:
        - Key: Name
          Value: !Sub &quot;${AWS::StackName}-appliance-vpc-attachment&quot;

#-----------------------&#x521B;&#x5EFA;TGW&#x8DEF;&#x7531;&#x8868;&#x5E76;&#x5173;&#x8054;VPC-----------------------#

  Tgw1VpcARtb:
    Type: AWS::EC2::TransitGatewayRouteTable
    Properties:
      Tags:
        - Key: Name
          Value: !Sub &quot;${AWS::StackName}-Tgw-VpcA-RTB&quot;
      TransitGatewayId: !Ref Tgw1

  Tgw1VpcARtbAttachmentAssociation:
    Type: AWS::EC2::TransitGatewayRouteTableAssociation
    Properties:
      TransitGatewayAttachmentId: !Ref Tgw1VpcAAttachment
      TransitGatewayRouteTableId: !Ref Tgw1VpcARtb

  Tgw1VpcBRtb:
    Type: AWS::EC2::TransitGatewayRouteTable
    Properties:
      Tags:
        - Key: Name
          Value: !Sub &quot;${AWS::StackName}-Tgw-VpcB-RTB&quot;
      TransitGatewayId: !Ref Tgw1

  Tgw1VpcBRtbAttachmentAssociation:
    Type: AWS::EC2::TransitGatewayRouteTableAssociation
    Properties:
      TransitGatewayAttachmentId: !Ref Tgw1VpcBAttachment
      TransitGatewayRouteTableId: !Ref Tgw1VpcBRtb

  Tgw1SecVpcRtb:
    Type: AWS::EC2::TransitGatewayRouteTable
    Properties:
      Tags:
        - Key: Name
          Value: !Sub &quot;${AWS::StackName}-SecVpc-RTB&quot;
      TransitGatewayId: !Ref Tgw1

  Tgw1SecVpcRtbAttachmentAssociation:
    Type: AWS::EC2::TransitGatewayRouteTableAssociation
    Properties:
      TransitGatewayAttachmentId: !Ref Tgw1SecVpcAttachment
      TransitGatewayRouteTableId: !Ref Tgw1SecVpcRtb

#-----------------------&#x521B;&#x5EFA;TGW&#x8DEF;&#x7531;-----------------------#

# VpcA&#x7684;TGW&#x8DEF;&#x7531;&#x8868;
  Tgw1VpcARoute1:
    Type: AWS::EC2::TransitGatewayRoute
    DependsOn: Tgw1SecVpcAttachment
    Properties:
      TransitGatewayAttachmentId: !Ref Tgw1SecVpcAttachment
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      TransitGatewayRouteTableId: !Ref Tgw1VpcARtb

# VpcB&#x7684;TGW&#x8DEF;&#x7531;&#x8868;
  Tgw1VpcBRoute1:
    Type: AWS::EC2::TransitGatewayRoute
    DependsOn: Tgw1SecVpcAttachment
    Properties:
      TransitGatewayAttachmentId: !Ref Tgw1SecVpcAttachment
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      TransitGatewayRouteTableId: !Ref Tgw1VpcBRtb

# SecVpc&#x7684;TGW&#x8DEF;&#x7531;&#x8868;
  Tgw1SecVpcRoute1:
    Type: AWS::EC2::TransitGatewayRoute
    DependsOn: Tgw1VpcAAttachment
    Properties:
      TransitGatewayAttachmentId: !Ref Tgw1VpcAAttachment
      DestinationCidrBlock: &apos;10.110.0.0/16&apos;
      TransitGatewayRouteTableId: !Ref Tgw1SecVpcRtb

  Tgw1SecVpcRoute2:
    Type: AWS::EC2::TransitGatewayRoute
    DependsOn: Tgw1VpcBAttachment
    Properties:
      TransitGatewayAttachmentId: !Ref Tgw1VpcBAttachment
      DestinationCidrBlock: &apos;10.120.0.0/16&apos;
      TransitGatewayRouteTableId: !Ref Tgw1SecVpcRtb


#-----------------------VpcA VpcB Tgw&#x76F8;&#x5173;&#x8DEF;&#x7531;-----------------------#

  VpcAPublicAz1TgwRoute1:
    DependsOn: Tgw1VpcAAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.100.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcAAz1PublicRouteTable

  VpcAPublicAz2TgwRoute1:
    DependsOn: Tgw1VpcAAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.100.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcAAz2PublicRouteTable

  VpcAPublicAz1TgwRoute2:
    DependsOn: Tgw1VpcAAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.120.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcAAz1PublicRouteTable

  VpcAPublicAz2TgwRoute2:
    DependsOn: Tgw1VpcAAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.120.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcAAz2PublicRouteTable

  VpcAAppAz1TgwRoute1:
    DependsOn: Tgw1VpcAAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcAAz1AppRouteTable

  VpcAAppAz2TgwRoute1:
    DependsOn: Tgw1VpcAAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcAAz2AppRouteTable

# ---VpcB&#x8DEF;&#x7531;&#x8868;---

  VpcBPublicAz1TgwRoute1:
    DependsOn: Tgw1VpcBAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.100.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcBAz1PublicRouteTable

  VpcBPublicAz2TgwRoute1:
    DependsOn: Tgw1VpcBAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.100.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcBAz2PublicRouteTable

  VpcBPublicAz1TgwRoute2:
    DependsOn: Tgw1VpcBAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.110.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcBAz1PublicRouteTable

  VpcBPublicAz2TgwRoute2:
    DependsOn: Tgw1VpcBAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.110.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcBAz2PublicRouteTable

  VpcBAppAz1TgwRoute1:
    DependsOn: Tgw1VpcBAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcBAz1AppRouteTable

  VpcBAppAz2TgwRoute1:
    DependsOn: Tgw1VpcBAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref VpcBAz2AppRouteTable

#-----------------------SecVpc Tgw&#x76F8;&#x5173;&#x8DEF;&#x7531;-----------------------#

  SecVpcPrivateAz1TgwRoute1:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.110.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref SecVpcAz1PrivateRouteTable

  SecVpcPrivateAz2TgwRoute1:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.110.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref SecVpcAz2PrivateRouteTable

  SecVpcPrivateAz1TgwRoute2:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.120.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref SecVpcAz1PrivateRouteTable

  SecVpcPrivateAz2TgwRoute2:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.120.0.0/16&apos;
      TransitGatewayId: !Ref Tgw1
      RouteTableId: !Ref SecVpcAz2PrivateRouteTable


#-----------------------SecVpc Endpoint&#x76F8;&#x5173;&#x8DEF;&#x7531;-----------------------#

  SecVpcPublicAz1Route1:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.110.0.0/16&apos;
      VpcEndpointId: !Ref GwlbEndpoint1
      RouteTableId: !Ref SecVpcAz1PublicRouteTable

  SecVpcPublicAz2Route1:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.110.0.0/16&apos;
      VpcEndpointId: !Ref GwlbEndpoint2
      RouteTableId: !Ref SecVpcAz2PublicRouteTable

  SecVpcPublicAz1Route2:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.120.0.0/16&apos;
      VpcEndpointId: !Ref GwlbEndpoint1
      RouteTableId: !Ref SecVpcAz1PublicRouteTable

  SecVpcPublicAz2Route2:
    DependsOn: Tgw1SecVpcAttachment
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;10.120.0.0/16&apos;
      VpcEndpointId: !Ref GwlbEndpoint2
      RouteTableId: !Ref SecVpcAz2PublicRouteTable

  SecVpcAz1TgwRoute1:
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      VpcEndpointId: !Ref GwlbEndpoint1
      RouteTableId: !Ref SecVpcAz1TgwRouteTable

  SecVpcAz2TgwRoute1:
    Type: AWS::EC2::Route
    Properties:
      DestinationCidrBlock: &apos;0.0.0.0/0&apos;
      VpcEndpointId: !Ref GwlbEndpoint2
      RouteTableId: !Ref SecVpcAz2TgwRouteTable


#-----------------------&#x4FEE;&#x6539;TGW&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x6A21;&#x5F0F;-----------------------#

# Transit Gateway appliance mode Lambda Role:
  TgwLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: &quot;2012-10-17&quot;
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lambda.amazonaws.com
            Action:
              - sts:AssumeRole
      Path: /
      Policies:
        - PolicyName: root
          PolicyDocument:
            Version: &quot;2012-10-17&quot;
            Statement:
              - Effect: Allow
                Action:
                  - logs:CreateLogStream
                  - logs:PutLogEvents
                Resource: !GetAtt TgwApplianceModeLogGroup.Arn
              - Effect: Allow
                Action:
                  - ec2:ModifyTransitGatewayVpcAttachment
                  - ec2:DescribeTransitGatewayVpcAttachments
                Resource: &quot;*&quot;

# Enable Transit Gateway Appliance Mode Lambda Custom Resource:
  TgwApplianceModeLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
        LogGroupName: !Sub /aws/lambda/${AWS::StackName}-tgw-appliancemode
        RetentionInDays: 1

  TgwApplianceMode:
    Type: AWS::Lambda::Function
    DependsOn: TgwApplianceModeLogGroup
    Properties:
      FunctionName: !Sub ${AWS::StackName}-tgw-appliancemode
      Handler: &quot;index.handler&quot;
      Role: !GetAtt TgwLambdaExecutionRole.Arn
      Code:
        ZipFile: |
          import boto3
          import cfnresponse
          import json
          import logging

          def handler(event, context):
              logger = logging.getLogger()
              logger.setLevel(logging.INFO)
              responseData = {}
              responseStatus = cfnresponse.FAILED
              logger.info(&apos;Received event: {}&apos;.format(json.dumps(event)))
              if event[&quot;RequestType&quot;] == &quot;Delete&quot;:
                  responseStatus = cfnresponse.SUCCESS
                  cfnresponse.send(event, context, responseStatus, responseData)
              if event[&quot;RequestType&quot;] == &quot;Create&quot;:
                  try:
                      TgwSecVpcAttachmentId = event[&quot;ResourceProperties&quot;][&quot;TgwSecVpcAttachmentId&quot;]
                      ApplianceMode = event[&quot;ResourceProperties&quot;][&quot;ApplianceMode&quot;]
                  except Exception as e:
                      logger.info(&apos;Key retrieval failure: {}&apos;.format(e))
                  try:
                      ec2 = boto3.client(&apos;ec2&apos;)
                  except Exception as e:
                      logger.info(&apos;boto3.client failure: {}&apos;.format(e))
                  try:
                      ec2.modify_transit_gateway_vpc_attachment(
                          TransitGatewayAttachmentId = TgwSecVpcAttachmentId,
                          Options = {&apos;ApplianceModeSupport&apos;: ApplianceMode}
                      )
                      TgwResponse = ec2.describe_transit_gateway_vpc_attachments(
                          TransitGatewayAttachmentIds=[TgwSecVpcAttachmentId]
                      )
                      ApplianceModeStatus = TgwResponse[&apos;TransitGatewayVpcAttachments&apos;][0][&apos;Options&apos;][&apos;ApplianceModeSupport&apos;]
                  except Exception as e:
                      logger.info(&apos;ec2.modify/describe_transit_gateway_vpc_attachment: {}&apos;.format(e))

                  responseData[&apos;ApplianceModeStatus&apos;] = ApplianceModeStatus
                  responseStatus = cfnresponse.SUCCESS
                  cfnresponse.send(event, context, responseStatus, responseData)
      Runtime: python3.7
      Timeout: 30

  ApplianceModeEnabled:
    Type: Custom::ModifyTransitGatewayVpcAttachment
    Properties:
      ServiceToken: !GetAtt TgwApplianceMode.Arn
      TgwSecVpcAttachmentId: !Ref Tgw1SecVpcAttachment
      ApplianceMode: enable
</code></pre>
<h2 id="%E4%B8%89%E3%80%81%E5%88%9D%E5%A7%8B%E5%8C%96paloalto%E9%98%B2%E7%81%AB%E5%A2%99">&#x4E09;&#x3001;&#x521D;&#x59CB;&#x5316;Paloalto&#x9632;&#x706B;&#x5899;</h2>
<p>&#x4F7F;&#x7528;EC2&#x5BC6;&#x94A5;&#x767B;&#x5F55;&#x9632;&#x706B;&#x5899;CLI&#xFF0C;&#x4FEE;&#x6539;<code>admin</code>&#x7528;&#x6237;&#x7684;&#x5BC6;&#x7801;&#x3002;</p>
<pre><code>commitadmin@PA-VM&gt; configure
Entering configuration mode
[edit]
admin@PA-VM# set mgt-config users admin password
Enter password   :
Confirm password :

[edit]
admin@PA-VM# commit
</code></pre>
<p>&#x7B2C;&#x4E00;&#x53F0;&#x9632;&#x706B;&#x5899;&#x521D;&#x59CB;&#x5316;&#x547D;&#x4EE4;&#x3002;</p>
<pre><code>set network profiles interface-management-profile MgtProfile http yes
set network profiles interface-management-profile MgtProfile ssh yes
set network profiles interface-management-profile MgtProfile ping yes

set network interface ethernet ethernet1/1 layer3 ndp-proxy enabled no
set network interface ethernet ethernet1/1 layer3 sdwan-link-settings upstream-nat enable no
set network interface ethernet ethernet1/1 layer3 sdwan-link-settings upstream-nat static-ip
set network interface ethernet ethernet1/1 layer3 sdwan-link-settings enable no
set network interface ethernet ethernet1/1 layer3 interface-management-profile MgtProfile
set network interface ethernet ethernet1/1 layer3 lldp enable no
set network interface ethernet ethernet1/1 layer3 dhcp-client

set network virtual-router default interface ethernet1/1
set zone untrust network layer3 ethernet1/1

set rulebase default-security-rules rules intrazone-default action allow
set rulebase default-security-rules rules intrazone-default log-start yes
set rulebase default-security-rules rules intrazone-default log-end yes
set rulebase default-security-rules rules intrazone-default profile-setting profiles url-filtering default
set rulebase default-security-rules rules intrazone-default profile-setting profiles file-blocking &quot;strict file blocking&quot;
set rulebase default-security-rules rules intrazone-default profile-setting profiles virus default
set rulebase default-security-rules rules intrazone-default profile-setting profiles spyware strict
set rulebase default-security-rules rules intrazone-default profile-setting profiles vulnerability strict
set rulebase default-security-rules rules intrazone-default profile-setting profiles wildfire-analysis default

set deviceconfig system hostname PA1
set deviceconfig system locale zh_CN
set deviceconfig system timezone Asia/Shanghai

commit
</code></pre>
<p>&#x7B2C;&#x4E8C;&#x53F0;&#x9632;&#x706B;&#x5899;&#x521D;&#x59CB;&#x5316;&#x547D;&#x4EE4;&#xFF0C;&#x53EA;&#x6709;&#x4E3B;&#x673A;&#x540D;&#x4E0D;&#x540C;&#x3002;</p>
<pre><code>set network profiles interface-management-profile MgtProfile http yes
set network profiles interface-management-profile MgtProfile ssh yes
set network profiles interface-management-profile MgtProfile ping yes

set network interface ethernet ethernet1/1 layer3 ndp-proxy enabled no
set network interface ethernet ethernet1/1 layer3 sdwan-link-settings upstream-nat enable no
set network interface ethernet ethernet1/1 layer3 sdwan-link-settings upstream-nat static-ip
set network interface ethernet ethernet1/1 layer3 sdwan-link-settings enable no
set network interface ethernet ethernet1/1 layer3 interface-management-profile MgtProfile
set network interface ethernet ethernet1/1 layer3 lldp enable no
set network interface ethernet ethernet1/1 layer3 dhcp-client

set network virtual-router default interface ethernet1/1
set zone untrust network layer3 ethernet1/1

set rulebase default-security-rules rules intrazone-default action allow
set rulebase default-security-rules rules intrazone-default log-start yes
set rulebase default-security-rules rules intrazone-default log-end yes
set rulebase default-security-rules rules intrazone-default profile-setting profiles url-filtering default
set rulebase default-security-rules rules intrazone-default profile-setting profiles file-blocking &quot;strict file blocking&quot;
set rulebase default-security-rules rules intrazone-default profile-setting profiles virus default
set rulebase default-security-rules rules intrazone-default profile-setting profiles spyware strict
set rulebase default-security-rules rules intrazone-default profile-setting profiles vulnerability strict
set rulebase default-security-rules rules intrazone-default profile-setting profiles wildfire-analysis default
Pr
set deviceconfig system hostname PA2
set deviceconfig system locale zh_CN
set deviceconfig system timezone Asia/Shanghai

commit
</code></pre>
<h2 id="%E5%9B%9B%E3%80%81aws%E4%B8%8A%E9%83%A8%E7%BD%B2panorama%E5%AE%9E%E4%BE%8B">&#x56DB;&#x3001;AWS&#x4E0A;&#x90E8;&#x7F72;Panorama&#x5B9E;&#x4F8B;</h2>
<p>&#x641C;&#x7D22;Panorama&#x5173;&#x952E;&#x8BCD;&#xFF0C;&#x70B9;&#x51FB;&#x300C;&#x4E9A;&#x9A6C;&#x900A;&#x4E91;&#x79D1;&#x6280;Marketplace AMI&#x300D;&#x8FC7;&#x6EE4;&#xFF0C;&#x9009;&#x62E9;Panorama&#x7684;&#x955C;&#x50CF;&#x542F;&#x52A8;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131112225465.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Panorama&#x81F3;&#x5C11;&#x9700;&#x8981;16vCPU&#xFF0C;32GB&#x5185;&#x5B58;&#x3002;&#x8FD9;&#x4E2A;AMI&#x8BBE;&#x7F6E;&#x4E86;&#x5141;&#x8BB8;&#x7684;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#xFF0C;&#x968F;&#x610F;&#x9009;&#x62E9;&#x5B9E;&#x4F8B;&#x7C7B;&#x578B;&#x53EF;&#x80FD;&#x4E0D;&#x53D7;&#x652F;&#x6301;&#xFF0C;&#x4ECE;&#x800C;&#x542F;&#x52A8;&#x5931;&#x8D25;&#xFF0C;&#x63A8;&#x8350;&#x4F7F;&#x7528;<code>m4.4xlarge</code>&#x5B9E;&#x4F8B;&#x5373;&#x53EF;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131110928855.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x9009;&#x62E9;EC2&#x5BC6;&#x94A5;&#xFF0C;&#x653E;&#x7F6E;&#x5728;SecVpc&#x7684;&#x516C;&#x6709;&#x5B50;&#x7F51;&#xFF0C;&#x542F;&#x52A8;<strong>&#x81EA;&#x52A8;&#x83B7;&#x53D6;&#x516C;&#x7F51;IP&#x5730;&#x5740;</strong>&#xFF0C;&#x9009;&#x62E9;&#x73B0;&#x6709;&#x5B89;&#x5168;&#x7EC4;&#x3002;&#x6DFB;&#x52A0;&#x4E00;&#x5757;2TB&#x7684;&#x5B58;&#x50A8;&#x5377;&#xFF0C;&#x7528;&#x4E8E;&#x5B58;&#x50A8;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x3002;&#x6700;&#x540E;&#x542F;&#x52A8;&#x5B9E;&#x4F8B;&#xFF0C;Panorama&#x9996;&#x6B21;&#x542F;&#x52A8;&#x975E;&#x5E38;&#x6162;&#xFF0C;&#x5927;&#x6982;&#x9700;&#x8981;20&#x5206;&#x949F;&#x624D;&#x4F1A;&#x5B8C;&#x6210;&#x542F;&#x52A8;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131110934839.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x4F7F;&#x7528;EC2&#x5BC6;&#x94A5;&#x767B;&#x5F55;Panorama&#x9632;&#x706B;&#x5899;&#xFF0C;&#x4FEE;&#x6539;<code>admin</code>&#x7528;&#x6237;&#x7684;&#x5BC6;&#x7801;&#x3002;</p>
<pre><code>admin@Panorama&gt; configure
Entering configuration mode
[edit]
admin@Panorama# set mgt-config users admin password
Enter password   :
Confirm password :

[edit]
admin@Panorama# commit
</code></pre>
<h2 id="%E4%BA%94%E3%80%81panorama%E4%B8%8Epaloalto%E6%BF%80%E6%B4%BB">&#x4E94;&#x3001;Panorama&#x4E0E;Paloalto&#x6FC0;&#x6D3B;</h2>
<p>&#x767B;&#x5F55;Paloalto&#x7F51;&#x9875;&#xFF1A;<a href="https://support.paloaltonetworks.com/SupportAccount/FirewallFlexDashboard%EF%BC%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%E6%8E%88%E6%9D%83%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E3%80%82?ref=liuqianglong.com">https://support.paloaltonetworks.com/SupportAccount/FirewallFlexDashboard&#xFF0C;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x6388;&#x6743;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;</a></p>
<p>CN-Series&#x662F;&#x5404;&#x7C7B;&#x5BB9;&#x5668;&#x4E0E;&#x5BB9;&#x5668;&#x7BA1;&#x7406;&#x5E73;&#x53F0;&#x4E2D;&#x7684;&#x5BB9;&#x5668;&#x7248;&#x672C;&#x9632;&#x706B;&#x5899;&#x3002;</p>
<p>Flexible vCPUs&#x4F1A;&#x6839;&#x636E;&#x7CFB;&#x7EDF;&#x5206;&#x914D;&#x7684;vCPU&#x548C;&#x5185;&#x5B58;&#xFF0C;&#x6765;&#x51B3;&#x5B9A;&#x9632;&#x706B;&#x5899;&#x7684;&#x578B;&#x53F7;&#x3002;</p>
<p>&#x52FE;&#x9009;<code>For Management</code>&#x8868;&#x793A;&#x4F7F;&#x7528;Panorama&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131145107662.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x751F;&#x6210;Panorama&#x7684;&#x5E8F;&#x5217;&#x53F7;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131145102468.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x8F93;&#x5165;&#x5E8F;&#x5217;&#x53F7;&#xFF0C;&#x6FC0;&#x6D3B;Panorama&#x3002;&#x6FC0;&#x6D3B;&#x4F1A;&#x91CD;&#x542F;Panorama&#xFF0C;&#x9700;&#x8981;&#x7B49;&#x5F85;5&#x5206;&#x949F;&#x5DE6;&#x53F3;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131145630466.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Panorama&#x6FC0;&#x6D3B;&#x6210;&#x529F;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131155953522.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Paloalto&#x9632;&#x706B;&#x5899;&#x6FC0;&#x6D3B;&#x6210;&#x529F;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131160029141.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<h2 id="%E5%85%AD%E3%80%81panorama%E7%89%88%E6%9C%AC%E5%8D%87%E7%BA%A7">&#x516D;&#x3001;Panorama&#x7248;&#x672C;&#x5347;&#x7EA7;</h2>
<p>Panorama&#x8BBE;&#x7F6E;&#x66F4;&#x65B0;&#x670D;&#x52A1;&#x5668;&#x57DF;&#x540D;&#x3001;DNS&#x670D;&#x52A1;&#x5668;&#x3001;NTP&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x8BBE;&#x7F6E;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x70B9;&#x51FB;&#x53F3;&#x4E0A;&#x89D2;Commit&#x63D0;&#x4EA4;&#x914D;&#x7F6E;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131172429485.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Panorama&#x5347;&#x7EA7;&#x4E4B;&#x524D;&#x9700;&#x8981;&#x66F4;&#x65B0;&#x5E94;&#x7528;&#x5E93;&#x3002;&#x8FD9;&#x91CC;&#x68C0;&#x67E5;&#x66F4;&#x65B0;&#x4E5F;&#x9700;&#x8981;&#x82B1;&#x8D39;&#x8F83;&#x957F;&#x65F6;&#x95F4;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131170058297.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Panorama&#x5347;&#x7EA7;&#x5230;&#x4E0E;Paloalto&#x9632;&#x706B;&#x5899;&#x76F8;&#x540C;&#x7248;&#x672C;&#x3002;&#x4E0B;&#x8F7D;&#x6BD4;&#x8F83;&#x5FEB;&#xFF0C;&#x5B89;&#x88C5;&#x9700;&#x8981;&#x7B49;&#x5F85;&#x8F83;&#x957F;&#x65F6;&#x95F4;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131155400536.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Panorama&#x5347;&#x7EA7;&#x5B8C;&#x6210;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131170030113.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<h2 id="%E4%B8%83%E3%80%81panorama%E6%B7%BB%E5%8A%A0paloalto%E9%98%B2%E7%81%AB%E5%A2%99">&#x4E03;&#x3001;Panorama&#x6DFB;&#x52A0;Paloalto&#x9632;&#x706B;&#x5899;</h2>
<p>&#x5728;&#x4E24;&#x53F0;Paloalto&#x9632;&#x706B;&#x5899;&#x4E0A;&#xFF0C;&#x914D;&#x7F6E;DNS&#x670D;&#x52A1;&#x5668;&#x548C;NTP&#x670D;&#x52A1;&#x5668;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230103155723586.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x9632;&#x706B;&#x5899;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;CLI&#x67E5;&#x770B;NTP&#x540C;&#x6B65;&#x72B6;&#x6001;&#x3002;</p>
<pre><code>admin@PA1&gt; show ntp

NTP state:
    NTP synched to ntp1.aliyun.com
    NTP server: ntp1.aliyun.com
        status: synched
        reachable: yes
        authentication-type: none
    NTP server: ntp2.aliyun.com
        status: available
        reachable: yes
        authentication-type: none
</code></pre>
<p>&#x5728;Panorama&#x4E0A;&#x6DFB;&#x52A0;Paloalto&#x9632;&#x706B;&#x5899;&#xFF0C;&#x8F93;&#x5165;&#x4E24;&#x53F0;&#x9632;&#x706B;&#x5899;&#x7684;&#x5E8F;&#x5217;&#x53F7;&#x4E4B;&#x540E;&#xFF0C;&#x62F7;&#x8D1D;&#x8BA4;&#x8BC1;&#x5BC6;&#x94A5;&#xFF0C;&#x6700;&#x540E;&#x63D0;&#x4EA4;&#x914D;&#x7F6E;&#x5230;Panorama&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131173933740.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x5728;&#x4E24;&#x53F0;Paloalto&#x9632;&#x706B;&#x5899;&#x4E0A;&#x6DFB;&#x52A0;Panorama&#x7684;IP&#x5730;&#x5740;&#xFF0C;&#x4EE5;&#x53CA;&#x8BA4;&#x8BC1;&#x5BC6;&#x94A5;&#x4FE1;&#x606F;&#xFF0C;&#x6700;&#x540E;&#x63D0;&#x4EA4;&#x914D;&#x7F6E;&#x5230;Paloalto&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131173938840.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Panorama&#x4E0A;&#x6DFB;&#x52A0;&#x6210;&#x529F;&#x6DFB;&#x52A0;Paloalto&#x9632;&#x706B;&#x5899;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-aws-setup/image-20230131174036445.png" alt="Panorama&#x7CFB;&#x5217;--(2)AWS&#x4E0A;&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<h2 id="%E5%85%AB%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x516B;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>Panorama Administrator&apos;s Guide &#xFF1A;<a href="https://docs.paloaltonetworks.com/panorama/10-2/panorama-admin?ref=liuqianglong.com">https://docs.paloaltonetworks.com/panorama/10-2/panorama-admin</a></li>
<li>PAN-OS Administrator&apos;s Guide&#xFF1A;<a href="https://docs.paloaltonetworks.com/pan-os/10-2/pan-os-admin?ref=liuqianglong.com">https://docs.paloaltonetworks.com/pan-os/10-2/pan-os-admin</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Panorama系列--(1)EVE-NG搭建Panorama测试环境]]></title><description><![CDATA[<p>&#x8FD9;&#x7BC7;&#x6587;&#x6863;&#x4ECB;&#x7ECD;&#x5982;&#x4F55;&#x5229;&#x7528;EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9">&#x4E00;&#x3001;&#x6CE8;&#x610F;&#x4E8B;&#x9879;</h2>
<ul>
<li>EVE-NG&#x7684;&#x4F4E;&#x7248;&#x672C;&#x4E0D;&#x652F;&#x6301;Panorama&#x955C;&#x50CF;&#xFF0C;&#x4F8B;&#x5982;<code>2.0.3-86</code>&#x7248;&#x672C;&#x5C31;&#x4E0D;&#x652F;&#x6301;&#x3002;&#x8FD9;</li></ul>]]></description><link>https://liuqianglong.com/panorama-series-1-eve-ng-test-environment/</link><guid isPermaLink="false">66ae4fab96274ebdd20509b4</guid><category><![CDATA[Paloalto]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Network]]></category><dc:creator><![CDATA[Liu Qianglong]]></dc:creator><pubDate>Thu, 09 Feb 2023 10:00:00 GMT</pubDate><media:content url="https://liuqianglong.com/content/images/2024/08/panorama-eve-ng.png" medium="image"/><content:encoded><![CDATA[<img src="https://liuqianglong.com/content/images/2024/08/panorama-eve-ng.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;"><p>&#x8FD9;&#x7BC7;&#x6587;&#x6863;&#x4ECB;&#x7ECD;&#x5982;&#x4F55;&#x5229;&#x7528;EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;&#x3002;</p>
<h2 id="%E4%B8%80%E3%80%81%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9">&#x4E00;&#x3001;&#x6CE8;&#x610F;&#x4E8B;&#x9879;</h2>
<ul>
<li>EVE-NG&#x7684;&#x4F4E;&#x7248;&#x672C;&#x4E0D;&#x652F;&#x6301;Panorama&#x955C;&#x50CF;&#xFF0C;&#x4F8B;&#x5982;<code>2.0.3-86</code>&#x7248;&#x672C;&#x5C31;&#x4E0D;&#x652F;&#x6301;&#x3002;&#x8FD9;&#x91CC;&#x5B9E;&#x9A8C;&#x73AF;&#x5883;&#x4F7F;&#x7528;&#x7684;&#x662F;&#x7248;&#x672C;&#x662F;<code>5.0.1-13-Community</code>&#xFF0C;&#x4E0B;&#x8F7D;&#x94FE;&#x63A5;&#xFF1A;<a href="https://www.eve-ng.net/index.php/download/?ref=liuqianglong.com#DL-COMM%E3%80%82">https://www.eve-ng.net/index.php/download/#DL-COMM&#x3002;</a></li>
<li>Panorama&#x4E0E;Paloalto&#x9632;&#x706B;&#x5899;&#x7248;&#x672C;&#x9700;&#x8981;&#x4FDD;&#x6301;&#x4E00;&#x81F4;&#xFF0C;&#x6216;&#x8005;Panorama&#x9AD8;&#x4E8E;Paloalto&#x9632;&#x706B;&#x5899;&#x7684;&#x7248;&#x672C;&#x3002;&#x8FD9;&#x91CC;&#x5B9E;&#x9A8C;&#x73AF;&#x5883;Panorama&#x4E0E;Paloalto&#x90FD;&#x662F;&#x7528;<code>10.2.0</code>&#x7248;&#x672C;&#x3002;&#x53E6;&#x5916;&#x6D4B;&#x8BD5;&#x65F6;&#x53D1;&#x73B0;Paloalto&#x9632;&#x706B;&#x5899;<code>10.2.3</code>&#x7248;&#x672C;&#x5728;EVE-NG&#x73AF;&#x5883;&#x4E2D;&#x9700;&#x8981;&#x7F16;&#x8F91;&#x8282;&#x70B9;&#xFF0C;&#x5728;&#x201C;QEMU custom options&#x201D;&#x4E2D;&#x6DFB;&#x52A0;&#x201C;-cpu host&#x201D;&#x53C2;&#x6570;&#x624D;&#x80FD;&#x542F;&#x52A8;&#x3002;</li>
<li>Paloalto&#x9632;&#x706B;&#x5899;&#x5728;&#x672A;&#x6FC0;&#x6D3B;&#x7684;&#x60C5;&#x51B5;&#x4E5F;&#x53EF;&#x4EE5;&#x6D4B;&#x8BD5;&#x5927;&#x90E8;&#x5206;&#x529F;&#x80FD;&#xFF0C;&#x4F46;&#x662F;Panorama&#x4E0D;&#x6FC0;&#x6D3B;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x65E0;&#x6CD5;&#x7BA1;&#x7406;Paloalto&#x9632;&#x706B;&#x5899;&#x3002;</li>
</ul>
<h2 id="%E4%BA%8C%E3%80%81%E4%B8%8B%E8%BD%BDpanorama%E4%B8%8Epaloalto%E9%95%9C%E5%83%8F">&#x4E8C;&#x3001;&#x4E0B;&#x8F7D;Panorama&#x4E0E;Paloalto&#x955C;&#x50CF;</h2>
<p>&#x4E0B;&#x8F7D;Panorama&#x4E0E;Paloalto&#x955C;&#x50CF;&#x6587;&#x4EF6;&#xFF0C;&#x9700;&#x8981;&#x62E5;&#x6709;Paloalto&#x8D26;&#x53F7;&#xFF0C;&#x767B;&#x5F55;<a href="https://support.paloaltonetworks.com/Updates?ref=liuqianglong.com">https://support.paloaltonetworks.com/Updates</a> &#x540E;&#x4E0B;&#x8F7D;&#x5BF9;&#x5E94;&#x7684;&#x955C;&#x50CF;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x4E0B;&#x8F7D;Paloalto&#x9632;&#x706B;&#x5899;<code>10.2.0</code>&#x7248;&#x672C;&#x7684;&#x955C;&#x50CF;&#x6587;&#x4EF6;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110180541499.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x4E0B;&#x8F7D;Panorama<code>10.2.0</code>&#x7248;&#x672C;&#x7684;&#x955C;&#x50CF;&#x6587;&#x4EF6;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110180551984.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<h2 id="%E4%B8%89%E3%80%81eve-ng-%E5%AF%BC%E5%85%A5paloalto%E4%B8%8Epanorama%E9%95%9C%E5%83%8F">&#x4E09;&#x3001;EVE-NG &#x5BFC;&#x5165;Paloalto&#x4E0E;Panorama&#x955C;&#x50CF;</h2>
<p>&#x901A;&#x8FC7;WinSCP&#x8F6F;&#x4EF6;&#x8FDE;&#x63A5;EVE-NG&#xFF0C;&#x5C06;&#x4E0B;&#x8F7D;&#x7684;&#x955C;&#x50CF;&#x6587;&#x4EF6;&#x4E0A;&#x4F20;&#x5230;EVE-NG&#x4E2D;&#xFF0C;&#x8FD9;&#x91CC;&#x5148;&#x5B58;&#x653E;&#x5230;&#x4E34;&#x65F6;&#x76EE;&#x5F55;<code>/root/temp</code>&#x4E2D;&#x3002;</p>
<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110201656959.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" style="zoom:50%;">
<p>EVE-NG&#x6DFB;&#x52A0;Paloalto&#x9632;&#x706B;&#x5899;&#x7684;&#x6B65;&#x9AA4;&#x3002;</p>
<pre><code># &#x67E5;&#x770B;&#x955C;&#x50CF;&#x6587;&#x4EF6;
root@eve-ng:~/temp# ls
Panorama-KVM-10.2.0.qcow2  PA-VM-KVM-10.2.0.qcow2

# &#x521B;&#x5EFA;&#x6587;&#x4EF6;&#x5939;
root@eve-ng:~/temp# mkdir /opt/unetlab/addons/qemu/paloalto-10.2.0/

# &#x8FDB;&#x5165;&#x6587;&#x4EF6;&#x5939;
root@eve-ng:~/temp# cd /opt/unetlab/addons/qemu/paloalto-10.2.0/

# &#x79FB;&#x52A8;&#x955C;&#x50CF;&#x6587;&#x4EF6;
root@eve-ng:/opt/unetlab/addons/qemu/paloalto-10.2.0# mv /root/temp/PA-VM-KVM-10.2.0.qcow2 virtioa.qcow2

# &#x67E5;&#x770B;&#x955C;&#x50CF;&#x6587;&#x4EF6;
root@eve-ng:/opt/unetlab/addons/qemu/paloalto-10.2.0# ls
virtioa.qcow2

# &#x4FEE;&#x590D;&#x6743;&#x9650;
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
</code></pre>
<p>EVE-NG&#x6DFB;&#x52A0;Panorama&#x7684;&#x6B65;&#x9AA4;&#x3002;</p>
<pre><code># &#x4E3A;panorama&#x955C;&#x50CF;&#x521B;&#x5EFA;&#x6587;&#x4EF6;&#x5939;
root@eve-ng:~# mkdir /opt/unetlab/addons/qemu/panorama-10.2.0

# &#x8FDB;&#x5165;&#x6587;&#x4EF6;&#x5939;
root@eve-ng:~# cd /opt/unetlab/addons/qemu/panorama-10.2.0/

# &#x79FB;&#x52A8;&#x955C;&#x50CF;&#x6587;&#x4EF6;
mv /root/temp/Panorama-KVM-10.2.0.qcow2 virtioa.qcow2 

# &#x4E3A;panorama&#x6DFB;&#x52A0;&#x65E5;&#x5FD7;&#x786C;&#x76D8;
root@eve-ng:/opt/unetlab/addons/qemu/panorama-10.2.0# /opt/qemu/bin/qemu-img create -f qcow2 virtiob.qcow2 100G
Formatting &apos;virtiob.qcow2&apos;, fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16

# &#x4FEE;&#x590D;&#x6743;&#x9650;
root@eve-ng:/opt/unetlab/addons/qemu/panorama-10.2.0# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
</code></pre>
<p>&#x5728;EVE-NG&#x4E2D;&#x67E5;&#x770B;&#x8282;&#x70B9;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230109212453086.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x521B;&#x5EFA;&#x4E00;&#x4E2A;Panorama&#xFF0C;CPU&#x4E3A;16&#xFF0C;RAM&#x4E3A;32768&#xFF08;32GB&#xFF09;&#xFF0C;&#x5982;&#x679C;&#x5C0F;&#x4E8E;&#x8FD9;&#x4E2A;&#x6570;&#x503C;&#xFF0C;&#x542F;&#x52A8;&#x540E;&#x4F1A;&#x6709;&#x544A;&#x8B66;&#x63D0;&#x793A;&#x3002;</p>
<p>&#x521B;&#x5EFA;&#x4E24;&#x4E2A;Paloalto&#x9632;&#x706B;&#x5899;&#xFF0C;CPU&#x4E3A;2&#xFF0C;RAM&#x4E3A;6144&#xFF08;6GB&#xFF09;&#xFF0C;&#x5982;&#x679C;&#x5185;&#x5B58;&#x5C0F;&#x4E8E;5.5GB&#xFF0C;&#x5C06;&#x65E0;&#x6CD5;&#x542F;&#x52A8;&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110202918660.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x9ED8;&#x8BA4;Panorama&#x548C;&#x9632;&#x706B;&#x5899;&#x7684;&#x7BA1;&#x7406;&#x53E3;&#x4F1A;&#x901A;&#x8FC7;DHCP&#x83B7;&#x53D6;&#x5730;&#x5740;&#xFF0C;&#x5982;&#x679C;&#x60F3;&#x8981;&#x624B;&#x52A8;&#x914D;&#x7F6E;&#x9759;&#x6001;IP&#x5730;&#x5740;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x5982;&#x4E0B;&#x547D;&#x4EE4;&#x914D;&#x7F6E;&#x3002;</p>
<pre><code>set deviceconfig system type static
set deviceconfig system ip-address 10.1.1.1 netmask 255.255.255.0 default-gateway 10.1.1.254 dns-setting servers primary 114.114.114.114
</code></pre>
<p>Panorama&#x542F;&#x52A8;&#x540E;&#x521D;&#x59CB;&#x5316;&#x622A;&#x56FE;&#xFF0C;&#x9ED8;&#x8BA4;&#x7684;&#x7528;&#x6237;&#x540D;&#x548C;&#x5BC6;&#x7801;&#x90FD;&#x662F;<code>admin</code>&#x3002;</p>
<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110210337292.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" style="zoom:50%;">
<p>Paloalto2&#x9632;&#x706B;&#x5899;&#x542F;&#x52A8;&#x540E;&#x521D;&#x59CB;&#x5316;&#x622A;&#x56FE;&#xFF0C;&#x9ED8;&#x8BA4;&#x7684;&#x7528;&#x6237;&#x540D;&#x548C;&#x5BC6;&#x7801;&#x90FD;&#x662F;<code>admin</code>&#x3002;</p>
<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110211036736.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" style="zoom:50%;">
<h2 id="%E5%9B%9B%E3%80%81panorama%E4%B8%8Epaloalto%E6%BF%80%E6%B4%BB%E5%B9%B6%E6%B7%BB%E5%8A%A0%E7%AE%A1%E7%90%86">&#x56DB;&#x3001;Panorama&#x4E0E;Paloalto&#x6FC0;&#x6D3B;&#x5E76;&#x6DFB;&#x52A0;&#x7BA1;&#x7406;</h2>
<p>&#x767B;&#x5F55;Paloalto&#x7F51;&#x9875;&#xFF1A;<a href="https://support.paloaltonetworks.com/SupportAccount/FirewallFlexDashboard%EF%BC%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%E6%8E%88%E6%9D%83%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E3%80%82?ref=liuqianglong.com">https://support.paloaltonetworks.com/SupportAccount/FirewallFlexDashboard&#xFF0C;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x6388;&#x6743;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x3002;</a></p>
<p>CN-Series&#x662F;&#x5404;&#x7C7B;&#x5BB9;&#x5668;&#x4E0E;&#x5BB9;&#x5668;&#x7BA1;&#x7406;&#x5E73;&#x53F0;&#x4E2D;&#x7684;&#x5BB9;&#x5668;&#x7248;&#x672C;&#x9632;&#x706B;&#x5899;&#x3002;</p>
<p>Flexible vCPUs&#x4F1A;&#x6839;&#x636E;&#x7CFB;&#x7EDF;&#x5206;&#x914D;&#x7684;vCPU&#x548C;&#x5185;&#x5B58;&#xFF0C;&#x6765;&#x51B3;&#x5B9A;&#x9632;&#x706B;&#x5899;&#x7684;&#x578B;&#x53F7;&#x3002;</p>
<p>&#x52FE;&#x9009;<code>For Management</code>&#x8868;&#x793A;&#x4F7F;&#x7528;Panorama&#x3002;</p>
<p><img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110205428763.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x751F;&#x6210;Panorama&#x7684;&#x5E8F;&#x5217;&#x53F7;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110205935846.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x8F93;&#x5165;&#x5E8F;&#x5217;&#x53F7;&#xFF0C;&#x6FC0;&#x6D3B;Panorama&#x3002;&#x6FC0;&#x6D3B;&#x4F1A;&#x91CD;&#x542F;Panorama&#xFF0C;&#x9700;&#x8981;&#x7B49;&#x5F85;&#x8F83;&#x957F;&#x65F6;&#x95F4;&#xFF0C;&#x5982;&#x679C;&#x957F;&#x65F6;&#x95F4;&#x6CA1;&#x6709;&#x542F;&#x52A8;&#x6210;&#x529F;&#xFF0C;&#x53EF;&#x4EE5;&#x5728;EVE-NG&#x4E2D;Stop&#x865A;&#x62DF;&#x673A;&#xFF0C;&#x7136;&#x540E;&#x91CD;&#x65B0;Start&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110212745017.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x5728;Paloalto1&#x548C;Paloalto2&#x9632;&#x706B;&#x5899;&#x4E0A;&#xFF0C;&#x8F93;&#x5165;&#x6FC0;&#x6D3B;&#x7801;&#xFF0C;&#x6FC0;&#x6D3B;&#x9632;&#x706B;&#x5899;&#x3002;&#x6FC0;&#x6D3B;&#x4F1A;&#x91CD;&#x542F;Paloalto&#x9632;&#x706B;&#x5899;&#xFF0C;&#x9700;&#x8981;&#x7B49;&#x5F85;&#x8F83;&#x957F;&#x65F6;&#x95F4;&#xFF0C;&#x5982;&#x679C;&#x957F;&#x65F6;&#x95F4;&#x6CA1;&#x6709;&#x542F;&#x52A8;&#x6210;&#x529F;&#xFF0C;&#x53EF;&#x4EE5;&#x5728;EVE-NG&#x4E2D;Stop&#x865A;&#x62DF;&#x673A;&#xFF0C;&#x7136;&#x540E;&#x91CD;&#x65B0;Start&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110213019556.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Panorama&#x6FC0;&#x6D3B;&#x6210;&#x529F;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110215044426.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>Paloalto&#x9632;&#x706B;&#x5899;&#x6FC0;&#x6D3B;&#x6210;&#x529F;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110215053502.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x5728;Panorama&#x4E0A;&#x6DFB;&#x52A0;Paloalto&#x9632;&#x706B;&#x5899;&#xFF0C;&#x8F93;&#x5165;&#x4E24;&#x53F0;&#x9632;&#x706B;&#x5899;&#x7684;&#x5E8F;&#x5217;&#x53F7;&#x4E4B;&#x540E;&#xFF0C;&#x62F7;&#x8D1D;&#x8BA4;&#x8BC1;&#x5BC6;&#x94A5;&#xFF0C;&#x6700;&#x540E;&#x63D0;&#x4EA4;&#x914D;&#x7F6E;&#x5230;Panorama&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110221522873.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x5728;Paloalto1&#x9632;&#x706B;&#x5899;&#x4E0A;&#x6DFB;&#x52A0;Panorama&#x7684;IP&#x5730;&#x5740;&#xFF0C;&#x4EE5;&#x53CA;&#x8BA4;&#x8BC1;&#x5BC6;&#x94A5;&#x4FE1;&#x606F;&#xFF0C;&#x6700;&#x540E;&#x63D0;&#x4EA4;&#x914D;&#x7F6E;&#x5230;Paloalto&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110221824948.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<p>&#x5728;Panorama&#x4E0A;&#x67E5;&#x770B;&#x8FDE;&#x63A5;&#x72B6;&#x6001;&#x3002;<img src="https://liuqianglong.com/content/images/mypost/panorama-eve-ng/image-20230110225525242.png" alt="Panorama&#x7CFB;&#x5217;--(1)EVE-NG&#x642D;&#x5EFA;Panorama&#x6D4B;&#x8BD5;&#x73AF;&#x5883;" loading="lazy"></p>
<h2 id="%E4%BA%94%E3%80%81%E6%96%87%E6%A1%A3%E9%93%BE%E6%8E%A5">&#x4E94;&#x3001;&#x6587;&#x6863;&#x94FE;&#x63A5;</h2>
<ul>
<li>Panorama Administrator&apos;s Guide &#xFF1A;<a href="https://docs.paloaltonetworks.com/panorama/10-2/panorama-admin?ref=liuqianglong.com">https://docs.paloaltonetworks.com/panorama/10-2/panorama-admin</a></li>
<li>EVE-NG &#x4E0B;&#x8F7D;&#xFF1A;<a href="https://www.eve-ng.net/index.php/download/?ref=liuqianglong.com#DL-COMM">https://www.eve-ng.net/index.php/download/#DL-COMM</a></li>
<li>EVE-NG&#x5BFC;&#x5165;Paloalto&#xFF1A;<a href="https://www.eve-ng.net/index.php/documentation/howtos/howto-add-palo-alto/?ref=liuqianglong.com">https://www.eve-ng.net/index.php/documentation/howtos/howto-add-palo-alto/</a></li>
<li>EVE-NG&#x5BFC;&#x5165;Panorama&#xFF1A;<a href="https://www.eve-ng.net/index.php/documentation/howtos/palo-panorama/?ref=liuqianglong.com">https://www.eve-ng.net/index.php/documentation/howtos/palo-panorama/</a></li>
<li>EVE-NG&#x955C;&#x50CF;&#x547D;&#x540D;&#xFF1A;<a href="https://www.eve-ng.net/index.php/documentation/qemu-image-namings/?ref=liuqianglong.com">https://www.eve-ng.net/index.php/documentation/qemu-image-namings/</a></li>
<li>Paloalto&#x4E0B;&#x8F7D;&#x955C;&#x50CF;&#x6587;&#x4EF6;&#xFF1A;<a href="https://support.paloaltonetworks.com/Updates?ref=liuqianglong.com">https://support.paloaltonetworks.com/Updates</a></li>
</ul>
]]></content:encoded></item></channel></rss>