整体架构

#mermaid-svg-ON8oZJjAaCC8MQPU .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .label text{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .node rect,#mermaid-svg-ON8oZJjAaCC8MQPU .node circle,#mermaid-svg-ON8oZJjAaCC8MQPU .node ellipse,#mermaid-svg-ON8oZJjAaCC8MQPU .node polygon,#mermaid-svg-ON8oZJjAaCC8MQPU .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-ON8oZJjAaCC8MQPU .node .label{text-align:center;fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .node.clickable{cursor:pointer}#mermaid-svg-ON8oZJjAaCC8MQPU .arrowheadPath{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-ON8oZJjAaCC8MQPU .flowchart-link{stroke:#333;fill:none}#mermaid-svg-ON8oZJjAaCC8MQPU .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-ON8oZJjAaCC8MQPU .edgeLabel rect{opacity:0.9}#mermaid-svg-ON8oZJjAaCC8MQPU .edgeLabel span{color:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-ON8oZJjAaCC8MQPU .cluster text{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-ON8oZJjAaCC8MQPU .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-ON8oZJjAaCC8MQPU text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-ON8oZJjAaCC8MQPU .actor-line{stroke:grey}#mermaid-svg-ON8oZJjAaCC8MQPU .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-ON8oZJjAaCC8MQPU #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .sequenceNumber{fill:#fff}#mermaid-svg-ON8oZJjAaCC8MQPU #sequencenumber{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU #crosshead path{fill:#333;stroke:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .messageText{fill:#333;stroke:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-ON8oZJjAaCC8MQPU .labelText,#mermaid-svg-ON8oZJjAaCC8MQPU .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-ON8oZJjAaCC8MQPU .loopText,#mermaid-svg-ON8oZJjAaCC8MQPU .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-ON8oZJjAaCC8MQPU .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-ON8oZJjAaCC8MQPU .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-ON8oZJjAaCC8MQPU .noteText,#mermaid-svg-ON8oZJjAaCC8MQPU .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-ON8oZJjAaCC8MQPU .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-ON8oZJjAaCC8MQPU .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-ON8oZJjAaCC8MQPU .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-ON8oZJjAaCC8MQPU .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .section{stroke:none;opacity:0.2}#mermaid-svg-ON8oZJjAaCC8MQPU .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-ON8oZJjAaCC8MQPU .section2{fill:#fff400}#mermaid-svg-ON8oZJjAaCC8MQPU .section1,#mermaid-svg-ON8oZJjAaCC8MQPU .section3{fill:#fff;opacity:0.2}#mermaid-svg-ON8oZJjAaCC8MQPU .sectionTitle0{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .sectionTitle1{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .sectionTitle2{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .sectionTitle3{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-ON8oZJjAaCC8MQPU .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .grid path{stroke-width:0}#mermaid-svg-ON8oZJjAaCC8MQPU .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-ON8oZJjAaCC8MQPU .task{stroke-width:2}#mermaid-svg-ON8oZJjAaCC8MQPU .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .taskText:not([font-size]){font-size:11px}#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-ON8oZJjAaCC8MQPU .task.clickable{cursor:pointer}#mermaid-svg-ON8oZJjAaCC8MQPU .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-ON8oZJjAaCC8MQPU .taskText0,#mermaid-svg-ON8oZJjAaCC8MQPU .taskText1,#mermaid-svg-ON8oZJjAaCC8MQPU .taskText2,#mermaid-svg-ON8oZJjAaCC8MQPU .taskText3{fill:#fff}#mermaid-svg-ON8oZJjAaCC8MQPU .task0,#mermaid-svg-ON8oZJjAaCC8MQPU .task1,#mermaid-svg-ON8oZJjAaCC8MQPU .task2,#mermaid-svg-ON8oZJjAaCC8MQPU .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutside0,#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutside2{fill:#000}#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutside1,#mermaid-svg-ON8oZJjAaCC8MQPU .taskTextOutside3{fill:#000}#mermaid-svg-ON8oZJjAaCC8MQPU .active0,#mermaid-svg-ON8oZJjAaCC8MQPU .active1,#mermaid-svg-ON8oZJjAaCC8MQPU .active2,#mermaid-svg-ON8oZJjAaCC8MQPU .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-ON8oZJjAaCC8MQPU .activeText0,#mermaid-svg-ON8oZJjAaCC8MQPU .activeText1,#mermaid-svg-ON8oZJjAaCC8MQPU .activeText2,#mermaid-svg-ON8oZJjAaCC8MQPU .activeText3{fill:#000 !important}#mermaid-svg-ON8oZJjAaCC8MQPU .done0,#mermaid-svg-ON8oZJjAaCC8MQPU .done1,#mermaid-svg-ON8oZJjAaCC8MQPU .done2,#mermaid-svg-ON8oZJjAaCC8MQPU .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-ON8oZJjAaCC8MQPU .doneText0,#mermaid-svg-ON8oZJjAaCC8MQPU .doneText1,#mermaid-svg-ON8oZJjAaCC8MQPU .doneText2,#mermaid-svg-ON8oZJjAaCC8MQPU .doneText3{fill:#000 !important}#mermaid-svg-ON8oZJjAaCC8MQPU .crit0,#mermaid-svg-ON8oZJjAaCC8MQPU .crit1,#mermaid-svg-ON8oZJjAaCC8MQPU .crit2,#mermaid-svg-ON8oZJjAaCC8MQPU .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-ON8oZJjAaCC8MQPU .activeCrit0,#mermaid-svg-ON8oZJjAaCC8MQPU .activeCrit1,#mermaid-svg-ON8oZJjAaCC8MQPU .activeCrit2,#mermaid-svg-ON8oZJjAaCC8MQPU .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-ON8oZJjAaCC8MQPU .doneCrit0,#mermaid-svg-ON8oZJjAaCC8MQPU .doneCrit1,#mermaid-svg-ON8oZJjAaCC8MQPU .doneCrit2,#mermaid-svg-ON8oZJjAaCC8MQPU .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-ON8oZJjAaCC8MQPU .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-ON8oZJjAaCC8MQPU .milestoneText{font-style:italic}#mermaid-svg-ON8oZJjAaCC8MQPU .doneCritText0,#mermaid-svg-ON8oZJjAaCC8MQPU .doneCritText1,#mermaid-svg-ON8oZJjAaCC8MQPU .doneCritText2,#mermaid-svg-ON8oZJjAaCC8MQPU .doneCritText3{fill:#000 !important}#mermaid-svg-ON8oZJjAaCC8MQPU .activeCritText0,#mermaid-svg-ON8oZJjAaCC8MQPU .activeCritText1,#mermaid-svg-ON8oZJjAaCC8MQPU .activeCritText2,#mermaid-svg-ON8oZJjAaCC8MQPU .activeCritText3{fill:#000 !important}#mermaid-svg-ON8oZJjAaCC8MQPU .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-ON8oZJjAaCC8MQPU g.classGroup text .title{font-weight:bolder}#mermaid-svg-ON8oZJjAaCC8MQPU g.clickable{cursor:pointer}#mermaid-svg-ON8oZJjAaCC8MQPU g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-ON8oZJjAaCC8MQPU g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-ON8oZJjAaCC8MQPU .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-ON8oZJjAaCC8MQPU .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-ON8oZJjAaCC8MQPU .dashed-line{stroke-dasharray:3}#mermaid-svg-ON8oZJjAaCC8MQPU #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU .commit-id,#mermaid-svg-ON8oZJjAaCC8MQPU .commit-msg,#mermaid-svg-ON8oZJjAaCC8MQPU .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-ON8oZJjAaCC8MQPU g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-ON8oZJjAaCC8MQPU g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-ON8oZJjAaCC8MQPU g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-ON8oZJjAaCC8MQPU .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-ON8oZJjAaCC8MQPU .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-ON8oZJjAaCC8MQPU .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-ON8oZJjAaCC8MQPU .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-ON8oZJjAaCC8MQPU .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-ON8oZJjAaCC8MQPU .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-ON8oZJjAaCC8MQPU .edgeLabel text{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ON8oZJjAaCC8MQPU .node circle.state-start{fill:black;stroke:black}#mermaid-svg-ON8oZJjAaCC8MQPU .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-ON8oZJjAaCC8MQPU #statediagram-barbEnd{fill:#9370db}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-state .divider{stroke:#9370db}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-ON8oZJjAaCC8MQPU .note-edge{stroke-dasharray:5}#mermaid-svg-ON8oZJjAaCC8MQPU .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-ON8oZJjAaCC8MQPU .error-icon{fill:#522}#mermaid-svg-ON8oZJjAaCC8MQPU .error-text{fill:#522;stroke:#522}#mermaid-svg-ON8oZJjAaCC8MQPU .edge-thickness-normal{stroke-width:2px}#mermaid-svg-ON8oZJjAaCC8MQPU .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-ON8oZJjAaCC8MQPU .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-ON8oZJjAaCC8MQPU .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-ON8oZJjAaCC8MQPU .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-ON8oZJjAaCC8MQPU .marker{fill:#333}#mermaid-svg-ON8oZJjAaCC8MQPU .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-ON8oZJjAaCC8MQPU {color: rgba(0, 0, 0, 0.75);font: ;}

