Add readme.md
This commit is contained in:
commit
ba8b3e88b5
926
readme.md
Normal file
926
readme.md
Normal file
|
|
@ -0,0 +1,926 @@
|
|||
# TeamViewer VPN Configuration Guide
|
||||
## Remote Access to Siemens S7-1200 PLC via TeamViewer VPN
|
||||
|
||||
This guide explains how to configure TeamViewer VPN to remotely access industrial PLCs (specifically Siemens S7-1200) that are on a remote local network.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Important Notes
|
||||
|
||||
- **TeamViewer VPN requires TeamViewer License** (Premium, Corporate, or Tensor)
|
||||
- **Free version does NOT support VPN feature**
|
||||
- This guide assumes you have a valid TeamViewer license
|
||||
- PLC programming requires TIA Portal or STEP 7
|
||||
- Industrial network security best practices should be followed
|
||||
|
||||
---
|
||||
|
||||
## Network Topology
|
||||
|
||||
```
|
||||
Your Computer (Engineer/Programmer)
|
||||
↓ (Internet)
|
||||
TeamViewer VPN Connection
|
||||
↓ (Virtual VPN Tunnel)
|
||||
Remote Gateway PC (with TeamViewer)
|
||||
↓ (Local Network: 192.168.10.0/24)
|
||||
Siemens S7-1200 PLC (192.168.10.100)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Software Requirements
|
||||
|
||||
**On Your Computer (Client):**
|
||||
- TeamViewer (Full version with VPN license)
|
||||
- TIA Portal V16/V17/V18 or STEP 7
|
||||
- Windows 10/11 or Linux with Wine (for TIA Portal)
|
||||
|
||||
**On Remote Gateway PC:**
|
||||
- TeamViewer (Full version with VPN license)
|
||||
- Windows 7 or later / Linux
|
||||
- Access to 192.168.10.0/24 network where PLC is located
|
||||
- **Must be always running and connected to internet**
|
||||
|
||||
### Network Requirements
|
||||
|
||||
- Remote PC must have network access to PLC network (192.168.10.0/24)
|
||||
- PLC must be reachable from remote gateway PC
|
||||
- Firewall rules allowing TeamViewer VPN traffic
|
||||
- Static IP recommended for PLC (e.g., 192.168.10.100)
|
||||
|
||||
---
|
||||
|
||||
## Information to Collect
|
||||
|
||||
Before starting, gather this information:
|
||||
|
||||
### Remote Gateway PC Information:
|
||||
- TeamViewer ID: `_________________`
|
||||
- Computer Name: `_________________`
|
||||
- Local IP Address: `_________________` (e.g., 192.168.10.50)
|
||||
- Network Interface connected to PLC network: `_________________` (e.g., eth0, Ethernet)
|
||||
- Gateway/Router IP: `_________________` (e.g., 192.168.10.1)
|
||||
|
||||
### PLC Network Information:
|
||||
- PLC Network Subnet: `_________________` (e.g., 192.168.10.0/24)
|
||||
- PLC IP Address: `_________________` (e.g., 192.168.10.100)
|
||||
- PLC Subnet Mask: `_________________` (e.g., 255.255.255.0)
|
||||
- Other devices on network: `_________________`
|
||||
|
||||
### TeamViewer VPN Information:
|
||||
- Your VPN IP (assigned by TeamViewer): `_________________` (e.g., 7.x.x.x)
|
||||
- Remote PC VPN IP (assigned by TeamViewer): `_________________` (e.g., 7.x.x.x)
|
||||
|
||||
---
|
||||
|
||||
## Step-by-Step Configuration
|
||||
|
||||
## Part 1: Remote Gateway PC Setup
|
||||
|
||||
### STEP 1: Install TeamViewer on Remote Gateway PC
|
||||
|
||||
**For Windows:**
|
||||
1. Download TeamViewer from https://www.teamviewer.com
|
||||
2. Install with "Install to access this computer remotely" option
|
||||
3. Set up unattended access with password
|
||||
4. Configure to start with Windows
|
||||
|
||||
**For Linux (Debian/Ubuntu):**
|
||||
```bash
|
||||
# Download TeamViewer
|
||||
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
|
||||
|
||||
# Install
|
||||
sudo dpkg -i teamviewer_amd64.deb
|
||||
sudo apt-get install -f
|
||||
|
||||
# Start TeamViewer
|
||||
teamviewer
|
||||
|
||||
# Enable daemon for unattended access
|
||||
sudo teamviewer daemon enable
|
||||
```
|
||||
|
||||
**For Linux (CentOS/RHEL):**
|
||||
```bash
|
||||
# Download TeamViewer
|
||||
wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
|
||||
|
||||
# Install
|
||||
sudo yum install ./teamviewer.x86_64.rpm
|
||||
|
||||
# Start TeamViewer
|
||||
teamviewer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### STEP 2: Configure TeamViewer for Unattended Access
|
||||
|
||||
1. Open TeamViewer
|
||||
2. Go to **Extras** → **Options**
|
||||
3. **General Tab:**
|
||||
- Set TeamViewer to start with system
|
||||
- Enable "Start TeamViewer with Windows/System"
|
||||
4. **Security Tab:**
|
||||
- Set a strong password for unattended access
|
||||
- Configure "Random password" to "Disabled" (use permanent password)
|
||||
5. **Remote Control Tab:**
|
||||
- Disable "Confirm all" if needed for automation
|
||||
6. Note the **TeamViewer ID** - you'll need this to connect
|
||||
|
||||
---
|
||||
|
||||
### STEP 3: Verify Network Access to PLC
|
||||
|
||||
**On Remote Gateway PC:**
|
||||
|
||||
**Windows:**
|
||||
```cmd
|
||||
# Test ping to PLC
|
||||
ping 192.168.10.100
|
||||
|
||||
# Check network configuration
|
||||
ipconfig /all
|
||||
|
||||
# Test connection to PLC port (usually 102 for S7 comm)
|
||||
# Install telnet first if not available
|
||||
telnet 192.168.10.100 102
|
||||
```
|
||||
|
||||
**Linux:**
|
||||
```bash
|
||||
# Test ping to PLC
|
||||
ping -c 4 192.168.10.100
|
||||
|
||||
# Check network configuration
|
||||
ip addr show
|
||||
ip route show
|
||||
|
||||
# Test connection to PLC port
|
||||
nc -zv 192.168.10.100 102
|
||||
# or
|
||||
telnet 192.168.10.100 102
|
||||
```
|
||||
|
||||
✅ **Checkpoint:** Gateway PC must be able to ping and reach PLC before continuing
|
||||
|
||||
---
|
||||
|
||||
### STEP 4: Enable IP Forwarding (Linux Gateway Only)
|
||||
|
||||
**Skip this step if using Windows as gateway**
|
||||
|
||||
**For Linux Gateway:**
|
||||
|
||||
```bash
|
||||
# Check current setting
|
||||
cat /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
# Enable IP forwarding
|
||||
sudo sysctl -w net.ipv4.ip_forward=1
|
||||
|
||||
# Make permanent
|
||||
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
|
||||
|
||||
# Apply changes
|
||||
sudo sysctl -p
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### STEP 5: Configure Firewall (Linux Gateway Only)
|
||||
|
||||
**For Linux Gateway with iptables:**
|
||||
|
||||
```bash
|
||||
# Allow forwarding from TeamViewer VPN to local network
|
||||
# Get TeamViewer VPN interface name first
|
||||
ip addr show | grep -A 2 "^[0-9].*teamviewer"
|
||||
|
||||
# Usually it's something like: teamviewer0 or tap0
|
||||
# Replace <TV_INTERFACE> with actual interface name
|
||||
# Replace <LOCAL_INTERFACE> with interface connected to PLC network (e.g., eth0)
|
||||
|
||||
# Allow forwarding
|
||||
sudo iptables -A FORWARD -i <TV_INTERFACE> -o <LOCAL_INTERFACE> -j ACCEPT
|
||||
sudo iptables -A FORWARD -i <LOCAL_INTERFACE> -o <TV_INTERFACE> -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
|
||||
# Example:
|
||||
sudo iptables -A FORWARD -i teamviewer0 -o eth0 -j ACCEPT
|
||||
sudo iptables -A FORWARD -i eth0 -o teamviewer0 -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
|
||||
# Save rules
|
||||
sudo iptables-save | sudo tee /etc/iptables/rules.v4
|
||||
```
|
||||
|
||||
**For Linux Gateway with firewalld:**
|
||||
|
||||
```bash
|
||||
# Add TeamViewer interface to trusted zone
|
||||
sudo firewall-cmd --zone=trusted --add-interface=teamviewer0 --permanent
|
||||
|
||||
# Allow forwarding
|
||||
sudo firewall-cmd --permanent --add-masquerade
|
||||
sudo firewall-cmd --reload
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Part 2: Your Computer (Client) Setup
|
||||
|
||||
### STEP 6: Install TeamViewer on Your Computer
|
||||
|
||||
1. Download and install TeamViewer from https://www.teamviewer.com
|
||||
2. Log in with your TeamViewer account (required for VPN)
|
||||
3. Ensure you have VPN feature enabled (check your license)
|
||||
|
||||
---
|
||||
|
||||
### STEP 7: Establish TeamViewer VPN Connection
|
||||
|
||||
1. Open TeamViewer
|
||||
2. Enter the **Remote Gateway PC's TeamViewer ID**
|
||||
3. Instead of clicking "Remote Control", click the **dropdown arrow** next to it
|
||||
4. Select **"VPN"** from the dropdown menu
|
||||
5. Enter the unattended access password
|
||||
6. Wait for VPN connection to establish
|
||||
|
||||
**What happens:**
|
||||
- TeamViewer creates a virtual network adapter on both computers
|
||||
- Both computers get IPs in the 7.x.x.x range (e.g., 7.x.x.1 and 7.x.x.2)
|
||||
- A point-to-point VPN tunnel is created
|
||||
|
||||
---
|
||||
|
||||
### STEP 8: Identify TeamViewer VPN IP Addresses
|
||||
|
||||
**On Your Computer:**
|
||||
|
||||
**Windows:**
|
||||
```cmd
|
||||
ipconfig /all
|
||||
# Look for "TeamViewer VPN Adapter"
|
||||
# Note the IPv4 Address (e.g., 7.254.0.1)
|
||||
```
|
||||
|
||||
**Linux:**
|
||||
```bash
|
||||
ip addr show | grep -A 5 teamviewer
|
||||
# Note the inet address
|
||||
```
|
||||
|
||||
**Record:**
|
||||
- Your VPN IP: `_________________`
|
||||
- Remote PC VPN IP: `_________________` (usually your IP ± 1)
|
||||
|
||||
✅ **Test VPN Connection:**
|
||||
```bash
|
||||
# Ping remote gateway PC via VPN
|
||||
ping <REMOTE_VPN_IP>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### STEP 9: Add Static Route to PLC Network
|
||||
|
||||
You need to tell your computer that to reach 192.168.10.0/24, it should route through the TeamViewer VPN.
|
||||
|
||||
**On Your Computer (Windows):**
|
||||
|
||||
```cmd
|
||||
# Add route to PLC network via TeamViewer VPN
|
||||
# Template:
|
||||
route ADD <PLC_NETWORK> MASK <SUBNET_MASK> <REMOTE_VPN_IP>
|
||||
|
||||
# Example:
|
||||
route ADD 192.168.10.0 MASK 255.255.255.0 7.254.0.2
|
||||
|
||||
# Make permanent (add -p flag):
|
||||
route ADD 192.168.10.0 MASK 255.255.255.0 7.254.0.2 -p
|
||||
|
||||
# Verify route
|
||||
route PRINT
|
||||
```
|
||||
|
||||
**On Your Computer (Linux):**
|
||||
|
||||
```bash
|
||||
# Add route to PLC network via TeamViewer VPN
|
||||
# Template:
|
||||
sudo ip route add <PLC_NETWORK>/<CIDR> via <REMOTE_VPN_IP>
|
||||
|
||||
# Example:
|
||||
sudo ip route add 192.168.10.0/24 via 7.254.0.2
|
||||
|
||||
# Verify route
|
||||
ip route show | grep 192.168.10
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### STEP 10: Configure Static Route on Remote Gateway PC (Windows Only)
|
||||
|
||||
**If Remote Gateway is Windows:**
|
||||
|
||||
The remote PC needs to know that traffic destined for your VPN IP should go through the TeamViewer VPN interface.
|
||||
|
||||
```cmd
|
||||
# Usually not needed if TeamViewer handles routing automatically
|
||||
# But if you have issues, add this route:
|
||||
|
||||
# Get your VPN IP (e.g., 7.254.0.1)
|
||||
# Add route on remote PC:
|
||||
route ADD 7.254.0.0 MASK 255.255.0.0 <TEAMVIEWER_GATEWAY> IF <INTERFACE_INDEX>
|
||||
|
||||
# Check with:
|
||||
route PRINT
|
||||
```
|
||||
|
||||
**Most times this is automatic**, so skip if you can ping the PLC from your computer.
|
||||
|
||||
---
|
||||
|
||||
### STEP 11: Test Connectivity to PLC
|
||||
|
||||
**From Your Computer:**
|
||||
|
||||
**Test 1: Ping the PLC**
|
||||
```bash
|
||||
ping 192.168.10.100
|
||||
```
|
||||
|
||||
**Test 2: Check route**
|
||||
```cmd
|
||||
# Windows
|
||||
tracert 192.168.10.100
|
||||
|
||||
# Linux
|
||||
traceroute 192.168.10.100
|
||||
```
|
||||
|
||||
Expected path:
|
||||
```
|
||||
1. Your computer (local)
|
||||
2. Remote VPN IP (e.g., 7.254.0.2)
|
||||
3. PLC (192.168.10.100)
|
||||
```
|
||||
|
||||
**Test 3: Test S7 Communication Port**
|
||||
```bash
|
||||
# Windows (if telnet enabled)
|
||||
telnet 192.168.10.100 102
|
||||
|
||||
# Linux
|
||||
nc -zv 192.168.10.100 102
|
||||
```
|
||||
|
||||
✅ **Checkpoint:** Should be able to ping and reach port 102 on PLC
|
||||
|
||||
---
|
||||
|
||||
## Part 3: TIA Portal / STEP 7 Configuration
|
||||
|
||||
### STEP 12: Configure TIA Portal for Remote PLC Access
|
||||
|
||||
1. **Open TIA Portal**
|
||||
2. **Open your project** or create new one
|
||||
3. **Add new device** or go to existing PLC configuration
|
||||
|
||||
4. **Configure PLC Connection:**
|
||||
- Go to **Online & Diagnostics** or **Online Access**
|
||||
- Click **"Accessible Devices"** → **"Update accessible devices"**
|
||||
- Set **PG/PC Interface**: Choose the network adapter
|
||||
- **Important:** Select your **main network adapter** (not TeamViewer VPN adapter)
|
||||
|
||||
5. **Add PLC Manually if not auto-detected:**
|
||||
- Right-click on network → **Add new subnet**
|
||||
- Set subnet: `PN/IE_1` (or similar)
|
||||
- Add PLC with IP: `192.168.10.100`
|
||||
- Set interface: `PN/IE` with IP `192.168.10.100`
|
||||
|
||||
6. **Go Online with PLC:**
|
||||
- Select your PLC in project tree
|
||||
- Click **"Go Online"** button
|
||||
- If connection dialog appears, verify IP `192.168.10.100`
|
||||
- Click **Connect**
|
||||
|
||||
### Alternative: Use NetPro (STEP 7 Classic)
|
||||
|
||||
1. Open NetPro
|
||||
2. Configure PG/PC Interface
|
||||
3. Set route to PLC: `192.168.10.100`
|
||||
4. Test connection
|
||||
|
||||
---
|
||||
|
||||
## Part 4: Automation & Scripts
|
||||
|
||||
For easier setup, use the provided configuration scripts.
|
||||
|
||||
### Windows Automation Script
|
||||
|
||||
See: `teamviewer-vpn-setup-windows.bat`
|
||||
|
||||
### Linux Automation Script
|
||||
|
||||
See: `teamviewer-vpn-setup-linux.sh`
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting Guide
|
||||
|
||||
### Issue 1: Cannot Connect TeamViewer VPN
|
||||
|
||||
**Symptoms:**
|
||||
- VPN option grayed out
|
||||
- "VPN not available" error
|
||||
|
||||
**Solutions:**
|
||||
1. Verify TeamViewer license includes VPN feature
|
||||
2. Log in to TeamViewer account on both computers
|
||||
3. Update TeamViewer to latest version
|
||||
4. Check firewall isn't blocking TeamViewer (port 5938)
|
||||
5. Try restarting TeamViewer service:
|
||||
```cmd
|
||||
# Windows
|
||||
net stop TeamViewer
|
||||
net start TeamViewer
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Issue 2: VPN Connects but Cannot Ping Remote PC
|
||||
|
||||
**Symptoms:**
|
||||
- VPN status shows "Connected"
|
||||
- Cannot ping remote VPN IP (e.g., 7.254.0.2)
|
||||
|
||||
**Solutions:**
|
||||
|
||||
1. **Check VPN adapter status:**
|
||||
```cmd
|
||||
# Windows
|
||||
ipconfig /all
|
||||
# Look for TeamViewer VPN adapter - should show IP 7.x.x.x
|
||||
```
|
||||
|
||||
2. **Check Windows Firewall on remote PC:**
|
||||
```cmd
|
||||
# Temporarily disable to test
|
||||
netsh advfirewall set allprofiles state off
|
||||
|
||||
# If this fixes it, create rules:
|
||||
netsh advfirewall firewall add rule name="TeamViewer VPN" dir=in action=allow protocol=any remoteip=7.0.0.0/8
|
||||
|
||||
# Re-enable firewall
|
||||
netsh advfirewall set allprofiles state on
|
||||
```
|
||||
|
||||
3. **Restart network adapter:**
|
||||
- Network Connections → Disable/Enable TeamViewer VPN adapter
|
||||
|
||||
---
|
||||
|
||||
### Issue 3: Can Ping Remote PC but Cannot Reach PLC
|
||||
|
||||
**Symptoms:**
|
||||
- Can ping remote VPN IP (7.254.0.2)
|
||||
- Cannot ping PLC (192.168.10.100)
|
||||
|
||||
**Solutions:**
|
||||
|
||||
1. **Verify route is configured:**
|
||||
```cmd
|
||||
# Windows
|
||||
route PRINT | findstr 192.168.10
|
||||
|
||||
# Linux
|
||||
ip route show | grep 192.168.10
|
||||
```
|
||||
|
||||
2. **Test from remote gateway PC:**
|
||||
- Connect via TeamViewer Remote Control to gateway PC
|
||||
- Try pinging PLC from there: `ping 192.168.10.100`
|
||||
- If this fails, problem is in local network, not VPN
|
||||
|
||||
3. **Check IP forwarding on Linux gateway:**
|
||||
```bash
|
||||
cat /proc/sys/net/ipv4/ip_forward
|
||||
# Should return 1
|
||||
```
|
||||
|
||||
4. **Check firewall on gateway PC** (see Step 5)
|
||||
|
||||
5. **Verify PLC is actually at that IP:**
|
||||
- Use PLC web server (if enabled): http://192.168.10.100
|
||||
- Check PLC front panel/display for IP address
|
||||
- Use TIA Portal hardware detection
|
||||
|
||||
---
|
||||
|
||||
### Issue 4: TIA Portal Cannot Find PLC
|
||||
|
||||
**Symptoms:**
|
||||
- Can ping PLC (192.168.10.100)
|
||||
- TIA Portal shows "No accessible devices found"
|
||||
- Communication test fails
|
||||
|
||||
**Solutions:**
|
||||
|
||||
1. **Check TIA Portal Network Settings:**
|
||||
- File → Settings → PG/PC Interface
|
||||
- Make sure correct adapter is selected
|
||||
- Try selecting "PN/IE" interface
|
||||
|
||||
2. **Use correct subnet mask in TIA Portal:**
|
||||
- PLC properties → PROFINET Interface
|
||||
- Ensure subnet matches: 192.168.10.0/24
|
||||
|
||||
3. **Disable Windows Firewall temporarily:**
|
||||
```cmd
|
||||
netsh advfirewall set allprofiles state off
|
||||
```
|
||||
If this works, add specific rules for TIA Portal
|
||||
|
||||
4. **Check PLC CPU is in RUN or STOP mode:**
|
||||
- Some operations require STOP mode
|
||||
- Check LED indicators on PLC
|
||||
|
||||
5. **Verify PLC protection level:**
|
||||
- Protection level 3 blocks write access
|
||||
- Password may be required
|
||||
|
||||
6. **Try Online → Accessible Devices → Update**
|
||||
- Click "Update Accessible Devices"
|
||||
- Wait 30-60 seconds for scan
|
||||
|
||||
7. **Add PLC manually in TIA Portal:**
|
||||
- Don't rely on auto-detection
|
||||
- Manually specify IP: 192.168.10.100
|
||||
|
||||
---
|
||||
|
||||
### Issue 5: Connection Drops Frequently
|
||||
|
||||
**Symptoms:**
|
||||
- VPN disconnects randomly
|
||||
- Connection unstable
|
||||
|
||||
**Solutions:**
|
||||
|
||||
1. **Check internet stability on both ends:**
|
||||
- Run speed test
|
||||
- Check for packet loss: `ping -t 8.8.8.8`
|
||||
|
||||
2. **Adjust TeamViewer settings:**
|
||||
- Extras → Options → Advanced
|
||||
- Disable "Optimize quality"
|
||||
- Set connection quality to "Low quality"
|
||||
|
||||
3. **Use TeamViewer Wake-on-LAN:**
|
||||
- Set up WoL for remote PC
|
||||
- Configure in TeamViewer options
|
||||
|
||||
4. **Keep remote PC from sleeping:**
|
||||
```cmd
|
||||
# Windows - Disable sleep
|
||||
powercfg -change -standby-timeout-ac 0
|
||||
powercfg -change -hibernate-timeout-ac 0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Issue 6: Slow PLC Communication
|
||||
|
||||
**Symptoms:**
|
||||
- Connection works but very slow
|
||||
- Uploads/downloads take forever
|
||||
- TIA Portal timeouts
|
||||
|
||||
**Solutions:**
|
||||
|
||||
1. **Reduce communication load:**
|
||||
- Close unnecessary programs on both PCs
|
||||
- Disable cloud sync, updates during work
|
||||
|
||||
2. **Increase TIA Portal timeout:**
|
||||
- Options → Settings → Communication
|
||||
- Increase timeout values
|
||||
|
||||
3. **Check TeamViewer quality settings:**
|
||||
- Reduce quality when VPN is active
|
||||
- Close remote control sessions when using VPN
|
||||
|
||||
4. **Use wired connection on both ends:**
|
||||
- WiFi can cause latency issues
|
||||
|
||||
---
|
||||
|
||||
### Issue 7: Linux-Specific Issues
|
||||
|
||||
**TeamViewer doesn't start:**
|
||||
```bash
|
||||
# Check service status
|
||||
sudo systemctl status teamviewerd
|
||||
|
||||
# Restart service
|
||||
sudo systemctl restart teamviewerd
|
||||
|
||||
# Check logs
|
||||
journalctl -u teamviewerd -n 50
|
||||
```
|
||||
|
||||
**VPN adapter not created:**
|
||||
```bash
|
||||
# Check loaded kernel modules
|
||||
lsmod | grep tun
|
||||
|
||||
# Load tun module if missing
|
||||
sudo modprobe tun
|
||||
|
||||
# Make permanent
|
||||
echo "tun" | sudo tee -a /etc/modules
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference Commands
|
||||
|
||||
### Windows Commands
|
||||
|
||||
```cmd
|
||||
REM View all network routes
|
||||
route PRINT
|
||||
|
||||
REM Add route to PLC network
|
||||
route ADD 192.168.10.0 MASK 255.255.255.0 7.254.0.2 -p
|
||||
|
||||
REM Remove route
|
||||
route DELETE 192.168.10.0
|
||||
|
||||
REM View network adapters
|
||||
ipconfig /all
|
||||
|
||||
REM Test PLC connectivity
|
||||
ping 192.168.10.100
|
||||
telnet 192.168.10.100 102
|
||||
|
||||
REM Restart TeamViewer service
|
||||
net stop TeamViewer
|
||||
net start TeamViewer
|
||||
```
|
||||
|
||||
### Linux Commands
|
||||
|
||||
```bash
|
||||
# View all network routes
|
||||
ip route show
|
||||
|
||||
# Add route to PLC network
|
||||
sudo ip route add 192.168.10.0/24 via 7.254.0.2
|
||||
|
||||
# Remove route
|
||||
sudo ip route del 192.168.10.0/24
|
||||
|
||||
# View network adapters
|
||||
ip addr show
|
||||
|
||||
# Test PLC connectivity
|
||||
ping 192.168.10.100
|
||||
nc -zv 192.168.10.100 102
|
||||
|
||||
# Restart TeamViewer service
|
||||
sudo systemctl restart teamviewerd
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Security Considerations
|
||||
|
||||
### Best Practices
|
||||
|
||||
1. **Use Strong Passwords:**
|
||||
- Set complex TeamViewer password (15+ characters)
|
||||
- Enable two-factor authentication on TeamViewer account
|
||||
|
||||
2. **Limit Access:**
|
||||
- Only allow VPN connections from known TeamViewer IDs
|
||||
- Use TeamViewer Management Console for access control
|
||||
|
||||
3. **PLC Security:**
|
||||
- Set PLC protection level appropriately
|
||||
- Use password protection on PLC
|
||||
- Enable access control lists if PLC supports it
|
||||
|
||||
4. **Network Segmentation:**
|
||||
- Keep PLC network separate from office network
|
||||
- Use VLAN if possible
|
||||
- Gateway PC should only have access to PLC network
|
||||
|
||||
5. **Logging:**
|
||||
- Enable TeamViewer connection logging
|
||||
- Monitor who connects and when
|
||||
- Keep audit trail of PLC changes
|
||||
|
||||
6. **Regular Updates:**
|
||||
- Keep TeamViewer updated
|
||||
- Update PLC firmware when security patches available
|
||||
- Keep Windows/Linux updated on gateway PC
|
||||
|
||||
7. **Backup:**
|
||||
- Regular PLC program backups
|
||||
- Version control for PLC code
|
||||
- Document all changes
|
||||
|
||||
---
|
||||
|
||||
## Advanced Configuration
|
||||
|
||||
### Multiple PLCs on Same Network
|
||||
|
||||
If you have multiple PLCs on 192.168.10.0/24:
|
||||
|
||||
```
|
||||
PLC1: 192.168.10.100
|
||||
PLC2: 192.168.10.101
|
||||
PLC3: 192.168.10.102
|
||||
```
|
||||
|
||||
**No additional routing needed** - the single route covers entire subnet:
|
||||
```cmd
|
||||
route ADD 192.168.10.0 MASK 255.255.255.0 7.254.0.2 -p
|
||||
```
|
||||
|
||||
### Multiple Remote Sites
|
||||
|
||||
For accessing PLCs at different sites:
|
||||
|
||||
**Site A:** 192.168.10.0/24 (Gateway TeamViewer ID: 123456789)
|
||||
**Site B:** 192.168.20.0/24 (Gateway TeamViewer ID: 987654321)
|
||||
|
||||
**Solution:**
|
||||
1. Connect VPN to Site A → Add route for 192.168.10.0/24
|
||||
2. Disconnect VPN
|
||||
3. Connect VPN to Site B → Add route for 192.168.20.0/24
|
||||
4. Use script to automate route changes (see provided scripts)
|
||||
|
||||
### Permanent vs. Temporary Routes
|
||||
|
||||
**Temporary Route (lost on reboot):**
|
||||
```cmd
|
||||
route ADD 192.168.10.0 MASK 255.255.255.0 7.254.0.2
|
||||
```
|
||||
|
||||
**Permanent Route (Windows):**
|
||||
```cmd
|
||||
route ADD 192.168.10.0 MASK 255.255.255.0 7.254.0.2 -p
|
||||
```
|
||||
|
||||
**Permanent Route (Linux):**
|
||||
Add to `/etc/network/interfaces` or create systemd service
|
||||
|
||||
---
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
### Recommended Settings
|
||||
|
||||
**TeamViewer Settings:**
|
||||
- Quality: Medium (for VPN mode)
|
||||
- Display: 16-bit colors
|
||||
- Disable wallpaper/animations
|
||||
- Close remote control when using VPN only
|
||||
|
||||
**TIA Portal Settings:**
|
||||
- Communication timeout: 10000ms (10 seconds)
|
||||
- Disable automatic compile
|
||||
- Work offline, upload/download when ready
|
||||
|
||||
**Network Recommendations:**
|
||||
- Minimum 5 Mbps upload/download on both ends
|
||||
- Latency < 100ms preferred
|
||||
- Wired connection recommended
|
||||
- Close bandwidth-heavy applications
|
||||
|
||||
---
|
||||
|
||||
## Alternatives to TeamViewer VPN
|
||||
|
||||
If TeamViewer VPN doesn't meet your needs:
|
||||
|
||||
1. **ZeroTier** (covered in separate guide)
|
||||
- More flexible routing
|
||||
- Free tier available
|
||||
- Mesh network topology
|
||||
|
||||
2. **OpenVPN**
|
||||
- Full VPN solution
|
||||
- Requires server setup
|
||||
- More complex configuration
|
||||
|
||||
3. **WireGuard**
|
||||
- Modern, fast VPN
|
||||
- Simple configuration
|
||||
- Requires server
|
||||
|
||||
4. **Tailscale**
|
||||
- Built on WireGuard
|
||||
- Easy mesh network
|
||||
- Free tier available
|
||||
|
||||
5. **Direct PLC Remote Access** (Siemens specific)
|
||||
- TeleService
|
||||
- Siemens Cloud Connect
|
||||
- Industrial VPN routers (e.g., mGuard)
|
||||
|
||||
---
|
||||
|
||||
## Appendix A: Port Reference
|
||||
|
||||
| Device/Service | Port | Protocol | Purpose |
|
||||
|----------------|------|----------|---------|
|
||||
| TeamViewer | 5938 | TCP | Primary connection |
|
||||
| S7-1200 PLC | 102 | TCP | ISO-on-TCP (S7 Communication) |
|
||||
| S7-1200 PLC | 80 | TCP | HTTP (Web Server) |
|
||||
| S7-1200 PLC | 443 | TCP | HTTPS (Secure Web Server) |
|
||||
| PROFINET | 34962-34964 | UDP | Real-time communication |
|
||||
| TIA Portal | Various | TCP/UDP | Project transfer |
|
||||
|
||||
---
|
||||
|
||||
## Appendix B: Common S7-1200 IP Configurations
|
||||
|
||||
| Parameter | Typical Value | Notes |
|
||||
|-----------|---------------|-------|
|
||||
| IP Address | 192.168.0.1 - 192.168.0.254 | Factory default varies by CPU |
|
||||
| Subnet Mask | 255.255.255.0 | /24 network |
|
||||
| Gateway | 192.168.0.1 | Usually router IP |
|
||||
| DHCP | Disabled | Static IP recommended |
|
||||
|
||||
**To find PLC IP:**
|
||||
1. Check PLC display (if HMI attached)
|
||||
2. Use TIA Portal "Accessible Devices" scan
|
||||
3. Check DHCP server lease table
|
||||
4. Connect via USB and read configuration
|
||||
|
||||
---
|
||||
|
||||
## Appendix C: TIA Portal Version Compatibility
|
||||
|
||||
| TIA Portal Version | S7-1200 CPU Support | Notes |
|
||||
|-------------------|---------------------|-------|
|
||||
| V11 | V1.x, V2.x | Older |
|
||||
| V12 | V1.x, V2.x, V3.x | |
|
||||
| V13 SP1+ | V1.x - V4.x | |
|
||||
| V14 | V1.x - V4.x | |
|
||||
| V15 | V1.x - V4.x | |
|
||||
| V16 | V1.x - V4.x | Recommended |
|
||||
| V17 | V1.x - V4.5 | Latest features |
|
||||
| V18 | V1.x - V4.6 | Current |
|
||||
|
||||
---
|
||||
|
||||
## Post-Configuration Checklist
|
||||
|
||||
- [ ] TeamViewer installed on both computers
|
||||
- [ ] TeamViewer license verified (VPN feature enabled)
|
||||
- [ ] Unattended access configured on remote gateway PC
|
||||
- [ ] VPN connection established successfully
|
||||
- [ ] VPN IP addresses identified
|
||||
- [ ] Static route added to PLC network
|
||||
- [ ] Can ping remote VPN IP from your computer
|
||||
- [ ] Can ping PLC IP from your computer
|
||||
- [ ] IP forwarding enabled (Linux gateway)
|
||||
- [ ] Firewall rules configured (Linux gateway)
|
||||
- [ ] TIA Portal can detect/connect to PLC
|
||||
- [ ] Successfully uploaded/downloaded PLC program
|
||||
- [ ] Routes made persistent (optional but recommended)
|
||||
- [ ] Connection documented for future use
|
||||
- [ ] Backup of PLC program created
|
||||
|
||||
---
|
||||
|
||||
## Support Resources
|
||||
|
||||
**TeamViewer:**
|
||||
- Official Documentation: https://www.teamviewer.com/en/documents/
|
||||
- VPN Guide: https://community.teamviewer.com/
|
||||
|
||||
**Siemens:**
|
||||
- TIA Portal Documentation: https://support.industry.siemens.com/
|
||||
- S7-1200 Manual: Search for "S7-1200 System Manual"
|
||||
- Siemens Forum: https://support.industry.siemens.com/tf/ww/en/
|
||||
|
||||
**Community:**
|
||||
- PLCTalk Forum: https://www.plctalk.net/
|
||||
- Reddit r/PLC: https://www.reddit.com/r/PLC/
|
||||
|
||||
---
|
||||
|
||||
**Document Version:** 1.0
|
||||
**Last Updated:** February 16, 2026
|
||||
**Tested With:** TeamViewer 15, TIA Portal V17, S7-1214C DC/DC/DC
|
||||
Loading…
Reference in a new issue