Transferring Files

You may need to transfer files between the following locations:

You can transfer files in any of three ways: the copy command, the system’s FTP server, or a remote host that is configured as an FTP or a TFTP server. Table 37 lists the types of files that you can transfer between the locations using the copy command, which activates a hidden FTP or TFTP client on the E Series router.

You can use the system’s FTP server to transfer files between a network host and the user space. When a firewall separates the E Series router from the network host, you must use the FTP server to transfer files to the user space. You can then install the files from the user space to the system space by using the copy command. However, if there is no firewall between the E Series router and the network host, you can use the copy command, the remote FTP server, or the remote TFTP server to transfer files.

For example, you can transfer a file from a network host to an E Series router through FTP, and then transfer the file through the copy command from the E Series router to other E Series routers. See Figure 22.

Figure 22: Transferring System Files to the E Series Router

Image g013073.gif

References

For more information about file transfer protocols, consult the following resources:

Copying and Redirecting Files

You have two options for copying or redirecting files to or from a remote FTP or TFTP server:

If you include the remote file data, the copy command contains a source and destination filename, either of which (but not both) can be remote files. The following URL format is supported for both source and destination files:

protocol://[username [:password]@]location[/directory]/filename

The location can be a hostname or an IP address.

The two versions of the URL format are as follows:

ftp://[username[:password ]@]location[/directory]/filenametftp://location[/directory]/filename

Note: The TFTP protocol does not support username and password. Entering a username and password in the TFTP version results in a command error.

The protocol specified in the command always overrides the protocol associated with the host entry, if any, in the host table. Some protocols, such as FTP, require a username and password with each request. For the URL version of the copy command, the following sequence is followed:

The location is the IP address or hostname of the remote file server. The directory/filename is the full path of the file relative to the user login root path.

The characters in the URL format can be encoded. Any of the delimiter characters can be used in the host, username, password, and directory and file fields when added as encoded characters. The encoded characters must be three characters, starting with a percent and followed by the two hexadecimal digits that are the ASCII equivalent. The system converts all printable characters before passing them to the protocol support. Unprintable characters (0-012F and 0x7f-0x7F) are not converted and are passed directly to the protocol. Printable characters (0x20– 0x7E) are decoded and all others (0x80–0xFF) are rejected.

In the following example, the username contains the @ delimiter character encoded as %40, and the directory passed to the FTP protocol layer is /dirA/dirB/dirC. The delimiter between the hostname and directory is a forward slash (/) character. To add a slash to the start of the directory specification, add the encoded slash after the host and directory delimiter.

ftp://user%40%40name:pwd@mary/%2fdirA/dirB/dirc/fileA

In the following example, the directory passed to the FTP protocol layer is dirA/dirB/dirC.

ftp://username:pwd@mary/dirA/dirB/dirc/fileA

Using the copy Command

Table 37 shows the types of files that you can transfer between the locations by using the copy command.

Table 37: File Types You Can Transfer Using the copy Command

 

Destination

Source

 

System

User Space

(Linked Files and Unlinked Files)

Network Host Within a Firewall

Standby SRP Module

System

*.cnf

*.hty (excluding reboot.hty)

*.log (excluding system.log)

*.mac

*.scr

*.txt

*.cnf

*.hty

*.log

*.mac

*.pub

*.scr

*.txt

*.cnf

*.dmp

*.hty

*.log

*.mac

*.pub

*.scr

*.sts

*.txt

None

User Space

*.cnf

*.mac

*.rel

*.scr

*.txt

*.cnf

*.hty

*.log

*.mac

*.pub

*.rel
( *.rel file only, not files associated with the *.rel file)

*.scr

*.txt

Nonsystem files

None

None

Network Host Within a Firewall

*.cnf

*.mac

*.rel

*.scr

*.txt

None

None

None

Standby SRP Module

system.log

reboot.hty

system.log

reboot.hty

*.dmp

system.log

reboot.hty

*.dmp

None

To transfer files using the copy command between the system space and a network host:

  1. Determine whether there is a route to the network host, and create one if necessary. See JunosE IP, IPv6, and IGP Configuration Guide.
  2. Configure the network host as an FTP server, or use a remote host that is configured as a TFTP server.

    Note: This command takes place in the context of the current virtual router (VR) rather than the default VR. You must configure the FTP server so that any traffic destined for the VR can reach the VR; typically, you configure the FTP server to reach the default address of the E Series router, which will always be able to reach the VR.

  3. Add the FTP server to the static host table, and specify the file transport protocol (FTP or TFTP), so that the E Series router can access the network host.
  4. (Optional) Specify a source interface to use in FTP packets leaving the router.
  5. Copy the files.

copy

host

ip ftp source-address