电脑A
服务器
互联网

整体架构说明

为电脑 A 提供透明代理
服务器拥有 eth1 网卡与电脑 A 连接
服务器拥有 eth0 网卡可以连接互联网

服务器架构

#mermaid-svg-vTkUfqfKbiJ9ukil .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .label text{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .node rect,#mermaid-svg-vTkUfqfKbiJ9ukil .node circle,#mermaid-svg-vTkUfqfKbiJ9ukil .node ellipse,#mermaid-svg-vTkUfqfKbiJ9ukil .node polygon,#mermaid-svg-vTkUfqfKbiJ9ukil .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-vTkUfqfKbiJ9ukil .node .label{text-align:center;fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .node.clickable{cursor:pointer}#mermaid-svg-vTkUfqfKbiJ9ukil .arrowheadPath{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-vTkUfqfKbiJ9ukil .flowchart-link{stroke:#333;fill:none}#mermaid-svg-vTkUfqfKbiJ9ukil .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-vTkUfqfKbiJ9ukil .edgeLabel rect{opacity:0.9}#mermaid-svg-vTkUfqfKbiJ9ukil .edgeLabel span{color:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-vTkUfqfKbiJ9ukil .cluster text{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-vTkUfqfKbiJ9ukil .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-vTkUfqfKbiJ9ukil text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-vTkUfqfKbiJ9ukil .actor-line{stroke:grey}#mermaid-svg-vTkUfqfKbiJ9ukil .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-vTkUfqfKbiJ9ukil #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .sequenceNumber{fill:#fff}#mermaid-svg-vTkUfqfKbiJ9ukil #sequencenumber{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil #crosshead path{fill:#333;stroke:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .messageText{fill:#333;stroke:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-vTkUfqfKbiJ9ukil .labelText,#mermaid-svg-vTkUfqfKbiJ9ukil .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-vTkUfqfKbiJ9ukil .loopText,#mermaid-svg-vTkUfqfKbiJ9ukil .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-vTkUfqfKbiJ9ukil .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-vTkUfqfKbiJ9ukil .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-vTkUfqfKbiJ9ukil .noteText,#mermaid-svg-vTkUfqfKbiJ9ukil .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-vTkUfqfKbiJ9ukil .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-vTkUfqfKbiJ9ukil .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-vTkUfqfKbiJ9ukil .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-vTkUfqfKbiJ9ukil .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .section{stroke:none;opacity:0.2}#mermaid-svg-vTkUfqfKbiJ9ukil .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-vTkUfqfKbiJ9ukil .section2{fill:#fff400}#mermaid-svg-vTkUfqfKbiJ9ukil .section1,#mermaid-svg-vTkUfqfKbiJ9ukil .section3{fill:#fff;opacity:0.2}#mermaid-svg-vTkUfqfKbiJ9ukil .sectionTitle0{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .sectionTitle1{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .sectionTitle2{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .sectionTitle3{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-vTkUfqfKbiJ9ukil .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .grid path{stroke-width:0}#mermaid-svg-vTkUfqfKbiJ9ukil .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-vTkUfqfKbiJ9ukil .task{stroke-width:2}#mermaid-svg-vTkUfqfKbiJ9ukil .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .taskText:not([font-size]){font-size:11px}#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-vTkUfqfKbiJ9ukil .task.clickable{cursor:pointer}#mermaid-svg-vTkUfqfKbiJ9ukil .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-vTkUfqfKbiJ9ukil .taskText0,#mermaid-svg-vTkUfqfKbiJ9ukil .taskText1,#mermaid-svg-vTkUfqfKbiJ9ukil .taskText2,#mermaid-svg-vTkUfqfKbiJ9ukil .taskText3{fill:#fff}#mermaid-svg-vTkUfqfKbiJ9ukil .task0,#mermaid-svg-vTkUfqfKbiJ9ukil .task1,#mermaid-svg-vTkUfqfKbiJ9ukil .task2,#mermaid-svg-vTkUfqfKbiJ9ukil .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutside0,#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutside2{fill:#000}#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutside1,#mermaid-svg-vTkUfqfKbiJ9ukil .taskTextOutside3{fill:#000}#mermaid-svg-vTkUfqfKbiJ9ukil .active0,#mermaid-svg-vTkUfqfKbiJ9ukil .active1,#mermaid-svg-vTkUfqfKbiJ9ukil .active2,#mermaid-svg-vTkUfqfKbiJ9ukil .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-vTkUfqfKbiJ9ukil .activeText0,#mermaid-svg-vTkUfqfKbiJ9ukil .activeText1,#mermaid-svg-vTkUfqfKbiJ9ukil .activeText2,#mermaid-svg-vTkUfqfKbiJ9ukil .activeText3{fill:#000 !important}#mermaid-svg-vTkUfqfKbiJ9ukil .done0,#mermaid-svg-vTkUfqfKbiJ9ukil .done1,#mermaid-svg-vTkUfqfKbiJ9ukil .done2,#mermaid-svg-vTkUfqfKbiJ9ukil .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-vTkUfqfKbiJ9ukil .doneText0,#mermaid-svg-vTkUfqfKbiJ9ukil .doneText1,#mermaid-svg-vTkUfqfKbiJ9ukil .doneText2,#mermaid-svg-vTkUfqfKbiJ9ukil .doneText3{fill:#000 !important}#mermaid-svg-vTkUfqfKbiJ9ukil .crit0,#mermaid-svg-vTkUfqfKbiJ9ukil .crit1,#mermaid-svg-vTkUfqfKbiJ9ukil .crit2,#mermaid-svg-vTkUfqfKbiJ9ukil .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-vTkUfqfKbiJ9ukil .activeCrit0,#mermaid-svg-vTkUfqfKbiJ9ukil .activeCrit1,#mermaid-svg-vTkUfqfKbiJ9ukil .activeCrit2,#mermaid-svg-vTkUfqfKbiJ9ukil .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-vTkUfqfKbiJ9ukil .doneCrit0,#mermaid-svg-vTkUfqfKbiJ9ukil .doneCrit1,#mermaid-svg-vTkUfqfKbiJ9ukil .doneCrit2,#mermaid-svg-vTkUfqfKbiJ9ukil .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-vTkUfqfKbiJ9ukil .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-vTkUfqfKbiJ9ukil .milestoneText{font-style:italic}#mermaid-svg-vTkUfqfKbiJ9ukil .doneCritText0,#mermaid-svg-vTkUfqfKbiJ9ukil .doneCritText1,#mermaid-svg-vTkUfqfKbiJ9ukil .doneCritText2,#mermaid-svg-vTkUfqfKbiJ9ukil .doneCritText3{fill:#000 !important}#mermaid-svg-vTkUfqfKbiJ9ukil .activeCritText0,#mermaid-svg-vTkUfqfKbiJ9ukil .activeCritText1,#mermaid-svg-vTkUfqfKbiJ9ukil .activeCritText2,#mermaid-svg-vTkUfqfKbiJ9ukil .activeCritText3{fill:#000 !important}#mermaid-svg-vTkUfqfKbiJ9ukil .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-vTkUfqfKbiJ9ukil g.classGroup text .title{font-weight:bolder}#mermaid-svg-vTkUfqfKbiJ9ukil g.clickable{cursor:pointer}#mermaid-svg-vTkUfqfKbiJ9ukil g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-vTkUfqfKbiJ9ukil g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-vTkUfqfKbiJ9ukil .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-vTkUfqfKbiJ9ukil .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-vTkUfqfKbiJ9ukil .dashed-line{stroke-dasharray:3}#mermaid-svg-vTkUfqfKbiJ9ukil #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil .commit-id,#mermaid-svg-vTkUfqfKbiJ9ukil .commit-msg,#mermaid-svg-vTkUfqfKbiJ9ukil .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-vTkUfqfKbiJ9ukil g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-vTkUfqfKbiJ9ukil g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-vTkUfqfKbiJ9ukil g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-vTkUfqfKbiJ9ukil .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-vTkUfqfKbiJ9ukil .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-vTkUfqfKbiJ9ukil .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-vTkUfqfKbiJ9ukil .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-vTkUfqfKbiJ9ukil .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-vTkUfqfKbiJ9ukil .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-vTkUfqfKbiJ9ukil .edgeLabel text{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-vTkUfqfKbiJ9ukil .node circle.state-start{fill:black;stroke:black}#mermaid-svg-vTkUfqfKbiJ9ukil .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-vTkUfqfKbiJ9ukil #statediagram-barbEnd{fill:#9370db}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-state .divider{stroke:#9370db}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-vTkUfqfKbiJ9ukil .note-edge{stroke-dasharray:5}#mermaid-svg-vTkUfqfKbiJ9ukil .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-vTkUfqfKbiJ9ukil .error-icon{fill:#522}#mermaid-svg-vTkUfqfKbiJ9ukil .error-text{fill:#522;stroke:#522}#mermaid-svg-vTkUfqfKbiJ9ukil .edge-thickness-normal{stroke-width:2px}#mermaid-svg-vTkUfqfKbiJ9ukil .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-vTkUfqfKbiJ9ukil .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-vTkUfqfKbiJ9ukil .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-vTkUfqfKbiJ9ukil .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-vTkUfqfKbiJ9ukil .marker{fill:#333}#mermaid-svg-vTkUfqfKbiJ9ukil .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-vTkUfqfKbiJ9ukil {color: rgba(0, 0, 0, 0.75);font: ;}

