nanog mailing list archives

RE: Upload config to juniper


From: "Mark Bassett" <mbassett () intelius com>
Date: Fri, 28 Jan 2011 17:44:30 -0800

I use the Netconf API  and send xml config snippets like so:

<configuration>
 <security>
  <zones>
   <security-zone>
    <name>Untrust</name>
     <address-book>
      <address operation="delete">
       <name>auto_ip-7</name>
       <ip-prefix>67.23.7.115/32</ip-prefix>
      </address>
      <address-set>
       <name>demo_inbound_permit</name>
       <address operation="delete">
       <name>auto_ip-7</name>
       </address>
      </address-set>
     </address-book>
   </security-zone>
  </zones>
 </security>
</configuration>

-----Original Message-----
From: Mark Bassett [mailto:mbassett () intelius com] 
Sent: Friday, January 28, 2011 5:39 PM
To: Jimmy Hess; Florin Veres
Cc: nanog () nanog org
Subject: RE: Upload config to juniper

Actually if you use the JUNOS api and the reference scripts there are
examples to do just this.



-----Original Message-----
From: Jimmy Hess [mailto:mysidia () gmail com] 
Sent: Wednesday, January 26, 2011 6:31 PM
To: Florin Veres
Cc: nanog () nanog org
Subject: Re: Upload config to juniper

On Mon, Jan 24, 2011 at 7:39 AM, Florin Veres <florin () futurefreedom ro>
wrote:
Hey guys,
Do any of you have any idea if it's possible to upload configuration
from a
script (prefix-list updates in this case) to a JunOS device (MX)?
For Cisco devices I'm doing it using rcp.

From config mode use  a  "load merge"  command that specifies a SCP or
FTP  URL.
You'll need to setup SSH keys in advance to do so  without an
additional password for the device to download the script.

Alternatively...  SCP the file to a temporary file on the device then
"load merge" the uploaded file,  to merge config from the script.

Net::SSH::Expect from CPAN  to connect  via  ssh  from perl.

Something like
use Net::SSH::Perl;
use Net::SSH::Expect;

my $ssh = Net::SSH::Expect->new(  host =>
'myfavoritehostname.example.com',  user => 'blahblahblah', password =>
'1234',   raw_pty => 1);
$ssh->login(q[blahblah () myfavoritehostname example com's password]);
$output1 = $ssh->exec("configure private");
# $blah = $ssh->exec("load merge
username () scriptserver example com:/path/to/scriptfile_to_load.txt");
print scalar $ssh->exec("show | compare");
# commit

--
-JH




Current thread: