Lab 8: DHCP and FTP in Cisco Packet Tracer β 3 Sessions
.pkt files between sessions so you can pick up where you left off.Overview
This lab is split into three sessions of roughly 45β60 minutes each. The topology and IP plan carry forward across sessions, so save your .pkt files between sessions.
| Session | Mode | What you do | What you should see |
|---|---|---|---|
| 1 | Solo | Build a small LAN and configure a DHCP server for it. | PCs receive IPs from your DHCP server. |
| 2 | Group of 3 | Connect three Packet Tracer instances over the network using Multiuser. One student hosts the DHCP server, two host clients. | Clients on two separate computers receive leases from the third student's server. |
| 3 | Group of 3 | Add an FTP server and exchange real (simulated) files between group members across the Multiuser link. | Each student successfully downloads and uploads a file. |
Prerequisites
- Cisco Packet Tracer 8.x installed and signed in with a free NetAcad account.
- A computer running Windows, macOS, or Linux.
- For Sessions 2 & 3 only: all group members must be reachable over IP β typically the same classroom Wi-Fi/LAN. If you are off-campus, see the Tailscale fallback at the end of Session 2.
- Host firewall must allow inbound TCP 38000 on the student who runs the DHCP server in Session 2.
Shared IP plan (used in all three sessions)
| Item | Value |
|---|---|
| Network | 192.168.200.0/24 |
| Subnet mask | 255.255.255.0 |
| Default gateway (fictitious) | 192.168.200.1 |
| DNS server (fictitious) | 8.8.8.8 |
| DHCP server itself (static) | 192.168.200.5 |
| DHCP scope | 192.168.200.10 β 192.168.200.100 |
Conventions
- Cables between PCs/servers and a switch are copper straight-through.
- "Click X" means single-click in Packet Tracer to open the device's dialog.
- Anything in
code styleis typed literally into a command prompt or a Packet Tracer field.
Session 1 β Solo: Build Your Own DHCP-Served LAN ~45 min Β· Solo
Save as: Session1.pkt
In This session, you build a small office LAN, then convert it from manual IP assignment to dynamic DHCP β and observe what happens (APIPA) when the DHCP server is unreachable.
1.1 Build the topology
- Open Packet Tracer β File β New.
- From the bottom-left device bar, drag onto the workspace:
- 1 Γ Switch 2960 (Switches category)
- 4 Γ PC (End Devices category) β name them
PC1β¦PC4 - 1 Γ Server-PT (End Devices category) β rename it
DHCP_Server
- From the lightning-bolt Connections menu, pick Copper Straight-Through and connect:
- Each PC's
FastEthernet0β a free port on the switch - The server's
FastEthernet0β a free port on the switch
- Each PC's
- Wait until all link lights turn green.
1.2 Statically assign the server's IP
- Click
DHCP_Serverβ Desktop β IP Configuration. - Choose Static and enter:
- IP Address:
192.168.200.5 - Subnet Mask:
255.255.255.0 - Default Gateway:
192.168.200.1 - DNS Server:
8.8.8.8
- IP Address:
- Close the dialog. Open Desktop β Command Prompt and run
ipconfigto confirm.
1.3 Demonstrate APIPA before enabling DHCP
- Click
PC1β Desktop β IP Configuration β select DHCP. - The status will say something like "DHCP request failed."
- Look at the IP β it will be in the
169.254.x.xrange. This is APIPA, the fallback Lecture 004 covered. - Take note of this address. You will replace it after enabling the server.
1.4 Configure the DHCP service on the server
- Click
DHCP_Serverβ Services β DHCP. - Fill in the serverPool entry (or create a new one):
- Default Gateway:
192.168.200.1 - DNS Server:
8.8.8.8 - Start IP Address:
192.168.200.10 - Subnet Mask:
255.255.255.0 - Maximum Number of Users:
100 - TFTP Server / WLC: leave
0.0.0.0
- Default Gateway:
- Click Save.
- Set Service to On at the top of the dialog.
Common mistakeForgetting to turn the service On is the #1 reason DHCP "doesn't work."
1.5 Renew leases on every PC
- On
PC1β Desktop β Command Prompt:
You should now seeipconfig /release ipconfig /renew ipconfig192.168.200.10(the first address in the scope), with the gateway and DNS you configured. - On
PC2,PC3,PC4β Desktop β IP Configuration β click DHCP. Each will receive.11,.12,.13respectively.
1.6 Verify connectivity
From any PC's command prompt:
ping 192.168.200.5 (the server)
ping 192.168.200.10 (PC1)
Both should reply.
1.7 You are done with Session 1 whenβ¦
- All four PCs show a
192.168.200.1xaddress fromipconfig. - A
ping 192.168.200.5(the server) from any PC succeeds. - You have saved your topology as
Session1.pktso you can reopen it next session.
Session 2 β Group of 3: Connect Two Networks via Multiuser ~50 min Β· Group
Save as: Session2.pkt
Form groups of three. Assign roles:
- Student A β Server Host: runs the DHCP server.
- Student B β Client Host #1: runs two client PCs.
- Student C β Client Host #2: runs two client PCs.
The two client instances will pull DHCP leases from the server instance over a real network connection between the three students' computers. This uses Packet Tracer's Multiuser feature.
2.1 Network reachability β verify before you build
Each student opens a terminal/command prompt on their host OS (not inside Packet Tracer):
- Windows:
ipconfig - macOS / Linux:
ifconfigorip a
Note the IPv4 address of your active interface. From Student B's and Student C's host OS, ping Student A's IP:
ping <Student A's host IP>
Student A must also allow inbound TCP port 38000 through the host firewall:
- Windows: Windows Defender Firewall β Allow an app β add Packet Tracer, or temporarily disable on the Private network profile only.
- macOS: System Settings β Network β Firewall β allow incoming connections for Packet Tracer.
- Linux:
sudo ufw allow 38000/tcp(ifufwis in use).
2.2 Student A β Set up the listening server
- Open your
Session1_<lastname>.pktfrom Session 1. (You already have a working DHCP server.) - From the bottom-left device bar, End Devices category, find the Multiuser Connection β it is a separate cloud-shaped icon. Drag it onto the workspace next to your switch.
- From the Copper Straight-Through cable, connect the Multiuser cloud's
Link0to a freeFastEthernetport on your switch. - From the top menu: Extensions β Multiuser β Listenβ¦
- Confirm port
38000. - Set a password your group will use, e.g.
lab17. - Set New Remote Network acceptance to Always Accept (or Prompt if you want to approve each peer manually).
- Click OK.
- Confirm port
- Share with B and C:
- Your host IP address (from step 2.1).
- The port (
38000). - The password.
Save your file as Session2.pkt.
2.3 Students B and C β Set up the client side
Each of you does the following on your own computer:
- Open Packet Tracer β File β New.
- Build a small topology:
- 1 Γ Switch 2960
- 2 Γ PC (named
PC-B1,PC-B2for Student B;PC-C1,PC-C2for Student C) - Connect both PCs to the switch with copper straight-through cables.
- Drag a Multiuser Connection (cloud icon, End Devices category) onto your workspace.
- Connect the Multiuser cloud to your switch with a copper straight-through cable.
- Click the Multiuser cloud β in its dialog open the Outgoing Connections tab (or use Extensions β Multiuser β Connect to Another Instance). Enter:
- Peer Address:
<Student A's host IP> - Port:
38000 - Password:
lab17 - Click Connect.
- Peer Address:
- The cloud should turn green and show
Connected. If it stays red, see the gotchas.
2.4 Pull DHCP leases across the link
On each client PC (B1, B2, C1, C2):
- Desktop β IP Configuration β click DHCP.
- Within a few seconds the PC should display:
- IP:
192.168.200.1x(somewhere in the scope) - Subnet Mask:
255.255.255.0 - Default Gateway:
192.168.200.1 - DNS Server:
8.8.8.8
- IP:
169.254.x.xThat's APIPA β the DHCP DISCOVER never reached Student A's server. See the gotchas table.2.5 Group verification
- Student A: Click
DHCP_Serverβ Services β DHCP. Scroll the lease list at the bottom. You should see four entries β two MAC addresses from B's PCs, two from C's PCs, all with192.168.200.xaddresses. Take a screenshot of this lease table. - Students B and C: From any of your PCs' command prompts:
All replies should succeed.ping 192.168.200.5 (Student A's server) ping 192.168.200.10 (one of B's PCs) ping 192.168.200.12 (one of C's PCs) - Bonus β see DORA on the wire: Switch to Simulation Mode (bottom-right). Trigger an
ipconfig /releasethen/renewon a client PC and step through the four packets βDHCPDISCOVER β DHCPOFFER β DHCPREQUEST β DHCPACKβ as they cross the Multiuser cloud to Student A's server and back.
2.6 Tailscale fallback (only if you cannot reach each other on the LAN)
What is Tailscale and why do we need it?
Packet Tracer's Multiuser feature works by opening a TCP connection on port 38000 directly between two computers. For that to succeed, the two computers must be able to reach each other's IP addresses β the same way two computers on a home Wi-Fi can ping each other.
In many real-world situations this is blocked:
- Public/campus Wi-Fi often uses client isolation, meaning every device can reach the internet but cannot reach other devices on the same Wi-Fi.
- Different networks: if Student A is on Wi-Fi at home and Student B is on cellular data, their devices have no shared network at all.
- NAT and firewalls between networks normally prevent unsolicited inbound connections.
Tailscale is a free service that solves all three of these problems by creating a small private virtual network (a βtailnetβ) between your devices, on top of the regular Internet. Once installed, every member of your tailnet gets an extra IP address in the 100.x.x.x range that only your tailnet members can use β and any device in your tailnet can reach any other, regardless of which physical network they are on. It's the same idea as a VPN, but specifically designed for connecting your own devices to each other.
When we use Tailscale here, Packet Tracer doesn't know or care about it β it just sees a normal IP address it can reach. We are essentially giving the group a temporary βvirtual classroom Wi-Fiβ for the duration of the lab.
Step-by-step setup
All three students do steps 1β4 before continuing with the rest of Session 2.
- Create a free Tailscale account. Go to https://login.tailscale.com/start. Sign in with a Google, Microsoft, or GitHub account (no credit card needed). The free Personal plan allows up to 100 devices.
ImportantOne group member should sign in first, then invite the other two so all three end up in the same tailnet. If each student signs in with a different account, they will each have their own private tailnet and won't be able to see each other.
To invite teammates: in the Tailscale admin console go to Users β Invite users, enter their email addresses, and have them accept the invitation when signing up. - Install the Tailscale client on each computer:
- Windows: download the installer from tailscale.com/download/windows, run it, and sign in with the same account you (or your inviter) used.
- macOS: download from tailscale.com/download/mac (App Store version) and sign in.
- Linux: follow the one-liner at tailscale.com/download/linux, then run
sudo tailscale up.
- Confirm everyone is in the same tailnet. Open the Tailscale admin console at login.tailscale.com/admin/machines. You should see all three group members' computers listed, each with a
100.x.x.xIP address. Write these down β they replace the regular LAN IPs from step 2.1. - Verify reachability over Tailscale. From Students B's and C's host-OS terminals, ping Student A's Tailscale IP (the
100.x.x.xone):
You should get replies. If you don't, make sure all three Tailscale clients show as βConnectedβ (green) in their system tray / menu bar icon.ping 100.x.x.x - Use the Tailscale IP in Packet Tracer. Now redo the Multiuser steps:
- In step 2.2 (Student A's Listen), nothing changes β Tailscale just makes A's
100.x.x.xIP reachable. - In step 2.3 step 5 (Students B & C's Outgoing connection), enter Student A's Tailscale IP (
100.x.x.x) instead of A's LAN IP. - Port
38000and the password stay the same.
- In step 2.2 (Student A's Listen), nothing changes β Tailscale just makes A's
- When the lab is over, you can either keep Tailscale installed for next session or uninstall it. To temporarily disconnect without uninstalling, click the Tailscale icon in your system tray and choose Disconnect.
Common Tailscale issues
| Symptom | Fix |
|---|---|
| Other group members don't appear in your admin console | They signed in with a different account. They need to accept your email invitation so you all end up in the same tailnet. |
| Tailscale icon shows red/offline | Click it β Connect / Log in. On Windows, also check that the Tailscale service is running in services.msc. |
| Can ping Tailscale IP but Multiuser cloud still red | Student A's host firewall is still blocking port 38000. The firewall rule is needed in addition to Tailscale, because Tailscale only delivers the packets β the OS still has to accept them. |
2.7 You are done with Session 2 whenβ¦
- Each Multiuser cloud (on all three students' workspaces) is green.
- Every client PC on B's and C's workspaces shows a
192.168.200.1xIP from DHCP. - Student A's DHCP lease table on the server lists all of B's and C's PCs by MAC address.
- All group members can
ping 192.168.200.5from their PCs.
Session 3 β Group of 3: Exchange Files via FTP ~50 min Β· Group
Save as: Session3.pkt
Now that you have a working multi-computer network with DHCP, you'll add an FTP server to Student A's machine and use it to actually move files between group members.
.docx or .png files from your real desktop β but the FTP protocol behavior is fully realistic.3.1 Re-establish the Session 2 connection
Repeat the connection steps from Session 2 (load your Session2.pkt files, restart Listen on Student A, reconnect Outgoing on B and C). Confirm the Multiuser clouds are green and the clients have DHCP-assigned addresses before continuing.
3.2 Student A β Enable the FTP server
- Click
DHCP_Server(the same Server-PT will host FTP too) β Services β FTP. - Set Service to On.
- Add a user account:
- Username:
student - Password:
cisco - Permissions: check Write, Read, Delete, Rename, List (all of them).
- Click + to add the user.
- Username:
- Notice the file list at the bottom β Packet Tracer's server already contains some files like
c1841-advipservicesk9-mz.124-15.T1.bin,asa842-k8.bin, etc. These are the "shared files" your group will use as test downloads. - Tell B and C:
- FTP server IP:
192.168.200.5 - Username:
student - Password:
cisco
- FTP server IP:
3.3 Students B and C β Download a file from Student A
On any one of your client PCs:
- Desktop β Command Prompt.
- Connect:
ftp 192.168.200.5 - When prompted, enter:
- Username:
student - Password:
cisco
- Username:
- List the available files:
dir - Download one of them (pick any from the list):
You should see aget c1841-advipservicesk9-mz.124-15.T1.binReading file β¦/ transfer-complete confirmation. - Confirm the file landed locally on the simulated PC:
- Close the FTP session:
quit - On the same PC: Desktop β Text Editor β File β Open β your downloaded file appears in the list.
- Close the FTP session:
3.4 Students B and C β Upload a file back to Student A
- On the same PC: Desktop β Text Editor β File β New.
- Type a short note, for example:
Hello from Student B! This message was uploaded from PC-B1 across the Multiuser link. - File β Save As β name it
helloFromB.txt(Student C useshelloFromC.txt). Click OK. - Desktop β Command Prompt:
Login asftp 192.168.200.5student/cisco. - Upload your note:
put helloFromB.txt - Verify it is now on the server:
You should seedirhelloFromB.txtin the listing. quitto exit FTP.
3.5 Student A β Read your group-mates' notes
- Click
DHCP_Serverβ Services β FTP. The file list at the bottom now containshelloFromB.txtandhelloFromC.txt. - To read them, use any client PC on your own topology (or add a temporary
PC-A1to your switch and configure it for DHCP):ftp 192.168.200.5 get helloFromB.txt get helloFromC.txt quit - Open them in Desktop β Text Editor. Read your group-mates' messages out loud.
3.6 You are done with Session 3 whenβ¦
- Each client (B and C) has run at least one
get(download) successfully. - Each client has uploaded their own
helloFrom*.txtto Student A's server. - Student A can see both
helloFromB.txtandhelloFromC.txtin the FTP file list and has read them.
Common Gotchas (all sessions)
| Symptom | Likely cause | Fix |
|---|---|---|
Client gets 169.254.x.x (APIPA) | DHCP DISCOVER never reached the server. | Confirm DHCP Service: On and you clicked Save after editing the pool. In Session 2, also confirm both Multiuser clouds are green. |
| Multiuser cloud stays red | Host firewall blocks port 38000, or wrong IP/password. | On Student A: allow inbound TCP 38000. From B/C's host OS: ping <A's IP> must succeed first. Re-check the password is identical. |
| "Peer rejected" in Multiuser | Wrong password, or A's Listen mode isn't on. | On A: Extensions β Multiuser β Listenβ¦ must show Listening on port 38000. |
FTP put fails with permission error | The FTP user doesn't have Write permission. | On A: Services β FTP β edit the student user β check Write β click Save. |
| Two students can't ping each other's host OS | Different networks, NAT separation, or campus-Wi-Fi client isolation. | Use the Tailscale fallback in Session 2.6. |
DHCP scope shows 0.0.0.0 start IP | The pool wasn't saved with the right gateway. | Re-open the pool, set Default Gateway to 192.168.200.1, set Start IP to 192.168.200.10, click Save again. |
| Lab #8 video shows different IPs | The video uses 192.168.100.x then switches to 192.168.200.x. | Use this lab's IP plan (192.168.200.0/24) throughout. |
End of lab. This lab is not marked β there is nothing to submit. If your group finishes Session 3 early, try adding an HTTP service on Student A's server (Services β HTTP, edit index.html) and have B and C visit http://192.168.200.5 from their PCs' Web Browser.