电脑A
redsockets:port
socks5:port
互联网

服务器架构说明

1 为电脑 A 提供透明代理
2 电脑 A 网关指向服务器 eth1
3 利用 iptables 把所有互联网请求 DNS 除外都转发至 redsockets 服务
4 redsockets 可以支持 http, https 代理 (tinyproxy, tproxy 等都无法实现 https 透明代理)
5 redsockets 把电脑 A 请求 (http, https ) 转发至本地 sockets 服务
6 由 socket 服务提供互联网服务

优点

经过测试, 只有 redsockets 支持 https 透明代理
配置简单

rpm下载

由于没有找到可用的 centos7 rpm 版本,因此我自己打了一个 rpm 提供使用
参考下面软件目录结构

redsockets-0.5.0-11.el7.x86_64.rpm 下载链接

rpm 结构说明

# rpm -qlp redsockets-0.5.0-11.el7.x86_64.rpm
/etc/redsockets/redsockets.conf                       配置文件
/usr/bin/redsocks                                     执行明文
/usr/lib/systemd/system/redsockets.service            服务管理文件

软件安装

需求 libevent >= 2.0.21

yum install -y libevent
rpm -ivh redsockets-0.5.0-11.el7.x86_64.rpm

配置文件

/etc/redsockets/redsockets.conf