ip ftp source-interface

copy Command Examples

The examples in this section assume that the following host entries have been defined in the host table:

Example 1

Copy a remote file to a local file by using the CLI file copy command format. The following command creates or replaces the local file autocfg.scr by copying the remote file autocfg.scr located in the directory ftpDir/scripts on the host mary. The username mike and password mikePwd from the host entry mary are used to access the remote file.

copy mary:ftpDir/scripts/autocfg.scr autocfg.scr

Example 2

Copy a local file to a remote fileby using file copy command format. The following command creates or replaces the remote file shConfigForJoe.txt in the directory ftpDir/results on the host joe by copying the local file shConfig.txt. The username joe and password jPasswd from the host entry joe are used to access the remote file.

copy shConfig.txt joe:ftpDir/results/shConfigForJoe.txt

Example 3

Copy a remote file to a local file by using the URL format, use the hostname to specify the location, and specify the user name and password in the command. The following command creates or replaces the local file autocfg.scr by copying the remote file autocfg.scr located in the directory ftpDir/scripts on the host mary. The username fred and the password passwd in the command are used; the username and password in the host entry are ignored.

copy ftp://fred:passwd@mary/ftpDir/scripts/autocfg.scr autocfg.scr

Example 4

Copy a remote file to a local file by using the URL format, use the hostname to specify the location, specify the user name in the command, and use the default value of the password. The following command creates or replaces the local file autocfg.scr by copying the remote file autocfg.scr located in the directory ftpDir/scripts on the host mary. The username fred from the command and the default password null are used; the username and password in the host entry are ignored.

copy ftp://fred@mary/ftpDir/scripts/autocfg.scr autocfg.scr

Example 5

Copy a remote file to a local file by using the URL format, and use the hostname to specify the location. The protocol TFTP, which does not support usernames or passwords, is the protocol in the URL. The following command creates or replaces the local file autocfg.scr by copying the remote file autocfg.scr located in the directory ftpDir/scripts on the host mary. The protocol specified in the command is used; the protocol for the host entry mary is ignored.

copy tftp://mary/ftpDir/scripts/autocfg.scr autocfg.scr

Example 6

Copy a remote file to a local file by using the URL format, use the hostname to specify the location, and use the username and password from the host entry. The following command creates or replaces the local file autocfg.scr by copying the remote file autocfg.scr located in the directory ftpDir/scripts on the host mary. The username mike and password mikePwd from the host entry are used.

copy ftp://mary/ftpDir/scripts/autocfg.scr autocfg.scr

Example 7

Copy a remote file to a local file by using the URL format. Use the host's IP address to specify the location. The following command creates or replaces the local file autocfg.scr by copying the remote file autocfg.scr located in the directory ftpDir/scripts on the host 172.28.32.156. Use the username fred to access the remote file.

copy ftp://fred@172.28.32.156/ftpDir/scripts/autocfg.scr autocfg.scr

Example 8

Copy a local file to a remote file by using the URL format, and use the host's IP address to specify the location. The following command creates or replaces the remote file shConfigJoe.txt in the directory ftpDir/results on the host 172.28.32.156 by copying the local file shConfig.txt. The username joe and the password passwd from the command are used to access the remote file.

copy shConifg.txt ftp://joe:passwd@172.28.32.156/ftpDir/results/shConfigJoe.txt

Example 9

Redirect the output of a command to a remote file by using the URL format, and use the host's IP address to specify the location. Execute show config, and redirect the output to the remote file shConfigJoe.txt in directory ftpDir/results on host 172.28.32.156 using username joe and password passwd.

show config > ftp://joe:passwd@172.28.32.156/ftpDir/results/shConfigJoe.txt

Using TFTP to Transfer Files

You can use TFTP to copy files and redirect output from the E Series router to a remote server if the remote host supports TFTP. Before transferring files by the remote TFTP server, you must use the host command to define the host and to specify TFTP as the file transfer protocol.

The maximum file size is 32 MB for file transfer. The release package for JunosE Release 6.1.0 and higher-numbered releases includes a split version of all release images that exceed 32 MB. Each chunk is less than 32 MB. You can therefore use TFTP with JunosE Release 6.1.0 and higher-numbered releases to transfer large software images. The JunosE Software copies the split images and reassembles them to full size on the router. The file system on the router does not contain any additional images as a result of this operation.

Configuring the FTP Server

To transfer files by the system’s FTP server, you must configure the FTP server and ensure that FTP client software is installed on the network host.

Although you can transfer any type of file by FTP to the E Series router, the principal aim of this feature is to allow the transfer of system files to NVS. You can transfer files by FTP to the user space. You can then install files from the user space onto the system using the copy command. It is not possible to access the system files directly through FTP operations.

