[{"data":1,"prerenderedAt":838},["ShallowReactive",2],{"blog-\u002Fen\u002Fblog\u002Fconfiguration-base-sous-vyatta":3,"blog-\u002Fen\u002Fblog\u002Fconfiguration-base-sous-vyatta-surround":804,"blog-\u002Fen\u002Fblog\u002Fconfiguration-base-sous-vyatta-certifications":837},{"id":4,"title":5,"body":6,"categories":791,"cover":793,"cover_contain":234,"credly_badge_id":794,"date":795,"description":796,"extension":797,"meta":798,"navigation":234,"path":799,"related_certifications":794,"seo":800,"slug":801,"stem":802,"__hash__":803},"blog\u002Fen\u002Fblog\u002Fconfiguration-base-sous-vyatta.md","Basic Configuration on Vyatta",{"type":7,"value":8,"toc":774},"minimark",[9,14,18,22,83,88,91,98,120,126,133,150,153,162,165,174,181,185,269,273,292,296,333,337,363,383,386,408,412,418,454,458,569,573,640,644,687,691,753,763,767,770],[10,11,13],"h2",{"id":12},"real-world-use-case","Real-world use case",[15,16,17],"p",{},"You need to quickly configure a software router: here's the basic configuration of a Vyatta distribution.",[10,19,21],{"id":20},"vyatta-core-software","Vyatta Core Software",[15,23,24,28,29,32,33,36,37,40,41,44,45,48,49,52,53,55,56,59,60,63,64,67,68,70,71,44,73,75,76],{},[25,26,27],"strong",{},"Vyatta Core"," is a ",[25,30,31],{},"routing-oriented"," distribution that ",[25,34,35],{},"centralizes"," ",[25,38,39],{},"network traffic"," on a ",[25,42,43],{},"VM",".",[46,47],"br",{},"\nIt thus implements a component of ",[25,50,51],{},"Software-Defined Networking"," (SDN).",[46,54],{},"\nForget about distributions like ",[25,57,58],{},"SmoothWall",", ",[25,61,62],{},"pfSense",", or ",[25,65,66],{},"IPCop",", which aren't suited to virtualization since none of them has an SDN component.",[46,69],{},"\nAlso, the web interface isn't available in ",[25,72,21],{},[46,74],{},"\nThere are two versions, and here are the differences between them: ",[77,78,82],"a",{"href":79,"rel":80},"http:\u002F\u002Fwww.vyatta.com\u002Fproduct\u002Fvyatta-network-os\u002Fopen-source-vs-enterprise",[81],"nofollow","available here",[84,85,87],"h3",{"id":86},"getting-started-with-basic-configuration-on-vyatta","Getting started with basic configuration on Vyatta",[15,89,90],{},"Example of the basic steps:",[15,92,93],{},[94,95],"img",{"alt":96,"src":97},"","\u002Fimages\u002Fblog\u002Fconfiguration-base-sous-vyatta\u002Fed503db52f.png",[99,100,101,105,108,111,114,117],"ol",{},[102,103,104],"li",{},"Configuring interfaces (eth0, eth1).",[102,106,107],{},"Adding a \"forward\" and \"resolv DNS\".",[102,109,110],{},"Setting up a static route.",[102,112,113],{},"Creating a DHCP pool for the local network.",[102,115,116],{},"Creating a firewall rule in our LAN.",[102,118,119],{},"Connecting the local network to the internet (NAT).",[84,121,123],{"id":122},"useful-commands",[25,124,125],{},"Useful commands:",[15,127,128,129,132],{},"To enter configuration mode on ",[25,130,131],{},"Vyatta",":",[134,135,139],"pre",{"className":136,"code":137,"language":138,"meta":96,"style":96},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","configure\n","bash",[140,141,142],"code",{"__ignoreMap":96},[143,144,147],"span",{"class":145,"line":146},"line",1,[143,148,137],{"class":149},"sBMFI",[15,151,152],{},"To save the changes:",[134,154,156],{"className":136,"code":155,"language":138,"meta":96,"style":96},"commit\n",[140,157,158],{"__ignoreMap":96},[143,159,160],{"class":145,"line":146},[143,161,155],{"class":149},[15,163,164],{},"To save the changes to a file:",[134,166,168],{"className":136,"code":167,"language":138,"meta":96,"style":96},"save\n",[140,169,170],{"__ignoreMap":96},[143,171,172],{"class":145,"line":146},[143,173,167],{"class":149},[15,175,176,177,180],{},"To find other ",[25,178,179],{},"Vyatta commands",": use the tab key.",[84,182,184],{"id":183},"configuring-interfaces","Configuring interfaces",[134,186,188],{"className":136,"code":187,"language":138,"meta":96,"style":96},"set interfaces ethernet eth0 address X.X.X.X\u002FX\nset interfaces ethernet eth0 description internet_network\n\nset interfaces ethernet eth1 address 192.168.1.1\u002F24\nset interfaces ethernet eth1 description local_network\n",[140,189,190,212,229,236,253],{"__ignoreMap":96},[143,191,192,196,200,203,206,209],{"class":145,"line":146},[143,193,195],{"class":194},"s2Zo4","set",[143,197,199],{"class":198},"sfazB"," interfaces",[143,201,202],{"class":198}," ethernet",[143,204,205],{"class":198}," eth0",[143,207,208],{"class":198}," address",[143,210,211],{"class":198}," X.X.X.X\u002FX\n",[143,213,215,217,219,221,223,226],{"class":145,"line":214},2,[143,216,195],{"class":194},[143,218,199],{"class":198},[143,220,202],{"class":198},[143,222,205],{"class":198},[143,224,225],{"class":198}," description",[143,227,228],{"class":198}," internet_network\n",[143,230,232],{"class":145,"line":231},3,[143,233,235],{"emptyLinePlaceholder":234},true,"\n",[143,237,239,241,243,245,248,250],{"class":145,"line":238},4,[143,240,195],{"class":194},[143,242,199],{"class":198},[143,244,202],{"class":198},[143,246,247],{"class":198}," eth1",[143,249,208],{"class":198},[143,251,252],{"class":198}," 192.168.1.1\u002F24\n",[143,254,256,258,260,262,264,266],{"class":145,"line":255},5,[143,257,195],{"class":194},[143,259,199],{"class":198},[143,261,202],{"class":198},[143,263,247],{"class":198},[143,265,225],{"class":198},[143,267,268],{"class":198}," local_network\n",[84,270,272],{"id":271},"adding-dns-resolution","Adding DNS resolution",[134,274,276],{"className":136,"code":275,"language":138,"meta":96,"style":96},"set system name-server 8.8.8.8\n",[140,277,278],{"__ignoreMap":96},[143,279,280,282,285,288],{"class":145,"line":146},[143,281,195],{"class":194},[143,283,284],{"class":198}," system",[143,286,287],{"class":198}," name-server",[143,289,291],{"class":290},"sbssI"," 8.8.8.8\n",[84,293,295],{"id":294},"adding-dns-forwarding-optional","Adding DNS forwarding (optional)",[134,297,299],{"className":136,"code":298,"language":138,"meta":96,"style":96},"set service dns forwarding listen-on eth0\nset service dns forwarding system\n",[140,300,301,320],{"__ignoreMap":96},[143,302,303,305,308,311,314,317],{"class":145,"line":146},[143,304,195],{"class":194},[143,306,307],{"class":198}," service",[143,309,310],{"class":198}," dns",[143,312,313],{"class":198}," forwarding",[143,315,316],{"class":198}," listen-on",[143,318,319],{"class":198}," eth0\n",[143,321,322,324,326,328,330],{"class":145,"line":214},[143,323,195],{"class":194},[143,325,307],{"class":198},[143,327,310],{"class":198},[143,329,313],{"class":198},[143,331,332],{"class":198}," system\n",[84,334,336],{"id":335},"setting-up-a-static-route-optional","Setting up a static route (optional)",[134,338,340],{"className":136,"code":339,"language":138,"meta":96,"style":96},"set protocols static interface-route X.X.X.X\u002FX next-hop-interface eth0\n",[140,341,342],{"__ignoreMap":96},[143,343,344,346,349,352,355,358,361],{"class":145,"line":146},[143,345,195],{"class":194},[143,347,348],{"class":198}," protocols",[143,350,351],{"class":198}," static",[143,353,354],{"class":198}," interface-route",[143,356,357],{"class":198}," X.X.X.X\u002FX",[143,359,360],{"class":198}," next-hop-interface",[143,362,319],{"class":198},[15,364,365,366,368,369,372,373,44,376,378,379,382],{},"Be careful, this command is particularly notorious on OVH's network.",[46,367],{},"\nIt causes ",[25,370,371],{},"ARP storms",". This is a known bug on the ",[25,374,375],{},"Vyatta forum",[46,377],{},"\nThe suggested temporary fix is to undo this command and then fall back on standard ",[25,380,381],{},"Debian"," commands (route, ifconfig, etc.)",[15,384,385],{},"To undo the command:",[134,387,389],{"className":136,"code":388,"language":138,"meta":96,"style":96},"delete protocols static interface-route X.X.X.X\u002FX next-hop-interface eth0\n",[140,390,391],{"__ignoreMap":96},[143,392,393,396,398,400,402,404,406],{"class":145,"line":146},[143,394,395],{"class":149},"delete",[143,397,348],{"class":198},[143,399,351],{"class":198},[143,401,354],{"class":198},[143,403,357],{"class":198},[143,405,360],{"class":198},[143,407,319],{"class":198},[84,409,411],{"id":410},"setting-up-an-ovh-static-route-optional","Setting up an OVH static route (optional)",[15,413,414,415,44],{},"For this, you need to leave Vyatta's configuration mode and make these changes as ",[25,416,417],{},"root",[134,419,421],{"className":136,"code":420,"language":138,"meta":96,"style":96},"route add X.X.X.254 dev eth0\nroute add default gw X.X.X.254\n",[140,422,423,439],{"__ignoreMap":96},[143,424,425,428,431,434,437],{"class":145,"line":146},[143,426,427],{"class":149},"route",[143,429,430],{"class":198}," add",[143,432,433],{"class":198}," X.X.X.254",[143,435,436],{"class":198}," dev",[143,438,319],{"class":198},[143,440,441,443,445,448,451],{"class":145,"line":214},[143,442,427],{"class":149},[143,444,430],{"class":198},[143,446,447],{"class":198}," default",[143,449,450],{"class":198}," gw",[143,452,453],{"class":198}," X.X.X.254\n",[84,455,457],{"id":456},"dhcp-pool-for-the-local-network","DHCP pool for the local network",[134,459,461],{"className":136,"code":460,"language":138,"meta":96,"style":96},"set service dhcp-server shared-network-name pool_lan1\nset service dhcp-server shared-network-name pool_lan1 subnet 192.168.1.0\u002F24\nset service dhcp-server shared-network-name pool_lan1 subnet 192.168.1.0\u002F24 start 192.168.1.10 stop 192.168.1.15\nset service dhcp-server shared-network-name pool_lan1 subnet 192.168.1.0\u002F24 default-router 192.168.1.1\nset service dhcp-server shared-network-name pool_lan1 subnet 192.168.1.0\u002F24 dns-server 8.8.8.8\n",[140,462,463,478,497,526,548],{"__ignoreMap":96},[143,464,465,467,469,472,475],{"class":145,"line":146},[143,466,195],{"class":194},[143,468,307],{"class":198},[143,470,471],{"class":198}," dhcp-server",[143,473,474],{"class":198}," shared-network-name",[143,476,477],{"class":198}," pool_lan1\n",[143,479,480,482,484,486,488,491,494],{"class":145,"line":214},[143,481,195],{"class":194},[143,483,307],{"class":198},[143,485,471],{"class":198},[143,487,474],{"class":198},[143,489,490],{"class":198}," pool_lan1",[143,492,493],{"class":198}," subnet",[143,495,496],{"class":198}," 192.168.1.0\u002F24\n",[143,498,499,501,503,505,507,509,511,514,517,520,523],{"class":145,"line":231},[143,500,195],{"class":194},[143,502,307],{"class":198},[143,504,471],{"class":198},[143,506,474],{"class":198},[143,508,490],{"class":198},[143,510,493],{"class":198},[143,512,513],{"class":198}," 192.168.1.0\u002F24",[143,515,516],{"class":198}," start",[143,518,519],{"class":290}," 192.168.1.10",[143,521,522],{"class":198}," stop",[143,524,525],{"class":290}," 192.168.1.15\n",[143,527,528,530,532,534,536,538,540,542,545],{"class":145,"line":238},[143,529,195],{"class":194},[143,531,307],{"class":198},[143,533,471],{"class":198},[143,535,474],{"class":198},[143,537,490],{"class":198},[143,539,493],{"class":198},[143,541,513],{"class":198},[143,543,544],{"class":198}," default-router",[143,546,547],{"class":290}," 192.168.1.1\n",[143,549,550,552,554,556,558,560,562,564,567],{"class":145,"line":255},[143,551,195],{"class":194},[143,553,307],{"class":198},[143,555,471],{"class":198},[143,557,474],{"class":198},[143,559,490],{"class":198},[143,561,493],{"class":198},[143,563,513],{"class":198},[143,565,566],{"class":198}," dns-server",[143,568,291],{"class":290},[84,570,572],{"id":571},"creating-a-firewall-rule","Creating a firewall rule",[134,574,576],{"className":136,"code":575,"language":138,"meta":96,"style":96},"set firewall name internet_network \nset firewall name internet_network rule 10 action accept\nset firewall name internet_network rule 10 state established enable\n",[140,577,578,595,617],{"__ignoreMap":96},[143,579,580,582,585,588,591],{"class":145,"line":146},[143,581,195],{"class":194},[143,583,584],{"class":198}," firewall",[143,586,587],{"class":198}," name",[143,589,590],{"class":198}," internet_network",[143,592,594],{"class":593},"sTEyZ"," \n",[143,596,597,599,601,603,605,608,611,614],{"class":145,"line":214},[143,598,195],{"class":194},[143,600,584],{"class":198},[143,602,587],{"class":198},[143,604,590],{"class":198},[143,606,607],{"class":198}," rule",[143,609,610],{"class":290}," 10",[143,612,613],{"class":198}," action",[143,615,616],{"class":198}," accept\n",[143,618,619,621,623,625,627,629,631,634,637],{"class":145,"line":231},[143,620,195],{"class":194},[143,622,584],{"class":198},[143,624,587],{"class":198},[143,626,590],{"class":198},[143,628,607],{"class":198},[143,630,610],{"class":290},[143,632,633],{"class":198}," state",[143,635,636],{"class":198}," established",[143,638,639],{"class":198}," enable\n",[84,641,643],{"id":642},"applying-the-firewall-rule-to-the-interface","Applying the firewall rule to the interface",[134,645,647],{"className":136,"code":646,"language":138,"meta":96,"style":96},"set interfaces ethernet eth0 firewall in name internet_network\nset interfaces ethernet eth0 firewall local name internet_network\n",[140,648,649,668],{"__ignoreMap":96},[143,650,651,653,655,657,659,661,664,666],{"class":145,"line":146},[143,652,195],{"class":194},[143,654,199],{"class":198},[143,656,202],{"class":198},[143,658,205],{"class":198},[143,660,584],{"class":198},[143,662,663],{"class":198}," in",[143,665,587],{"class":198},[143,667,228],{"class":198},[143,669,670,672,674,676,678,680,683,685],{"class":145,"line":214},[143,671,195],{"class":194},[143,673,199],{"class":198},[143,675,202],{"class":198},[143,677,205],{"class":198},[143,679,584],{"class":198},[143,681,682],{"class":198}," local",[143,684,587],{"class":198},[143,686,228],{"class":198},[84,688,690],{"id":689},"connecting-the-local-network-to-the-internet-nat","Connecting the local network to the internet (NAT)",[134,692,694],{"className":136,"code":693,"language":138,"meta":96,"style":96},"set nat source rule 10 source address 192.168.1.0\u002F24\nset nat source rule 10 outbound-interface eth0\nset nat source rule 10 translation address masquerade\n",[140,695,696,716,733],{"__ignoreMap":96},[143,697,698,700,703,706,708,710,712,714],{"class":145,"line":146},[143,699,195],{"class":194},[143,701,702],{"class":198}," nat",[143,704,705],{"class":198}," source",[143,707,607],{"class":198},[143,709,610],{"class":290},[143,711,705],{"class":198},[143,713,208],{"class":198},[143,715,496],{"class":198},[143,717,718,720,722,724,726,728,731],{"class":145,"line":214},[143,719,195],{"class":194},[143,721,702],{"class":198},[143,723,705],{"class":198},[143,725,607],{"class":198},[143,727,610],{"class":290},[143,729,730],{"class":198}," outbound-interface",[143,732,319],{"class":198},[143,734,735,737,739,741,743,745,748,750],{"class":145,"line":231},[143,736,195],{"class":194},[143,738,702],{"class":198},[143,740,705],{"class":198},[143,742,607],{"class":198},[143,744,610],{"class":290},[143,746,747],{"class":198}," translation",[143,749,208],{"class":198},[143,751,752],{"class":198}," masquerade\n",[15,754,755,756,759,760,762],{},"Your network is now functional, the ",[25,757,758],{},"basic configuration on Vyatta"," is complete!",[46,761],{},"\nIf you're still struggling after this introduction, feel free to contact me.",[10,764,766],{"id":765},"conclusion","Conclusion",[15,768,769],{},"This basic Vyatta configuration covers the essential elements of a functional router: network interfaces, DNS resolution, static route, DHCP pool, firewall rule, and source NAT to the internet. It provides a simple foundation to reproduce in order to quickly have a working SDN router, before moving on to more advanced topics like VPN remote access. One point of caution concerns static routes on OVH's network, which can trigger ARP storms.",[771,772,773],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":96,"searchDepth":214,"depth":214,"links":775},[776,777,790],{"id":12,"depth":214,"text":13},{"id":20,"depth":214,"text":21,"children":778},[779,780,781,782,783,784,785,786,787,788,789],{"id":86,"depth":231,"text":87},{"id":122,"depth":231,"text":125},{"id":183,"depth":231,"text":184},{"id":271,"depth":231,"text":272},{"id":294,"depth":231,"text":295},{"id":335,"depth":231,"text":336},{"id":410,"depth":231,"text":411},{"id":456,"depth":231,"text":457},{"id":571,"depth":231,"text":572},{"id":642,"depth":231,"text":643},{"id":689,"depth":231,"text":690},{"id":765,"depth":214,"text":766},[792],"Réseau","\u002Fimages\u002Fblog\u002Fconfiguration-base-sous-vyatta\u002F8a3fd53886.png",null,"2013-09-08","Vyatta is a router distribution. A clever package combining Linux and XORP. The perfect system to get started with SDN.","md",{},"\u002Fen\u002Fblog\u002Fconfiguration-base-sous-vyatta",{"title":5,"description":796},"configuration-base-sous-vyatta","en\u002Fblog\u002Fconfiguration-base-sous-vyatta","heVQCsgLLTZkd7OgeZzu0KNeEryV3USGF8tUlqLAIQE",[805,812,818,824,831,794,794,794],{"title":806,"path":807,"stem":808,"date":809,"cover":810,"categories":811,"children":-1},"Configuring VPN Remote Access with Vyatta","\u002Fen\u002Fblog\u002Fconfiguration-des-acces-distance-vpn-avec-vyatta","en\u002Fblog\u002Fconfiguration-des-acces-distance-vpn-avec-vyatta","2013-10-03","\u002Fimages\u002Fblog\u002Fconfiguration-des-acces-distance-vpn-avec-vyatta\u002Fa44b82e35f.jpg",[792],{"title":813,"path":814,"stem":815,"date":816,"cover":817,"categories":794,"children":-1},"Arch Linux Distribution: Customization","\u002Fen\u002Fblog\u002Fdistribution-arch-linux-personnalisation","en\u002Fblog\u002Fdistribution-arch-linux-personnalisation","2013-09-25","\u002Fimages\u002Fblog\u002Fdistribution-arch-linux-personnalisation\u002F68a1cb957a.png",{"title":819,"path":820,"stem":821,"date":822,"cover":823,"categories":794,"children":-1},"Arch Linux ARM Distribution: Raspberry Pi","\u002Fen\u002Fblog\u002Fdistribution-arch-linux-arm-raspberry","en\u002Fblog\u002Fdistribution-arch-linux-arm-raspberry","2013-09-22","\u002Fimages\u002Fblog\u002Fdistribution-arch-linux-arm-raspberry\u002Fb426e4efea.png",{"title":825,"path":826,"stem":827,"date":828,"cover":829,"categories":830,"children":-1},"Firewall Zone Configuration with Vyatta","\u002Fen\u002Fblog\u002Fconfiguration-zone-pare-feu-avec-vyatta","en\u002Fblog\u002Fconfiguration-zone-pare-feu-avec-vyatta","2013-09-15","\u002Fimages\u002Fblog\u002Fconfiguration-zone-pare-feu-avec-vyatta\u002Fa44b82e35f.jpg",[792],{"title":832,"path":833,"stem":834,"date":835,"cover":836,"categories":794,"children":-1},"Arch Linux Distribution: Installation","\u002Fen\u002Fblog\u002Fdistribution-arch-linux-installation","en\u002Fblog\u002Fdistribution-arch-linux-installation","2013-09-01","\u002Fimages\u002Fblog\u002Fdistribution-arch-linux-installation\u002F68a1cb957a.png",[],1786644893712]