base {log_debug = off;log_info = off;log =  "syslog:daemon";daemon = on;redirector = iptables;
}
redsocks {/*'local_ip' defaults to 127.0.0.1 for security reasons,use 0.0.0.0 if you want to listen on every interface.*/local_ip = 127.0.0.1;/*local_port default 9999port listen use by redsockets serviceweb client ex: firefox use to connect to local_port*/local_port = 9999;/*`ip' and `port' are IP and tcp-port of proxy-server*/ip = 127.0.0.1;port = 7778;/*known types: socks4, socks5, http-connect, http-relay*/type = socks5;
}

软件使用

systemctl start redsockets  启动
systemctl stop redsockets   关闭

电脑 A

1 dns 指向一个可用 DNS
2 网关指向服务器 eth1 IP 地址

透明代理设定

启动服务后,假设 redsockets 当前监听了 eth1 IP 对应 9999 端口, 执行下面 iptables 命令

允许数据转发

# sysctl -w net.ipv4.ip_forward=1

dns 转发

iptables -t nat -A  POSTROUTING   -p udp --dport 53 -j MASQUERADE

透明代理

iptables -t nat -A PREROUTING -i  eth1 -p tcp ! --dport 53  -j REDIRECT --to-port 9999
iptables -t nat -A PREROUTING -i  eth1 -p udp ! --dport 53 -j REDIRECT --to-port 9999