FTP sessions on the E Series router use the vty lines. The E Series router divides its vty resources between Telnet, SSH, and FTP services. Each FTP session requires one vty line. The FTP service uses the authentication method configured for the vty lines.

Features

The system supports the following FTP features:

FTP Passive Mode

Normally, when a client connects to an FTP server, the client establishes the control channel with the server, and the server responds by opening a data channel to the client. However, when the FTP client and server are on opposite sides of a firewall that prohibits inbound FTP connections, the server cannot open a data channel to the client.

FTP passive mode overcomes this connection limitation. In passive mode, the client opens a control channel to the server, tells the server it wants to operate in passive mode, and opens the data channel to the server. This method of establishing the FTP connection allows both the control channel and the data channel to pass through the firewall in the allowed direction.

Configuring Authentication

Before you enable the FTP server, configure the authentication procedure for the vty lines, as follows:

  1. Configure host access lists.
  2. Configure user authentication methods.
  3. Configure the vty lines to use the host access lists and user authentication methods.

You can specify authentication by a RADIUS server or by password checking. If you choose no authentication service, any client can access the FTP server. For information about authentication on vty lines, see Managing the System .

Configuration Tasks

FTP is disabled by default. You must enable the FTP server with the ftp-server enable command before the system allows FTP clients to connect.

ftp-server enable

Configuration Example

Figure 23 shows the scenario for this configuration example.

Figure 23: FTP Configuration Example

Image g013074.gif

In this example, two FTP lines are required for administrators on the data center subnet, and two more lines are required for users on the POP subnet. The system verifies passwords of administrators on the data center subnet through either a RADIUS server or through simple line authentication if the RADIUS server is unreachable. However, the system verifies passwords of users on the POP subnet only through the RADIUS server.

The following example shows all steps for configuring this scenario, from specifying a RADIUS server to enabling the FTP line:

  1. Configure the RADIUS server.
    host1(config)#radius authentication server 10.6.131.51 host1(config-radius)#key abc123 host1(config-radius)#udp-port 1645
  2. Configure two access lists—one named “ DataCenter,” permitting only the data center subnet, and one named “ Pops,” permitting only the POP subnet.
    host1(config)#access-list DataCenter permit 10.6.128.0 255.255.128.0 host1(config)#access-list DataCenter deny any host1(config)#access-list Pops permit 199.125.128.0 255.255.128.0 host1(config)#access-list Pops deny any
  3. Configure two authentication method lists, named “ RadiusAndLine” and “ RadiusOnly.”
    host1(config)#aaa new-model host1(config)#aaa authentication login RadiusAndLine radius line host1(config)#aaa authentication login RadiusOnly radius
  4. Configure two FTP lines to be used by data center administrators.
    host1(config)#line vty 0 1 host1(config-line)#password foobar host1(config-line)#access-class DataCenter in host1(config-line)#login authentication RadiusAndLine
  5. Configure the remaining FTP lines to be used by POP administrators.
    host1(config)#line vty 2 4 host1(config-line)#password foobar host1(config-line)#access-class Pops in host1(config-line)#login authentication RadiusOnly
  6. Enable the FTP server.
    host1(config)#ftp-server enable

Monitoring the FTP Server

Use the dir command to monitor files on the FTP server. Use the show ftp-server and show users commands to monitor settings of the FTP server.

show ftp-server

show users

Copying Partial Releases

You can shorten the time it takes to copy a release from a server and reduce the amount of storage needed for a release. At the default setting, all subsystems are included when you copy a release from a server. Use the exclude-subsystem command to specify subsystems that you do not want to copy from the server. Use the show subsystems command to verify which files are included and excluded when you copy a release from a server.

Follow this example:

  1. Determine which subsystems are included in the release on the server.
    host1#show subsystems file m:/x/images/x-y-z.rel
  2. Exclude any subsystems in the release that you do not need for the configuration.
    host1#(config)#exclude-subsystem coc12 host1#(config)#exclude-subsystem oc12s
  3. (Optional) Remove a subsystem from the exclude list.
    host1#(config)#no exclude-subsystem oc12s
  4. (Optional) Verify the subsystems that will be included and excluded in future release copies.
    host1#show configuration ...exclude-subsystem coc12
  5. (Optional) After copying a release, view which subsystems were excluded.
    host1#show subsystems file x8.rel
  6. (Optional) Determine whether the currently running software is a result of a copy with excluded subsystems. The word “ Partial” indicates that subsystems were excluded.
    host1#show version Juniper Networks, Inc. Operating System SoftwareCopyright (c) 200X Juniper Networks, Inc. All rights reserved.System Release: x-y-z.rel Partial

exclude-subsystem

show subsystems