http://kb.linux-vs.org/wiki?title=Ipvsadm&feed=atom&action=historyIpvsadm - Revision history2024-03-29T07:05:47ZRevision history for this page on the wikiMediaWiki 1.26.2http://kb.linux-vs.org/wiki?title=Ipvsadm&diff=4003&oldid=prevWensong: /* Compiling ipvsadm */2007-04-29T15:29:48Z<p><span dir="auto"><span class="autocomment">Compiling ipvsadm</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 15:29, 29 April 2007</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l517" >Line 517:</td>
<td colspan="2" class="diff-lineno">Line 517:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Compiling ipvsadm ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Compiling ipvsadm ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>See the article [[compiling ipvsadm on <del class="diffchange diffchange-inline">difficult </del>Linux distributions]] for detailed information.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>See the article [[compiling ipvsadm on <ins class="diffchange diffchange-inline">different </ins>Linux distributions]] for detailed information.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:IPVS]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:IPVS]]</div></td></tr>
</table>Wensonghttp://kb.linux-vs.org/wiki?title=Ipvsadm&diff=3880&oldid=prevWensong at 10:55, 3 December 20062006-12-03T10:55:44Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 10:55, 3 December 2006</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l510" >Line 510:</td>
<td colspan="2" class="diff-lineno">Line 510:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   -> 192.168.10.1:80              Masq    1      0          0</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   -> 192.168.10.1:80              Masq    1      0          0</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Downloading ipvsadm ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Goto [http://www.linuxvirtualserver.org/software/ipvs.html the IPVS Software Page] to download the corresponding version of ipvsadm software.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Compiling ipvsadm ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Compiling ipvsadm ==</div></td></tr>
</table>Wensonghttp://kb.linux-vs.org/wiki?title=Ipvsadm&diff=3871&oldid=prevWensong at 01:43, 19 November 20062006-11-19T01:43:56Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 01:43, 19 November 2006</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l510" >Line 510:</td>
<td colspan="2" class="diff-lineno">Line 510:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   -> 192.168.10.1:80              Masq    1      0          0</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>   -> 192.168.10.1:80              Masq    1      0          0</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">== Compiling ipvsadm ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">See the article [[compiling ipvsadm on difficult Linux distributions]] for detailed information.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:IPVS]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:IPVS]]</div></td></tr>
</table>Wensonghttp://kb.linux-vs.org/wiki?title=Ipvsadm&diff=3870&oldid=prevWensong: /* Output */2006-11-19T01:20:10Z<p><span dir="auto"><span class="autocomment">Output</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 01:20, 19 November 2006</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l495" >Line 495:</td>
<td colspan="2" class="diff-lineno">Line 495:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Output ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Output ==</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">The output of ipvs rules in the above example one is as follows:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[root@penguin sbin]# ipvsadm -ln</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">IP Virtual Server version 1.0.8 (size=65536)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Prot LocalAddress:Port Scheduler Flags</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  -> RemoteAddress:Port          Forward Weight ActiveConn InActConn</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">TCP  207.175.44.110:80 rr</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  -> 192.168.10.5:80              Masq    1      0          0</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  -> 192.168.10.4:80              Masq    1      0          0</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  -> 192.168.10.3:80              Masq    1      0          0</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  -> 192.168.10.2:80              Masq    1      0          0</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">  -> 192.168.10.1:80              Masq    1      0          0</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:IPVS]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category:IPVS]]</div></td></tr>
</table>Wensonghttp://kb.linux-vs.org/wiki?title=Ipvsadm&diff=3834&oldid=prevWensong at 16:20, 10 November 20062006-11-10T16:20:38Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 16:20, 10 November 2006</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l495" >Line 495:</td>
<td colspan="2" class="diff-lineno">Line 495:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Output ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Output ==</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:IPVS]]</ins></div></td></tr>
</table>Wensonghttp://kb.linux-vs.org/wiki?title=Ipvsadm&diff=3409&oldid=prevWensong at 01:42, 23 July 20062006-07-23T01:42:56Z<p></p>
<p><b>New page</b></p><div>Ipvsadm is used to set up, maintain or inspect the [[IPVS|IP virtual server]] table in the Linux kernel.<br />
<br />
== Man Page ==<br />
<br />
<pre><br />
NAME<br />
ipvsadm - Linux Virtual Server administration<br />
<br />
SYNOPSIS<br />
ipvsadm -A|E -t|u|f service-address [-s scheduler]<br />
[-p [timeout]] [-M netmask]<br />
ipvsadm -D -t|u|f service-address<br />
ipvsadm -C<br />
ipvsadm -R<br />
ipvsadm -S [-n]<br />
ipvsadm -a|e -t|u|f service-address -r server-address<br />
[-g|i|m] [-w weight] [-x upper] [-y lower]<br />
ipvsadm -d -t|u|f service-address -r server-address<br />
ipvsadm -L|l [options]<br />
ipvsadm -Z [-t|u|f service-address]<br />
ipvsadm --set tcp tcpfin udp<br />
ipvsadm --start-daemon state [--mcast-interface interface]<br />
[--syncid syncid]<br />
ipvsadm --stop-daemon state<br />
ipvsadm -h<br />
<br />
DESCRIPTION<br />
Ipvsadm(8) is used to set up, maintain or inspect the virtual server<br />
table in the Linux kernel. The Linux Virtual Server can be used to<br />
build scalable network services based on a cluster of two or more<br />
nodes. The active node of the cluster redirects service requests to a<br />
collection of server hosts that will actually perform the services.<br />
Supported features include two protocols (TCP and UDP), three packet-<br />
forwarding methods (NAT, tunneling, and direct routing), and eight load<br />
balancing algorithms (round robin, weighted round robin, least-connec-<br />
tion, weighted least-connection, locality-based least-connection,<br />
locality-based least-connection with replication, destination-hashing,<br />
and source-hashing).<br />
<br />
The command has two basic formats for execution:<br />
<br />
ipvsadm COMMAND [protocol] service-address<br />
[scheduling-method] [persistence options]<br />
<br />
ipvsadm command [protocol] service-address<br />
server-address [packet-forwarding-method]<br />
[weight options]<br />
<br />
The first format manipulates a virtual service and the algorithm for<br />
assigning service requests to real servers. Optionally, a persistent<br />
timeout and network mask for the granularity of a persistent service<br />
may be specified. The second format manipulates a real server that is<br />
associated with an existing virtual service. When specifying a real<br />
server, the packet-forwarding method and the weight of the real server,<br />
relative to other real servers for the virtual service, may be speci-<br />
fied, otherwise defaults will be used.<br />
<br />
COMMANDS<br />
ipvsadm(8) recognises the commands described below. Upper-case commands<br />
maintain virtual services. Lower-case commands maintain real servers<br />
that are associated with a virtual service.<br />
<br />
-A, --add-service<br />
Add a virtual service. A service address is uniquely defined by<br />
a triplet: IP address, port number, and protocol. Alternatively,<br />
a virtual service may be defined by a firewall-mark.<br />
<br />
-E, --edit-service<br />
Edit a virtual service.<br />
<br />
-D, --delete-service<br />
Delete a virtual service, along with any associated real<br />
servers.<br />
<br />
-C, --clear<br />
Clear the virtual server table.<br />
<br />
-R, --restore<br />
Restore Linux Virtual Server rules from stdin. Each line read<br />
from stdin will be treated as the command line options to a sep-<br />
arate invocation of ipvsadm. Lines read from stdin can option-<br />
ally begin with "ipvsadm". This option is useful to avoid exe-<br />
cuting a large number or ipvsadm commands when constructing an<br />
extensive routing table.<br />
<br />
-S, --save<br />
Dump the Linux Virtual Server rules to stdout in a format that<br />
can be read by -R|--restore.<br />
<br />
-a, --add-server<br />
Add a real server to a virtual service.<br />
<br />
-e, --edit-server<br />
Edit a real server in a virtual service.<br />
<br />
-d, --delete-server<br />
Remove a real server from a virtual service.<br />
<br />
-L, -l, --list<br />
List the virtual server table if no argument is specified. If a<br />
service-address is selected, list this service only. If the -c<br />
option is selected, then display the connection table. The exact<br />
output is affected by the other arguments given.<br />
<br />
-Z, --zero<br />
Zero the packet, byte and rate counters in a service or all ser-<br />
vices.<br />
<br />
--set tcp tcpfin udp<br />
Change the timeout values used for IPVS connections. This com-<br />
mand always takes 3 parameters, representing the timeout<br />
values (in seconds) for TCP sessions, TCP sessions after receiv-<br />
ing a FIN packet, and UDP packets, respectively. A timeout<br />
value 0 means that the current timeout value of the correspond-<br />
ing entry is preserved.<br />
<br />
--start-daemon state<br />
Start the connection synchronization daemon. The state is to<br />
indicate that the daemon is started as master or backup. The<br />
connection synchronization daemon is implemented inside the<br />
Linux kernel. The master daemon running at the primary load bal-<br />
ancer multicasts changes of connections periodically, and the<br />
backup daemon running at the backup load balancers receives mul-<br />
ticast message and creates corresponding connections. Then, in<br />
case the primary load balancer fails, a backup load balancer<br />
will takeover, and it has state of almost all connections, so<br />
that almost all established connections can continue to access<br />
the service.<br />
<br />
--stop-daemon<br />
Stop the connection synchronization daemon.<br />
<br />
-h, --help<br />
Display a description of the command syntax.<br />
<br />
PARAMETERS<br />
The commands above accept or require zero or more of the following<br />
parameters.<br />
<br />
-t, --tcp-service service-address<br />
Use TCP service. The service-address is of the form host[:port].<br />
Host may be one of a plain IP address or a hostname. Port may be<br />
either a plain port number or the service name of port. The Port<br />
may be omitted, in which case zero will be used. A Port of zero<br />
is only valid if the service is persistent as the -p|--persis-<br />
tent option, in which case it is a wild-card port, that is con-<br />
nections will be accepted to any port.<br />
<br />
-u, --udp-service service-address<br />
Use UDP service. See the -t|--tcp-service for the description of<br />
the service-address.<br />
<br />
-f, --fwmark-service integer<br />
Use a firewall-mark, an integer value greater than zero, to<br />
denote a virtual service instead of an address, port and proto-<br />
col (UDP or TCP). The marking of packets with a firewall-mark is<br />
configured using the -m|--mark option to iptables(8). It can be<br />
used to build a virtual service assoicated with the same real<br />
servers, covering multiple IP address, port and protocol trip-<br />
plets.<br />
<br />
Using firewall-mark virtual services provides a convenient<br />
method of grouping together different IP addresses, ports and<br />
protocols into a single virtual service. This is useful for both<br />
simplifying configuration if a large number of virtual services<br />
are required and grouping persistence across what would other-<br />
wise be multiple virtual services.<br />
<br />
-s, --scheduler scheduling-method<br />
scheduling-method Algorithm for allocating TCP connections and<br />
UDP datagrams to real servers. Scheduling algorithms are imple-<br />
mented as kernel modules. Ten are shipped with the Linux Virtual<br />
Server:<br />
<br />
rr - Robin Robin: distributes jobs equally amongst the available<br />
real servers.<br />
<br />
wrr - Weighted Round Robin: assigns jobs to real servers propor-<br />
tionally to there real servers’ weight. Servers with higher<br />
weights receive new jobs first and get more jobs than servers<br />
with lower weights. Servers with equal weights get an equal dis-<br />
tribution of new jobs.<br />
<br />
lc - Least-Connection: assigns more jobs to real servers with<br />
fewer active jobs.<br />
<br />
wlc - Weighted Least-Connection: assigns more jobs to servers<br />
with fewer jobs and relative to the real servers’ weight<br />
(Ci/Wi). This is the default.<br />
<br />
lblc - Locality-Based Least-Connection: assigns jobs destined<br />
for the same IP address to the same server if the server is not<br />
overloaded and available; otherwise assign jobs to servers with<br />
fewer jobs, and keep it for future assignment.<br />
<br />
lblcr - Locality-Based Least-Connection with Replication:<br />
assigns jobs destined for the same IP address to the least-con-<br />
nection node in the server set for the IP address. If all the<br />
node in the server set are over loaded, it picks up a node with<br />
fewer jobs in the cluster and adds it in the sever set for the<br />
target. If the server set has not been modified for the speci-<br />
fied time, the most loaded node is removed from the server set,<br />
in order to avoid high degree of replication.<br />
<br />
dh - Destination Hashing: assigns jobs to servers through look-<br />
ing up a statically assigned hash table by their destination IP<br />
addresses.<br />
<br />
sh - Source Hashing: assigns jobs to servers through looking up<br />
a statically assigned hash table by their source IP addresses.<br />
<br />
sed - Shortest Expected Delay: assigns an incoming job to the<br />
server with the shortest expected delay. The expected delay that<br />
the job will experience is (Ci + 1) / Ui if sent to the ith<br />
server, in which Ci is the number of jobs on the the ith server<br />
and Ui is the fixed service rate (weight) of the ith server.<br />
<br />
nq - Never Queue: assigns an incoming job to an idle server if<br />
there is, instead of waiting for a fast one; if all the servers<br />
are busy, it adopts the Shortest Expected Delay policy to assign<br />
the job.<br />
<br />
-p, --persistent [timeout]<br />
Specify that a virtual service is persistent. If this option is<br />
specified, multiple requests from a client are redirected to the<br />
same real server selected for the first request. Optionally,<br />
the timeout of persistent sessions may be specified given in<br />
seconds, otherwise the default of 300 seconds will be used. This<br />
option may be used in conjunction with protocols such as SSL or<br />
FTP where it is important that clients consistently connect with<br />
the same real server.<br />
<br />
Note: If a virtual service is to handle FTP connections then<br />
persistence must be set for the virtual service if Direct Rout-<br />
ing or Tunnelling is used as the forwarding mechanism. If Mas-<br />
querading is used in conjunction with an FTP service than per-<br />
sistence is not necessary, but the ip_vs_ftp kernel module must<br />
be used. This module may be manually inserted into the kernel<br />
using insmod(8).<br />
<br />
-M, --netmask netmask<br />
Specify the granularity with which clients are grouped for per-<br />
sistent virtual services. The source address of the request is<br />
masked with this netmask to direct all clients from a network to<br />
the same real server. The default is 255.255.255.255, that is,<br />
the persistence granularity is per client host. Less specific<br />
netmasks may be used to resolve problems with non-persistent<br />
cache clusters on the client side.<br />
<br />
-r, --real-server server-address<br />
Real server that an associated request for service may be<br />
assigned to. The server-address is the host address of a real<br />
server, and may plus port. Host can be either a plain IP address<br />
or a hostname. Port can be either a plain port number or the<br />
service name of port. In the case of the masquerading method,<br />
the host address is usually an RFC 1918 private IP address, and<br />
the port can be different from that of the associated service.<br />
With the tunneling and direct routing methods, port must be<br />
equal to that of the service address. For normal services, the<br />
port specified in the service address will be used if port is<br />
not specified. For fwmark services, port may be omitted, in<br />
which case the destination port on the real server will be the<br />
destination port of the request sent to the virtual service.<br />
<br />
[packet-forwarding-method]<br />
<br />
-g, --gatewaying Use gatewaying (direct routing). This is the<br />
default.<br />
<br />
-i, --ipip Use ipip encapsulation (tunneling).<br />
<br />
-m, --masquerading Use masquerading (network access transla-<br />
tion, or NAT).<br />
<br />
Note: Regardless of the packet-forwarding mechanism specified,<br />
real servers for addresses for which there are interfaces on the<br />
local node will be use the local forwarding method, then packets<br />
for the servers will be passed to upper layer on the local node.<br />
This cannot be specified by ipvsadm, rather it set by the kernel<br />
as real servers are added or modified.<br />
<br />
-w, --weight weight<br />
Weight is an integer specifying the capacity of a server rela-<br />
tive to the others in the pool. The valid values of weight are 0<br />
through to 65535. The default is 1. Quiescent servers are speci-<br />
fied with a weight of zero. A quiescent server will receive no<br />
new jobs but still serve the existing jobs, for all scheduling<br />
algorithms distributed with the Linux Virtual Server. Setting a<br />
quiescent server may be useful if the server is overloaded or<br />
needs to be taken out of service for maintenance.<br />
<br />
-x, --u-threshold uthreshold<br />
uthreshold is an integer specifying the upper connection thresh-<br />
old of a server. The valid values of uthreshold are 0 through to<br />
65535. The default is 0, which means the upper connection<br />
threshold is not set. If uthreshold is set with other values, no<br />
new connections will be sent to the server when the number of<br />
its connections exceeds its upper connection threshold.<br />
<br />
-y, --l-threshold lthreshold<br />
lthreshold is an integer specifying the lower connection thresh-<br />
old of a server. The valid values of lthreshold are 0 through to<br />
65535. The default is 0, which means the lower connection<br />
threshold is not set. If lthreshold is set with other values,<br />
the server will receive new connections when the number of its<br />
connections drops below its lower connection threshold. If<br />
lthreshold is not set but uthreshold is set, the server will<br />
receive new connections when the number of its connections drops<br />
below three forth of its upper connection threshold.<br />
<br />
--mcast-interface interface<br />
Specify the multicast interface that the sync master daemon<br />
sends outgoing multicasts through, or the sync backup daemon<br />
listens to for multicasts.<br />
<br />
--syncid syncid<br />
Specify the syncid that the sync master daemon fills in the Syn-<br />
cID header while sending multicast messages, or the sync backup<br />
daemon uses to filter out multicast messages not matched with<br />
the SyncID value. The valid values of syncid are 0 through to<br />
255. The default is 0, which means no filtering at all.<br />
<br />
-c, --connection<br />
Connection output. The list command with this option will list<br />
current IPVS connections.<br />
<br />
--timeout<br />
Timeout output. The list command with this option will display<br />
the timeout values (in seconds) for TCP sessions, TCP sessions<br />
after receiving a FIN packet, and UDP packets.<br />
<br />
--daemon<br />
Daemon information output. The list command with this option<br />
will display the daemon status and its multicast interface.<br />
<br />
--stats<br />
Output of statistics information. The list command with this<br />
option will display the statistics information of services and<br />
their servers.<br />
<br />
--rate Output of rate information. The list command with this option<br />
will display the rate information (such as connections/second,<br />
bytes/second and packets/second) of services and their servers.<br />
<br />
--thresholds<br />
Output of thresholds information. The list command with this<br />
option will display the upper/lower connection threshold infor-<br />
mation of each server in service listing.<br />
<br />
--persistent-conn<br />
Output of persistent connection information. The list command<br />
with this option will display the persistent connection counter<br />
information of each server in service listing. The persistent<br />
connection is used to forward the actual connections from the<br />
same client/network to the same server.<br />
<br />
--sort Sort the list of virtual services and real servers. The virtual<br />
service entries are sorted in ascending order by <protocol,<br />
address, port>. The real server entries are sorted in ascending<br />
order by <address, port>.<br />
<br />
-n, --numeric<br />
Numeric output. IP addresses and port numbers will be printed<br />
in numeric format rather than as as host names and services<br />
respectively, which is the default. --exact Expand numbers.<br />
Display the exact value of the packet and byte counters,<br />
instead of only the rounded number in K’s (multiples of 1000)<br />
M’s (multiples of 1000K) or G’s (multiples of 1000M). This<br />
option is only relevant for the -L command.<br />
<br />
EXAMPLE 1 - Simple Virtual Service<br />
The following commands configure a Linux Director to distribute incom-<br />
ing requests addressed to port 80 on 207.175.44.110 equally to port 80<br />
on five real servers. The forwarding method used in this example is<br />
NAT, with each of the real servers being masqueraded by the Linux<br />
Director.<br />
<br />
ipvsadm -A -t 207.175.44.110:80 -s rr<br />
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -m<br />
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -m<br />
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -m<br />
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.4:80 -m<br />
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.5:80 -m<br />
<br />
Alternatively, this could be achieved in a single ipvsadm command.<br />
<br />
echo "<br />
-A -t 207.175.44.110:80 -s rr<br />
-a -t 207.175.44.110:80 -r 192.168.10.1:80 -m<br />
-a -t 207.175.44.110:80 -r 192.168.10.2:80 -m<br />
-a -t 207.175.44.110:80 -r 192.168.10.3:80 -m<br />
-a -t 207.175.44.110:80 -r 192.168.10.4:80 -m<br />
-a -t 207.175.44.110:80 -r 192.168.10.5:80 -m<br />
" | ipvsadm -R<br />
<br />
As masquerading is used as the forwarding mechanism in this example,<br />
the default route of the real servers must be set to the linux direc-<br />
tor, which will need to be configured to forward and masquerade pack-<br />
ets. This can be achieved using the following commands:<br />
<br />
echo "1" > /proc/sys/net/ipv4/ip_forward<br />
<br />
EXAMPLE 2 - Firewall-Mark Virtual Service<br />
The following commands configure a Linux Director to distribute incom-<br />
ing requests addressed to any port on 207.175.44.110 or 207.175.44.111<br />
equally to the corresponding port on five real servers. As per the pre-<br />
vious example, the forwarding method used in this example is NAT, with<br />
each of the real servers being masqueraded by the Linux Director.<br />
<br />
ipvsadm -A -f 1 -s rr<br />
ipvsadm -a -f 1 -r 192.168.10.1:0 -m<br />
ipvsadm -a -f 1 -r 192.168.10.2:0 -m<br />
ipvsadm -a -f 1 -r 192.168.10.3:0 -m<br />
ipvsadm -a -f 1 -r 192.168.10.4:0 -m<br />
ipvsadm -a -f 1 -r 192.168.10.5:0 -m<br />
<br />
As masquerading is used as the forwarding mechanism in this example,<br />
the default route of the real servers must be set to the linux direc-<br />
tor, which will need to be configured to forward and masquerade pack-<br />
ets. The real server should also be configured to mark incoming packets<br />
addressed to any port on 207.175.44.110 and 207.175.44.111 with fire-<br />
wall-mark 1. If FTP traffic is to be handled by this virtual service,<br />
then the ip_vs_ftp kernel module needs to be inserted into the kernel.<br />
These operations can be achieved using the following commands:<br />
<br />
echo "1" > /proc/sys/net/ipv4/ip_forward<br />
modprobe ip_tables<br />
iptables -A PREROUTING -t mangle -d 207.175.44.110/31 -j MARK --set-mark 1<br />
modprobe ip_vs_ftp<br />
<br />
NOTES<br />
The Linux Virtual Server implements three defense strategies against<br />
some types of denial of service (DoS) attacks. The Linux Director cre-<br />
ates an entry for each connection in order to keep its state, and each<br />
entry occupies 128 bytes effective memory. LVS’s vulnerability to a DoS<br />
attack lies in the potential to increase the number entries as much as<br />
possible until the linux director runs out of memory. The three defense<br />
strategies against the attack are: Randomly drop some entries in the<br />
table. Drop 1/rate packets before forwarding them. And use secure tcp<br />
state transition table and short timeouts. The strategies are con-<br />
trolled by sysctl variables and corresponding entries in the /proc<br />
filesystem:<br />
<br />
/proc/sys/net/ipv4/vs/drop_entry /proc/sys/net/ipv4/vs/drop_packet<br />
/proc/sys/net/ipv4/vs/secure_tcp<br />
<br />
Valid values for each variable are 0 through to 3. The default value is<br />
0, which disables the respective defense strategy. 1 and 2 are auto-<br />
matic modes - when there is no enough available memory, the respective<br />
strategy will be enabled and the variable is automatically set to 2,<br />
otherwise the strategy is disabled and the variable is set to 1. A<br />
value of 3 denotes that the respective strategy is always enabled. The<br />
available memory threshold and secure TCP timeouts can be tuned using<br />
the sysctl variables and corresponding entries in the /proc filesystem:<br />
<br />
/proc/sys/net/ipv4/vs/amemthresh /proc/sys/net/ipv4/vs/timeout_*<br />
<br />
FILES<br />
/proc/net/ip_vs<br />
/proc/net/ip_vs_app<br />
/proc/net/ip_vs_conn<br />
/proc/net/ip_vs_stats<br />
/proc/sys/net/ipv4/vs/am_droprate<br />
/proc/sys/net/ipv4/vs/amemthresh<br />
/proc/sys/net/ipv4/vs/drop_entry<br />
/proc/sys/net/ipv4/vs/drop_packet<br />
/proc/sys/net/ipv4/vs/secure_tcp<br />
/proc/sys/net/ipv4/vs/timeout_close<br />
/proc/sys/net/ipv4/vs/timeout_closewait<br />
/proc/sys/net/ipv4/vs/timeout_established<br />
/proc/sys/net/ipv4/vs/timeout_finwait<br />
/proc/sys/net/ipv4/vs/timeout_icmp<br />
/proc/sys/net/ipv4/vs/timeout_lastack<br />
/proc/sys/net/ipv4/vs/timeout_listen<br />
/proc/sys/net/ipv4/vs/timeout_synack<br />
/proc/sys/net/ipv4/vs/timeout_synrecv<br />
/proc/sys/net/ipv4/vs/timeout_synsent<br />
/proc/sys/net/ipv4/vs/timeout_timewait<br />
/proc/sys/net/ipv4/vs/timeout_udp<br />
<br />
SEE ALSO<br />
The LVS web site (http://www.linuxvirtualserver.org/) for more documen-<br />
tation about LVS.<br />
<br />
ipvsadm-save(8), ipvsadm-restore(8), iptables(8),<br />
insmod(8), modprobe(8)<br />
<br />
AUTHORS<br />
ipvsadm - Wensong Zhang <wensong@linuxvirtualserver.org><br />
Peter Kese <peter.kese@ijs.si><br />
man page - Mike Wangsmo <wanger@redhat.com><br />
Wensong Zhang <wensong@linuxvirtualserver.org><br />
Horms <horms@verge.net.au><br />
</pre> <br />
<br />
== Output ==</div>Wensong