redsocks 透明代理相关推荐

  1. 【安卓安全】透明代理定向抓APP包

    参考了以下大佬的文章: 文章一 文章二 文章三 工具:iptables + redsocks2 + Charles 前期准备 配置charls证书 要使用charles抓https的流量,就需要正确配 ...

  2. 透明代理Transparent Proxy

    透明代理Transparent Proxy 透明代理Transparent Proxy类似于普通代理,它可以使得处于局域网的主机直接访问外网.但不同之处,它不需要客户端进行任何设置.这样,客户端误以为 ...

  3. squid+iptables实现透明代理

    NAT 网络地址转换(网络地址映射) 就是把数据包的源IP或者目标IP进行修改. 作用: 修改源IP,叫源地址映射,一般为了实现让私有网络的机器能够访问互联网 修改目标IP,叫目标地址映射,一般为了实 ...

  4. squid+iptalbes实现透明代理配置记录

    首先描述下硬件环境cpu P4 2.93\2G\80G 单网卡;系统环境为CentOS 5.4 x86_64,所需的squid由yum安装,squid包的版本为squid-2.6.STABLE21-6 ...

  5. 使用squid配置透明代理并对上网行为进行控制

    使用Squid配置透明代理 环境:CentOS 6.4 + squid-3.1.10-20.el6_5.3.x86_641.检查squid是否默认安装,没有安装先安装 rpm -qa squid 假如 ...

  6. Haproxy全透明代理

    1. 系统环境搭建 操作系统Centos7 内核版本3.10 Centos7已自带TPROXY模块,不需要安装TPROXY 2. Haproxy下载,编译,安装,配置 下载地址 http://www. ...

  7. mysql 透明代理_透明代理MySQL_基于zbus的MySQL透明代理(100行)-云栖社区

    我们上次讲到zbus网络通讯的核心API: Dispatcher -- 负责-NIO网络事件Selector引擎的管理,对Selector引擎负载均衡 IoAdaptor -- 网络事件的处理,服务器 ...

  8. Squid代理(传统代理、透明代理、反向代理)、日志分析、ACL访问控制

    Squid代理(传统代理.透明代理.反向代理).日志分析.ACL访问控制 一.Squid代理服务器 1.代理的工作机制 2.代理的类型 二.安装Squid服务 1.编译安装Squid 2.修改Squi ...

  9. nginx做透明代理

    前一阵子在帮一朋友解决问题时,聊及nginx的透明代理的问题,当时就想修改nginx来实现透明代理,幸好一直没有付诸实现,不然又一次重造轮子. 下午在邮件列表中讨论到这个问题,nginx的作者Igor ...

最新文章

  1. 【算法笔记】二分图最大权匹配 - KM算法(dfs版O(n4) + bfs版O(n3))
  2. 25个自适应菜单教程和脚本
  3. 2021 「营销云」攻略合集.pdf
  4. 直播报名 | 券商如何精细化运营?
  5. 二级指针做输入_第2种内存模型
  6. RESTClient 工具
  7. python 输入参数有误_Python OpenCV错误:输入参数的大小不匹配
  8. 毕业设计 - - -数码交流论坛项目功能分析(暂时
  9. memcached 可视化客户端工具TreeNMS
  10. [编程思想] POP OOP AOP
  11. java 分页导入_Java 插入分页符和分节符到Word文档
  12. 美和易思——互联网技术学院返校周测题
  13. 转载: 找不到MSVCR90.dll、Debug vs Release及cppLapack相关
  14. android studio hiera,速成意大利语第课 昨天晚上我在电视机前我们不能空手去那里.doc...
  15. c++课程设计之贪食蛇
  16. 9 9简单的数独游戏python_如何使用tkinter gui python创建一个9*9的数独生成器?
  17. 七牛云 Java Web上传图片
  18. python 图片打水印 透明图片合并
  19. (OpenCV+Python)--目标跟踪,背景分割器:KNN、MOG2和GMG
  20. OO ALV checkbox更新的问题

热门文章

  1. 51单片机通过计时器实现倒计时
  2. Android中设置显示文本,Android文本显示控件-TextView属性详解
  3. UE4 闪电材质 及 闪电特效制作Niagara 学习笔记
  4. 计算机管理里显示磁盘丢失,电脑识别不出硬盘是什么原因?如何恢复硬盘丢失的文件...
  5. 罗技键盘+android风格,Android用户的福音!罗技平板电脑键盘赏析
  6. 对联弹窗html,悬停对联广告.html
  7. ArcGIS Pro打开后无法连接到arcgis.com
  8. 搜狗 2020.04
  9. ubuntu 美化成mac风格
  10. Ubuntu美化主题、图标