Trobule Shoting Speedy!!!
Saturday, December 8, 2007A. DSL Indicator dead:
1. check the RJ 11 Cable Position.
2. check phone line qulity ( god or bad noise )
3. check paralel cable if u have. my be short the cable.
B.DSL indicator on but speedy cannot connect:
1. The Problem From Costumer
a. Check modem configuration right or not. if wrong the message when u dial are error 678
b. position connection tyope ppoe or bride with vpi 8 vci 8. if wrong message diplayed are error 678
c. check your id and password right or not.if not message display error 691
d. have you use the id mobile. message error 691. casue 1 id 1 phone no.
2. Problem from PT.Telkom Side
a. we check the NMS on phone central, if port error indication display to costumer are error 678/691. so we must rest with nms or manual with command:
DSL# reset card 1/1 if you want reset all use 1 module.
b. Cek NMS apa module DSLAM yang hang, jika iya lakukan shutdown module DSLAM
DSL#conf t Interface M 1
DSL#shutdown
DSL#Ex
DSL#write mem
c. Cabut module yang bermasalah beberapa waktu. dan konek kan lagi. setelah itu baru di aktifkan lagi module DSLAMnya dengan command line no shutdown. indikator error 678
DSL#conf t Interface M 1
DSL#no shutdown
DSL#Ex
DSL#write mem
d. DSLAM ok tidak ada masalah dipastikan permasalahan di sisi RADIUS dan RAS server
Regard
IP Filter di DSLAM Dasan
ip filter add permit all all tcp all all
ip filter add permit all all udp all all
ip filter add permit all all tcp all 80
ip filter add permit all all tcp all 23
ip filter add permit all all tcp all 21
ip filter add permit all all tcp all 25
ip filter add permit all all tcp all 110
ip filter add permit all all tcp all 443
ip filter add permit all all tcp all 194
ip filter add permit all all tcp all 162
ip filter add permit all all tcp all 161
ip filter add permit all all tcp all 22
ip filter add permit all all tcp all 6670
ip filter add permit all all tcp all 6669
ip filter add permit all all tcp all 6668
ip filter add permit all all tcp all 6667
ip filter add permit all all tcp all 6666
ip filter add permit all all tcp all 6665
ip filter add permit all all tcp all 6664
ip filter add permit all all tcp all 6663
ip filter add permit all all tcp all 6662
ip filter add permit all all tcp all 6661
ip filter add deny all all tcp all 2601
ip filter add deny all 192.168.200.0/24 tcp all 21
ip filter add deny all all tcp all 445
ip filter add deny all all tcp all 68
ip filter add deny all all udp all 68
ip filter add deny all all udp all 69
ip filter add deny all all tcp all 81
ip filter add deny all all tcp all 111
ip filter add deny all all udp all 111
ip filter add deny all all tcp all 113
ip filter add deny all all tcp all 135
ip filter add deny all all udp all 135
ip filter add deny all all udp all 137
ip filter add deny all all udp all 138
ip filter add deny all all tcp all 139
ip filter add deny all all udp all 139
ip filter add deny all all tcp all 444
ip filter add deny all all tcp all 445
ip filter add deny all all udp all 445
ip filter add deny all all tcp all 554
ip filter add deny all all tcp all 593
ip filter add deny all all tcp all 665
ip filter add deny all all tcp all 749
ip filter add deny all all udp all 749
ip filter add deny all all tcp all 751
ip filter add deny all all udp all 751
ip filter add deny all all tcp all 1000
ip filter add deny all all tcp all 1001
ip filter add deny all all tcp all 1080
ip filter add deny all all udp all 1433
ip filter add deny all all udp all 1434
ip filter add deny all all tcp all 1639
ip filter add deny all all tcp all 1640
ip filter add deny all all tcp all 1720
ip filter add deny all all udp all 1720
ip filter add deny all all udp all 2001
ip filter add deny all all tcp all 2283
ip filter add deny all all tcp all 2556
ip filter add deny all all tcp all 2745
ip filter add deny all all tcp all 3127
ip filter add deny all all tcp all 3128
ip filter add deny all all tcp all 3264
ip filter add deny all all udp all 3264
ip filter add deny all all tcp all 3306
ip filter add deny all all tcp all 4444
ip filter add deny all all tcp all 4899
ip filter add deny all all tcp all 5060
ip filter add deny all all udp all 5060
ip filter add deny all all tcp all 6101
ip filter add deny all all tcp all 6129
ip filter add deny all all tcp all 6777
ip filter add deny all all tcp all 6778
ip filter add deny all all tcp all 6789
ip filter add deny all all tcp all 7070
ip filter add deny all all udp all 7070
ip filter add deny all all tcp all 7100
ip filter add deny all all tcp all 8554
ip filter add deny all all udp all 8554
ip filter add deny all all tcp all 10080
ip filter add deny all all tcp all 10082
ip filter add deny all all tcp all 31337
ip filter add deny all all tcp all 57005
ip filter add deny all all tcp all 2535
ip filter add deny all all udp all 2535
ip filter add deny all all tcp all 3410
ip filter add deny all all udp all 3410
ip filter add deny all all tcp all 5554
ip filter add deny all all udp all 5554
ip filter add deny all all tcp all 8866
ip filter add deny all all udp all 8866
ip filter add deny all all tcp all 9898
ip filter add deny all all udp all 9898
ip filter add deny all all tcp all 10000
ip filter add deny all all udp all 10000
ip filter add deny all all tcp all 12345
ip filter add deny all all udp all 12345
ip filter add deny all all tcp all 17300
ip filter add deny all all udp all 17300
ip filter add deny all all tcp all 27374
ip filter add deny all all udp all 27374
ip filter add deny all all tcp all 65506
ip filter add deny all all udp all 65506
--------------------------------------------------------------------------------
DSLAM Cisco Command
Table 1-1: Command Modes
Command Mode Access Method Prompt Exit Method
EXEC (user) Log in to the switch or Cisco DSLAM. DSLAM>
Use the logout command.
Privileged EXEC From user EXEC mode, use the enable command and enter your password. DSLAM#
To return to user EXEC mode, use the disablecommand.
ROM monitor From privileged EXEC mode, use the reload command. Press Break during the first 60 seconds while the system boots. rommon x>
The x represents the number of commands that have been entered at the DSLAM prompt. To exit to ROM monitor mode, use the contcommand.
Global configuration From privileged EXEC mode, use the configure command. Use the keyword terminal to enter commands from your terminal. DSLAM(config)#
To exit to privileged EXEC mode, use the exit or end command or press Ctrl-Z.
Interface configuration From global configuration mode, enter by specifying an interface with the interface command. DSLAM(config-if)#
To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
Profile configuration From global configuration mode, enter by specifying a profile with a dsl-profile command. DSLAM(cfg-dsl-profile)#
To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
Line configuration From global configuration mode, enter by specifying a management interface with a line command. DSLAM(config-line)#
To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
ATM router configuration From global configuration mode, configure the ATM router configuration with the atm router pnni command. DSLAM(config-atm-router)#
To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
PNNI node configuration From ATM router configuration mode, configure the PNNI routing node with the node command. DSLAM(config-pnni-node)#
To exit to ATM router configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
Auto-sync configuration From global configuration mode, configure redundancy synchronization features with the auto-sync command. DSLAM(config-auto-sync) To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
Redundancy configuration From global configuration mode, configure additional redundancy options with the redundancy command. DSLAM(config-red) To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
VRF configuration From global configuration mode, configure a VPN routing/forwarding (VRF) routing table with the ip vrf command. DSLAM(config-vrf) To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
DHCP pool configuration From global configuration mode, configure the DHCP address pool name and enter DHCP pool configuration mode, with the ip dhcp pool command. DSLAM(dhcp-config) To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
ATM accounting file configuration From global configuration mode, define an ATM accounting file with the atm accounting file command. DSLAM(config-acct-file)#
To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
ATM accounting selection configuration From global configuration mode, define an ATM accounting selection table entry with the atm accounting selection command. DSLAM(config-acct-sel)#
To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
ATM E.164 translation table configuration From global configuration mode, enter the atm e164 translation-table command. DSLAM(config-atm-e164)
To exit to privileged EXECmode, use the exitcommand, the end command, or press Ctrl-Z.
ATM signaling diagnostics configuration From global configuration mode, enter the command atm signalling diagnostics index. DSLAM(cfg-atmsig-diag)
To exit to global configuration mode, use the exit command.
To exit directly to privileged EXEC mode, use the end command or press Ctrl-Z.
Detail CISCO DSLAM
User EXEC Mode
When you log in to the Cisco DSLAM, you are in user EXEC, or simply EXEC, command mode. The EXEC mode commands available at the user level are a subset of those available at the privileged level. The user EXEC mode commands allow you to connect to remote switches, change terminal settings on a temporary basis, perform basic tests, and list system information.
The user EXEC mode prompt consists of the DSLAM host name followed by the angle bracket (>):
Frodo>or
DSLAM>The default host name is DSLAM, unless it has been changed through use of the host name global configuration command.
Privileged EXEC Mode
The privileged EXEC mode command set includes all user EXEC mode commands and the configure command, through which you can access global configuration mode and the remaining configuration submodes. Privileged EXEC mode also includes high-level testing commands, such as debug, and commands that display potentially secure information.
To enter or exit privileged EXEC mode, follow these steps:
Command Task
Step 1 DSLAM> enable
Password:password
Enter privileged EXEC mode from EXECmode.1
Step 2 DSLAM# Enter privileged EXEC commands.
Step 3 DSLAM# disable
DSLAM> Exit privileged EXEC mode and return to EXEC mode.2
1The prompt changes to the DSLAM host name followed by the pound sign (#).
2The prompt changes back to the DSLAM host name followed by the angle bracket (>).
The system administrator uses the enable password global configuration command to set the password, which is case sensitive. If an enable password was not set, you can access privileged EXEC mode only from the console.
ROM Monitor Mode
ROM monitor mode provides access to a basic system kernel, from which you can boot the Cisco DSLAM or perform diagnostic tests. The system can enter ROM mode automatically if the Cisco DSLAM does not find a valid system image, or if the configuration file is corrupted. The ROM monitor prompt is rommon x> without the DSLAM host name. The x represents the number of commands entered into the prompt.
You can also enter ROM monitor mode by interrupting the boot sequence with the Break key during loading.
To return to EXEC mode from ROM monitor mode, use the cont command:
rommon 1> cont
DSLAM>Global Configuration Mode
Global configuration mode provides access to commands that apply to the entire system. From global configuration mode you can also enter the other configuration modes described in these sections.
Command Task
Step 1 DSLAM# configure
or
DSLAM# configure terminal
Enter global configuration mode from privileged EXEC mode.
Step 2 Configuring from terminal, memory,
or network [terminal]?
This prompt appears only if you use the first option in Step 1. Specify the source of the configuration commands at the prompt. You can specify the terminal, NVRAM, or a file stored on a network server as the source of configuration commands. The default is to enter commands from the terminal console.
Step 3 DSLAM(config)# Enter configuration commands.1
Step 4 DSLAM(config)# exit
Exit global configuration mode and return to privileged EXEC mode.
1The prompt changes to (config)#.
Interface Configuration Mode
Interface configuration mode provides access to commands that apply to an interface. Use these commands to modify the operation of an interface such as an ATM, Ethernet, or asynchronous port.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# interface interface-type
interface-number Enter interface configuration mode from global configuration mode.1
Step 3 DSLAM(config-if)# exit
Exit interface configuration mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-if)#.
Profile Configuration Mode
Profile configuration mode provides access to DSL profile commands. (See “Configuring Digital Subscriber Lines”.)
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# dsl-profile profile-name
Enter profile configuration mode and specify a profile.1
Step 3 DSLAM(cfg-dsl-profile)# exit
Exit profile mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (cfg-dsl-profile)#.
Line Configuration Mode
Line configuration mode provides access to commands used to configure lines on the DSLAM.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# line line-index
Enter line configuration mode from global configuration mode.1
Step 3 DSLAM(config-line)# exit
Exit profile mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-line)#.
ATM Router Configuration Mode
ATM router configuration mode provides access to commands used to configure Private Network-to-Network Interface (PNNI) routing.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# atm router pnni
Enter ATM router configuration mode from global configuration mode.1
Step 3 DSLAM(config-atm-router)# exit
Exit ATM router configuration mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-atm-router)#.
PNNI Node Configuration Mode
The PNNI node configuration mode is a submode of ATM router configuration mode and provides access to commands you use to configure PNNI nodes on the Cisco DSLAM.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# atm router pnni
Enter ATM router configuration mode from global configuration mode.1
Step 3 DSLAM(config-atm-router)# node
node-index
Enter PNNI node configuration mode from ATM router configuration mode.2
Step 4 DSLAM(config-pnni-node)# exit
Exit PNNI node configuration mode and return to ATM router configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-atm-router)#.
2The prompt changes to (config-pnni-node)#.
Auto-sync Configuration Mode
The auto-sync configuration mode is a submode for automatically synchronizing the configuration/flash between the Cisco primary and secondary redundant NI-2s.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# auto-sync
Enter auto-sync configuration mode.1
Step 3 DSLAM(config-auto-sync)# file
Enter the configuration or flash file that you want to be automatically synchronized.
Step 4 DSLAM(config-auto-sync)# exit
Exit auto-sync configuration mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-auto-sync)#.
Redundancy Configuration Mode
The redundancy configuration mode provides access to commands used to configure redundancy on the DSLAM.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# redundancy
Enter redundancy configuration mode from global configuration mode.1
Step 3 DSLAM(config-red)# exit
Exit redundancy configuration mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-red)#.
VRF Configuration Mode
The VPN routing/forwarding instance (VRF) configuration mode provides access to commands used to configure a VRF on the DSLAM.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# ip vrf vrf-name
Enter VRF configuration mode from global configuration mode.1
Step 3 DSLAM(config-vrf)# exit
Exit VRF configuration mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-vrf)#.
DHCP Pool Configuration Mode
The DHCP configuration mode provides access to commands used to configure a DHCP server on the DSLAM.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# ip dhcp pool name Enter DHCP pool configuration mode from global configuration mode.1
Step 3 DSLAM(config-dhcp)# exit
Exit DHCP configuration mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-dhcp)#.
ATM Accounting File Configuration Mode
ATM accounting file configuration mode provides access to commands used to configure a file for accounting and billing of virtual circuits (VCs).
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# atm accounting file
accounting-filename
Enter ATM accounting file configuration mode from global configuration mode.1
Step 3 DSLAM(config-acct-file)# exit
Exit ATM accounting file configuration mode and return to global configuration mode. Enter end to return to privileged EXEC mode.
1The prompt changes to (config-acct-file)#.
ATM Accounting Selection Configuration Mode
ATM accounting selection configuration mode provides access to commands used to specify the connection data to be gathered from the DSLAM.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# atm accounting selection
accounting-selection-index
Enter ATM accounting selection configuration mode from global configuration mode.1
Step 3 DSLAM(config-acct-sel)# exit
Exit ATM accounting selection configuration mode and return to global configuration mode. Enter end to return to privileged EXECmode.
1The prompt changes to (config-acct-sel)#.
ATM E.164 Translation Table Configuration Mode
ATM E.164 translation table configuration mode provides access to commands that you use to configure the translation table that maps native E.164 format addresses to ATM end system (AESA) format addresses.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# atm e164 translation-table
Enter ATM E.164 translation table configuration mode from global configuration mode.1
Step 3 DSLAM(config-atm-e164)# exit
Exit ATM E.164 translation table configuration mode and return to global configuration mode. Enter end to return to privileged EXECmode.
1The prompt changes to (config-atm-e164)#.
ATM Signaling Diagnostics Configuration Mode
ATM signaling diagnostics configuration mode provides access to commands used to configure the signaling diagnostics table.
Command Task
Step 1 DSLAM# configure terminal
Go to global configuration mode.
Step 2 DSLAM(config)# atm signalling diagnostics
Enter ATM signaling diagnostics configuration mode.
Step 3 DSLAM(cfg-atmsig-diag)# exit
Exit ATM signaling diagnostics configuration mode and return to global configuration mode. Enter end to return to privileged EXECmode.
Using Context-Sensitive Help
The user interface provides context-sensitive help in all modes. This section describes how to configure and display context-sensitive help.
Configuring Help for Terminal Sessions
The following commands configure full help.
Command Task
DSLAM# terminal full-help
In privileged EXEC mode, configure the current terminal session to receive help for the full set of user-level commands.
DSLAM(config-line)# full-help
In line configuration mode, configure a specific line to allow users without privileged access to obtain full help.
Displaying Context-Sensitive Help
To get help specific to a command mode, a command, a keyword, or an argument, perform one of these tasks:
Command Task
help
Obtain a brief description of the help system in any command mode.
abbreviated-command-entry?
Obtain a list of commands that begin with a particular character string.
abbreviated-command-entry
Complete a partial command name.
?
List all commands available for a particular command mode.
command ?
List the associated keywords of a command.
command keyword ?
List the associated arguments of a keyword.
To view a list of commands that begin with a particular character sequence, type those characters followed immediately by the question mark (?). Do not include a space. This form of help is called word help, because it completes a word for you.
In this example, the system displays the possible commands in privileged EXEC mode that begin with “co.”
DSLAM# co?
configure connect copyThis form helps you determine the minimum subset that you can use to abbreviate a command.
Command Syntax Help
To list keywords or arguments, enter a question mark (?) in place of a keyword or argument. Include a space before the ?. This form of help is called command syntax help, because it reminds you which keywords or arguments are applicable based on the command, keywords, and arguments you have already entered.
This example demonstrates the use of command syntax help to complete the access-list command. Entering the question mark (?) displays the allowed arguments:
DSLAM(config)# access-list ?
<1-99> IP standard access list
<100-199> IP extended access listEnter the access list number, 99, followed by a question mark (?) to display the allowed keywords:
DSLAM(config)# access-list 99 ?
deny Specify packets to reject
permit Specify packets to forwardEnter the deny argument followed by a question mark (?) to display the next argument (host name or IP address) and two keywords:
DSLAM(config)# access-list 99 deny ?
Hostname or A.B.C.D Address to match
any Any source host
host A single host addressEnter the IP address followed by a question mark (?) to display a final (optional) argument. The
DSLAM(config)# access-list 99 deny 131.108.134.0 ?
A.B.C.D Wildcard bits
DSLAM(config)#
The system adds an entry to access list 99 that denies access to all hosts on subnet 131.108.134.0.
Checking Command Syntax
The user interface provides an error indicator (^) that appears in the command string in which you have entered an incorrect or incomplete command, keyword, or argument.
This example shows a command entry that is correct up to the last element:
DSLAM# clock set 13:04:30 28 apr 98
^
% Invalid input detected at ‘^’ marker.The caret symbol (^) and help response indicate the location in which the error occurs. To list the correct syntax, re-enter the command, substituting a question mark (?) where the error occurred:
DSLAM# clock set 13:32:00 23 February ?
<1993-2035> Year
DSLAM# clock set 13:32:00 23 February
Enter the year, using the correct syntax, and press Enter to execute the command:
DSLAM# clock set 13:32:00 23 February 1993
Using the Command History Features
The user interface provides a history or record of commands you enter. You can use the command history feature for recalling long or complex commands or entries, including access lists. With the command history feature, you can complete the tasks in the following sections:
Setting the Command History Buffer Size
Recalling Commands
Disabling the Command History Feature
Setting the Command History Buffer Size
By default, the system records ten command lines in its history buffer. Use the following commands to set the number of command lines the system records:
Command Task
DSLAM# terminal history [size
number-of-lines] In privileged EXEC mode, enable the command history feature for the current terminal session.
DSLAM(config-line)# history
[size number-of-lines] In line configuration mode, enable the command history feature for a specific line.
Recalling Commands
To recall commands from the history buffer, perform one of these tasks:
Key Sequence/Command Task
Press Ctrl-P or the Up Arrow key.1 Recall commands in the history buffer, beginning with the most recent command. Repeat the key sequence to recall successively older commands.
Press Ctrl-N or the Down Arrow key.1 Return to more recent commands in the history buffer after recalling commands with Ctrl-P or the Up Arrow key. Repeat the key sequence to recall successively more recent commands.
DSLAM> show
history
While in EXEC mode, list the last several commands you have just entered.
1The arrow keys function only on ANSI-compatible terminals such as VT100s.
Disabling the Command History Feature
The command history feature is automatically enabled. Use the following commands to disable it:
Command Task
DSLAM> terminal no
history
In EXEC mode, disable the command history feature for the current terminal session.
DSLAM(config-line)
# no history In line configuration mode, configure the line to disable the command history feature.
Enabling Enhanced Editing Mode
Although the current software release enables the enhanced editing mode by default, you can disable it and revert to the editing mode of previous software releases. Use the following commands to re-enable the enhanced editing mode:
Command Task
DSLAM> terminal
editing
In EXEC mode, enable the enhanced editing features for the current terminal session.
DSLAM(config-line)
# editing
In line configuration mode, enable the enhanced editing features for a specific line.
Moving Around on the Command Line
Use these keystrokes to move the cursor around on the command line for corrections or changes:
Keystrokes Task
1The arrow keys function only on ANSI-compatible terminals such as VT100s.
Completing a Partial Command Name
If you cannot remember a complete command name, you can use Tab to allow the system to complete a partial entry:
Keystrokes Task
If your keyboard does not have Tab, press Ctrl-I instead.
In this example, when you enter the letters conf and press Tab, the system provides the complete command:
DSLAM# conf
DSLAM# configure
If you enter an ambiguous set of characters, the system generates an error message. To display the list of legal commands beginning with the specified string, enter a question mark (?) after you see the error message. See the “Using Word Help” section.
Pasting in Buffer Entries
The system provides a buffer that contains the last ten items you deleted. You can recall these items and paste them in the command line by using these keystrokes:
Keystrokes Task
The buffer contains only the last ten items you have deleted or cut. If you press Esc Y more than 10 times, you cycle back to the first buffer entry.
Editing Command Lines that Wrap
The new editing command set provides a wraparound feature for commands that extend beyond a single line on the screen. When the cursor reaches the right margin, the command line shifts 10 spaces to the left. You cannot see the first 10 characters of the line, but you can scroll back and check the syntax at the beginning of the command. To scroll back, use these keystrokes:
Keystrokes Task
1The arrow keys function only on ANSI-compatible terminals such as VT100s.
In the following example, the access-list command entry extends beyond one line. When the cursor reaches the end of the line, the line is shifted ten spaces to the left and redisplayed. The dollar sign ($) indicates that the line has been scrolled to the left. Each time the cursor reaches the end of the line, the line is again shifted ten spaces to the left.
DSLAM(config)# access-list 101 permit tcp 131.108.2.5 255.255.255.0 131.108.1
DSLAM(config)# $ 101 permit tcp 131.108.2.5 255.255.255.0 131.108.1.20 255.25
DSLAM(config)# $t tcp 131.108.2.5 255.255.255.0 131.108.1.20 255.255.255.0 eq
DSLAM(config)# $108.2.5 255.255.255.0 131.108.1.20 255.255.255.0 eq 45
When you complete the entry, press Ctrl-A to check the complete syntax before pressing Return to execute the command. The dollar sign ($) appears at the end of the line to indicate that the line has scrolled to the right:
DSLAM(config)# access-list 101 permit tcp 131.108.2.5 255.255.255.0 131.108.1$
The Cisco DSLAM default is a terminal screen that is 80 columns wide. If you have a width other than that, use the terminal width command to provide the correct width.
Use line wrapping together with the command history feature to recall and modify previous complex command entries.
Deleting Entries
Use any of these keystrokes to delete command entries if you make a mistake or change your mind:
Keystrokes Task
Scrolling Down a Line or a Screen
When you use the help facility to list the commands available in a particular mode, the list is often longer than the terminal screen can display. In such cases, a More prompt appears at the bottom of the screen. To respond to the More prompt, use these keystrokes:
Keystrokes Task
Redisplaying the Current Command Line
If you enter a command and a message appears on your screen, you can easily recall your current command line entry. To do so, use these keystrokes:
Keystrokes Task
Transposing Mistyped Characters
If you have mistyped a command entry, you can transpose the mistyped characters by using these keystrokes:
Keystrokes Task
Controlling Capitalization
You can capitalize or lowercase words or capitalize a set of letters with these keystrokes:
Keystrokes Task
Designating a Keystroke as a Command Entry
To use a particular keystroke as an executable command, insert a system code:
Keystrokes Task
Disabling Enhanced Editing Mode
To disable enhanced editing mode and revert to the editing mode, use this command in privileged EXEC mode:
Command Task
DSLAM# terminal no
editing
Disable the enhanced editing features for the local line.
If you have prebuilt scripts that do not interact well when enhanced editing is enabled, you can disable enhanced editing mode. To re-enable enhanced editing mode, use the terminal editing command.
Ending a Session
After you use the setup command or another configuration command, exit the Cisco DSLAM and quit the session.
To end a session, use this EXEC command:
Command Task
DSLAM> quit
End the session.
Queue with Masquerading and Internal Web-Proxy
01. Introduction
This page will tak about how to make QUEUE TREE in RouterOS that also running
Web-Proxy and Masquerading. Several topics in forum say it's impossible to do.
In version 2.9.x, we can not know which traffic is HIT and which traffic is MISS
from web-proxy. Several people want to make a configuration, to let cache data in
proxy (HIT traffic) deliver in maximum possible speed. In other word, if we already
have the requested data, those process will not queued.
In ver 3.0 we can do this, using TOS header modification in web-proxy feature.
We can set any TOS value for the HIT traffic, and make it as parameter in mangle.
02. Basic Setup
First, let's set the basic setting first. I'm using a machine with 2 network
interface:
---------------------------------------------------------------------------------
admin@instaler] > in pr
# NAME TYPE RX-RATE TX-RATE MTU
0 R public ether 0 0 1500
1 R lan wlan 0 0 1500
---------------------------------------------------------------------------------
And this is the IP Address for each interface:
---------------------------------------------------------------------------------
[admin@instaler] > ip ad pr
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.217/24 192.168.0.0 192.168.0.255 public
1 172.21.1.1/24 172.21.1.0 172.21.1.255 lan
---------------------------------------------------------------------------------
Don't forget to set the transparant web-proxy. We set cache-hit-dscp: 4.
---------------------------------------------------------------------------------
[admin@instaler] > ip proxy pr
enabled: yes
src-address: 0.0.0.0
port: 3128
parent-proxy: 0.0.0.0
parent-proxy-port: 0
cache-drive: system
cache-administrator: "webmaster"
max-cache-size: none
cache-on-disk: yes
maximal-client-connections: 600
maximal-server-connections: 600
max-fresh-time: 3d
serialize-connections: yes
cache-hit-dscp: 4
---------------------------------------------------------------------------------
03. Firewall NAT
Make 2 NAT rules, 1 for Masquerading, and the other for redirecting transparant proxy.
---------------------------------------------------------------------------------
[admin@instaler] ip firewall nat> pr
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=public
src-address=172.21.1.0/24 action=masquerade
1 chain=dstnat in-interface=lan src-address=172.21.1.0/24
protocol=tcp dst-port=80 action=redirect to-ports=3128
04. Mangle Setup
And now is the most important part in this case.
---------------------------------------------------------------------------------
If we want to make HIT traffic from web proxy not queued, we have to make a mangle
to handle this traffic. Put this rule on the beginning of the mangle, as it will
check first.
---------------------------------------------------------------------------------
[admin@instaler] > ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; HIT TRAFFIC FROM PROXY
chain=output out-interface=lan
dscp=4 action=mark-packet
new-packet-mark=proxy-hit passthrough=no
---------------------------------------------------------------------------------
As we will make Queue for uplink and downlink traffic, we need 2 packet-mark. In this
example, we use "test-up" for uplink traffic, and "test-down" for downlink traffic.
For uplink traffic, it's quite simple. We need only one rule, using SRC-ADDRESS and
IN-INTERFACE parameters, and using PREROUTING chain. Rule number #1. But for downlink,
we have to make sevaral rules. As we use masquerading, we need Connection Mark,
named as "test-conn". Rule no #2. Then we have to make 2 more rules. First rule is
for non-HTTP connection / direct connection. We use chain forward, as the data traveling
through the router. Rule no #3.
The second rule is for data coming from web-proxy to the client (MISS traffic).
We use OUTPUT chain, as the data coming from internal process in the router itself.
Rule no #4.
For both rules (no #3 and #4) we named it "test-down".
Please be aware, we use passthrough only for connection mark (rule no #2).
---------------------------------------------------------------------------------
[admin@instaler] > ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
1 ;;; UP TRAFFIC
chain=prerouting in-interface=lan
src-address=172.21.1.0/24 action=mark-packet
new-packet-mark=test-up passthrough=no
2 ;;; CONN-MARK
chain=forward src-address=172.21.1.0/24
action=mark-connection
new-connection-mark=test-conn passthrough=yes
3 ;;; DOWN-DIRECT CONNECTION
chain=forward in-interface=public
connection-mark=test-conn action=mark-packet
new-packet-mark=test-down passthrough=no
4 ;;; DOWN-VIA PROXY
chain=output out-interface=lan
dst-address=172.21.1.0/24 action=mark-packet
new-packet-mark=test-down passthrough=no
---------------------------------------------------------------------------------
05. Queue Tree Setup
And now, the queue tree setting. We need one rule for downlink and one rule for
uplink. Be careful when choosing the parent. for downlink traffic, we use parent
"lan", the interface name for local network. And for uplink, we are using parent
"global-in".
---------------------------------------------------------------------------------
[admin@instaler] > queue tree pr
Flags: X - disabled, I - invalid
0 name="downstream" parent=lan packet-mark=test-down
limit-at=32000 queue=default priority=8
max-limit=32000 burst-limit=0
burst-threshold=0 burst-time=0s
1 name="upstream" parent=global-in
packet-mark=test-up limit-at=32000
queue=default priority=8
max-limit=32000 burst-limit=0
burst-threshold=0 burst-time=0s
---------------------------------------------------------------------------------
You can use those mangle also with PCQ.
Edited by primadonal
www.primadonal.com
primadonal[at]yahoo.com
Two gateways failover with load balancingwo gateways failover with load balancing
Tuesday, November 27, 2007wo gateways failover with load balancing
First of all, you need a working system based on these examples: Improved Load Balancing over Multiple Gateways with Persistent Sessions or Improved Load Balancing over Multiple Gateways.
[edit] Route
According to the examples above, you have:
/ ip route
add dst-address=0.0.0.0/0 gateway=10.111.0.1 scope=255 target-scope=10 routing-mark=odd
add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10 routing-mark=even
add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10
Now you have to change these lines to:
/ ip route
add dst-address=0.0.0.0/0 gateway=10.111.0.1 scope=255 target-scope=10 routing-mark=odd check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10 routing-mark=even check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target-scope=10
add dst-address=0.0.0.0/0 gateway=10.111.0.1 scope=255 target-scope=10 distance=2
If ping fails to 10.111.0.1, then all traffic marked odd go's to the gateway 10.112.0.1, the oposite is also true.
All local traffic go's to the 10.112.0.1 as it's distance is smaller, if 10.112.0.1 fails, then 10.111.0.1 takes over.
The router pings gateway every 10 seconds and if to consecutive pings to the gateway fail, the route is considered dead. So, then testing keep in mind, that gateway failure is detected in 20 to 30 seconds.
[edit] NAT
/ ip firewall nat
add chain=srcnat connection-mark=odd action=src-nat to-addresses=10.111.0.2 \
to-ports=0-65535 comment="" disabled=no
add chain=srcnat connection-mark=even action=src-nat to-addresses=10.112.0.2 \
to-ports=0-65535 comment="" disabled=no
change to:
/ip firewall nat
add chain=srcnat src-address=192.168.0.0/24 action=masquerade
Two gateways failover
This example explains how to use multiple gateways with one taking over when first fails. It begins with adding the gateways. Set bigger distance value for the secondary one, and check-gateway for the first one:
/ip route add gateway=192.168.1.1 check-gateway=ping
/ip route add gateway=192.168.2.1 distance=2
That's all, there are no more steps!
The first gateway will begin as it's distance is smaller (default 0); the check-gateway will make sure it's up; when the ping will fail, it will disable the first gateway and the second will take over; when first one comes up, it will return to it's function.
Multi node management
This article, a work in progress, describes how to remotely monitor and manage one or more groups of bridged routers from a central location. The configuration instructions for RouterOS are based on WinBox, and are not intended for copy/paste. Use them as guidelines.
Contents
[hide]
* 1 Network Topology
* 2 Basic Solution - single remote subnet
o 2.1 On the Gateway Router:
o 2.2 On the Windows PC where WinBox or the Dude is run:
* 3 Solution with Hotspot on Gateway Router
* 4 Solution with Firewall/Router between Modem and Gateway Router
* 5 Solution with multiple remote subnets
[edit] Network Topology
At the network monitoring location, you want to use the Dude or WinBox to monitor and manage all of the remote routers.
Each remote bridged network looks like this:
* A cable modem or DSL modem, referred to in this article as The Modem, at a remote location
* A router, referred to in this article as the Gateway Router, connected to the Modem using a public IP address
* A bunch of routers wirelessly connected to the Gateway Router via WDS
* All of the routers having addresses on the same private subnet
* The Gateway Router is using NAT to masquerade the private subnet
You might also have these complications:
* The Gateway Router might be running a Hotspot
* There might be a non-MikroTik firewall or router between the Modem and Gateway Router
* There might be several remote subnets
[edit] Basic Solution - single remote subnet
The following 2 procedures will setup a PPTP server on the gateway router and a PPTP client on the network management PC.
When you activate the connection to the gateway router from your PC, the Dude or WinBox will appear to be on the private side of the gateway router, on the bridged subnet, and WinBox and/or the Dude will be able to connect directly to any router or all of them at once. Port forwarding is not needed.
[edit] On the Gateway Router:
ppp->pptp server->enabled (check all authentication boxes)
ppp->secrets->add
name =
password =
service = pptp
local address =
remote address =
[edit] On the Windows PC where WinBox or the Dude is run:
The following prodedure is for Windows XP SP2.
Start->Control Panel->Network Connections->Create a new connection
Connect to the network at my workplace Next>
Virtual Private Network Connection Next>
Select a name to call this VPN Next>
Do not dial the initial connection Next>
Enter the IP address of the PUBLIC side of the Gateway Router
[edit] Solution with Hotspot on Gateway Router
Since the other routers are behind the hotspot, they will not be able to communicate with the VPN tunnel in the Gateway Router, even though they are all on the same subnet. To permit access through the hotspot to each of the other routers, create an IP Binding entry as shown below for each router that is behind the hotspot. The IP addresses assigned to the routers can be outside the hotspot address pool if you prefer.
For each router, whose private ip address is of the form 192.168.x.y:
ip->hotspot->IP Bindings->Add
Address: 192.168.x.y
To Address: 192.168.x.y
Type: bypassed
[edit] Solution with Firewall/Router between Modem and Gateway Router
Assume the gateway router has IP address 192.168.a.b as viewed by the firewall/router. On the firewall/router between the Modem and the Gateway Router, do the following:
Forward port 1723 (PPTP) to IP address 192.168.a.b
Forward protocol 47 (GRE) to IP address 192.168.a.b
Note that some routers cannot forward protocols, only ports. In this case, you will NOT be able to create a VPN tunnel to the gateway router. Also, some routers can forward protocol 47, but the mechanism to do so is undocumented. There are also routers that will forward protocol 47 automatically when you forward port 1723. Consult the documentation for your router, and if you don't find any mention of PPTP or port 1723, try finding a user forum where this subject is discussed.
[edit] Solution with multiple remote subnets
Create a separate VPN tunnel to each bridged network
SNMP MRTG
1. Introduction
In this text is described how to configure Mikrotik RouterOS and mrtg (FreeBSD). You must be root on nix mashine and ports collection is installed. Web server must be configured and running on BSD mashine. In this example Web server is Apache server. All information about mrtg and apache can be found at homepages: http://www.mrtg.org http://www.apache.org
[edit] 2. RouterOS SNMP Configuration
/ snmp
set enabled=yes contact="your@mail.com" location="SomeCountry"
/ snmp community
set public name="public" address=192.168.0.5/32 read-access=yes
Ip address 192.168.0.5 is address of BSD mashine where mrtg will be installed.
[edit] 2. MRTG Installation and Configuration
Now we install and configure mrtg on BSD mashine.
cd /usr/ports/net-mgmt/
make
make install
Now we need to create configuration file for mrtg. It can be done automatically by cfgmaker program.192.168.0.1 is ip of RouterOS.
cfgmaker public@192.168.0.1 --output=/usr/local/etc/mrtg.cfg
Change WorkDir value in created mrtg file with text editor. WorkDir value specifies where html files will be created.
It must be same as DocumentRoot value in apache configuration.
For example:
### Global Config Options
# for UNIX
WorkDir: /usr/local/www/data/
### Global Defaults
# to get bits instead of bytes and graphs growing to the right
Options[_]: growright, bits
EnableIPv6: no
######################################################################
# System: Mikrotik
# Description: router
# Contact: your@mail.com
# Location: SomeCountry
######################################################################
Execute mrtg with your config to create html files.
mrtg /usr/local/etc/mrtg.cfg
Now in directory /usr/local/www/data are html files for every interface in MT.
Add this string to crontab to update graphs automatically every 5 minutes
*/5 * * * * root mrtg /usr/local/etc/mrtg.cfg
Now we can create 1 html file with graphs for all interfaces
indexmaker /usr/local/etc/mrtg.cfg --output=/usr/local/www/data/index.html
Here is a sample configuration to monitor the power on a RB333 router using MRTG and SNMP
plotting the results with the correct scale and values:
This should be entered into an existing mrtg.conf file replacing IP_Address with your IP address and MT with your community string
### Input Voltage
Target[IP_Address-voltage]:.1.3.6.1.4.1.14988.1.1.3.8.0&.1.3.6.1.4.1.14988.1.1.3.8.0:MT@IP_Address
AbsMax[IP_Address-voltage]: 200
MaxBytes[IP_Address-voltage]: 200
Title[IP_Address-voltage]: Input Voltage for a monitored -333
PageTop[IP_Address-voltage]:
Input Voltage RB333 being monitored
System: | RB333 being monitored |
Maintainer: | managee |
Description: | Voltage for Monitored 333 |
Options[IP_Address-voltage]: gauge,growright,nopercent, noo, expscale
YLegend[IP_Address-voltage]: Volts
YTicsFactor[IP_Address-voltage]: 0.1
Factor[IP_Address-voltage]: 0.1
ShortLegend[IP_Address-voltage]: V
LegendI[IP_Address-voltage]: Input Voltage
[[Category: Monitoring]]
SNMP PHP
This small example is a PHP script, that uses SNMP to read signal strength values from wireless registration table and publish on web page. This example can be quickly transformed to read other values available for SNMP. To use scripts you need Mikrotik RouterOS, tested for version 2.9.xx (not yet for 3.0), PHP version 4 or 5, Web server (Apache, IIS). Configure Apache, and PHP only thing that needs attention is enabled snmp extension for PHP. In Windows in php.ini section Windows Extensions uncomment line
extension=php_snmp.dll .
Enable snmp on Mikrotik, and if needed, unblock UDP port 161. Copy scripts to WEB folder. Open index.php find line
$ip="hostname"; //Change IP to your host names, address
$mask_mac=false; //Use to mask MAC adress (true / false );
Replace hostname with IP address of Mikrotik, if you don’t want to see complete MAC address change false to true and now open the page in browser. You now see MAC address and signal strength. Page is auto refreshed every 10 seconds and reads values from SNMP.
The PHP code, to be saved as a .php file:
MAC | Signal strenght(dBm) |
---|---|
Please check SNMP settings and IP address |
NTH in RouterOS 3.x
In v3.0 it is a little different implementation of NTH. It has only two parameters 'every' and 'packet'.
How it works in v3.0
Every rule has its own counter. When rule receives packet counter for current rule is increased by one. If counter matches value of 'every' packet will be matched and counter will be set to zero.
If passthrough is not set then packets will be marked as follows:
- first rule nth=2,1 rule will match every first packet of 2, hence, 50% of all the traffic that is matched by the rules
- second rule if passthrough=no will match ONLY 25% of traffic because in 3.0 you need only one rule to catch traffic not like 2.9
Example
how it is possible to match 50% of all traffic only with one rule:
/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=AAA nth=2,1;
If more than one rule is needed, then there are two ways to match packets:
- first rule sees all packets and matches 1/3 of all, second rule sees 2/3 of packets and matches 1/2, third rule sees and matches all packets that passed through first two rules ( 1/3 of all packets ).
/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=AAA nth=3,1 passthrough=no;
add action=mark-packet chain=prerouting new-packet-mark=BBB nth=2,1 passthrough=no;
add action=mark-packet chain=prerouting new-packet-mark=CCC ;
- all rules can see all packets and each rule matches every 3-rd packet.
/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=AAA nth=3,1 passthrough=yes;
add action=mark-packet chain=prerouting new-packet-mark=BBB nth=3,2 passthrough=yes;
add action=mark-packet chain=prerouting new-packet-mark=CCC nth=3,3 passthrough=yes;
L7 security
layer7-protocol is a method of looking for patterns in connections.
First, add Regexp strings to the protocols menu, to define strings you will be looking for.
/ip firewall layer7-protocol add=
Then, use the defined protocols in firewall:
/ip firewall filter add layer7-protocol=
RouterOS will look for these strings in all connections passing the firewall rule where you use this. As this is resource intensive, make sure to filter out all good traffic before it hits this rule.
You can download a script with a list of common programs here (only for RouterOS v3 RC6). Pattern libraries can be found on the layer7 project page and on the protocol wiki.
Calea Mikrotik
CALEA features included in RouterOS
Multiple subject/multiple destination packet interception and streaming in following formats:
- Call Content Connection (CCC) Interface according to PKT-SP-ES-DCI-I01-060914 (PacketCable 2.0 PacketCable Electronic Surveillance Delivery Function to Collection Function Interface Specification)
- Call Content Connection (CCC) Interface according to ANSI/SCTE 24-13 2006 (IPCalblecom Electronic Surveillance Standard) that is approved method for Communication Content delivery to LEA according to ATIS-1000013.2007 (Lawfully Authorized Electronic Surveillance For Internet Access and Services)
- TZSP format - for reception with 'Ethereal', tcpdump, trafr (sniffer stream reader for linux) - http://www.mikrotik.com/download.html
CALEA-server package
- accepts multiple CCC streams (identified by destination port/source address/case id)
- stores communication content according to "IP Network Access Intercept Requirements and Method"(FBI-WISPA draft) specified "full content" intercept requirements (without out-of-band events)
- stores communication content of multiple subjects/cases
- stores communication content in libpcap format
- new libpcap file based on different conditions (interval/size/packet count)
- generates hash for each pcap file (md5/sha1/sha256)
Calea user
Calea provided options are available only for specific RouterOS user, as Calea server configuration as "tap" configuration. Specific user should have 'sniff' policy enabled at RouterOS user configuration,
/ user group set 0 policy=sniff
sniff policy is enabled by default for "full" and "write" user groups.
Intercepting Packet Flow
The IP Firewall and Interface Bridge now have one additional section,
- firewall section to intercept packets that are going trough firewall
/ ip firewall calea
- bridge section to intercept packets that are going trough bridge
/ interface bridge calea
Firewall and Bridge Calea menus contain same actions and matchers as "ip firewall filter" and "interface bridge filter", new avalailble actions:
- sniff - generates a tzsp stream that can be directed to any Wireshark (Ethereal) server
- sniff-pc - generates a Packet Cable stream that can be directed to a MikroTik RouterOS system with the calea package installed
By selecting either action, the following options will be available:
- sniff-id (Packet Cable protocol only) - packet stream case ID, that can be used to differentiate between separate traffic sets (e.g., between different users; or between client traffic and server traffic)
- sniff-target - IP address of the data retention server
- sniff-target-port - UDP port that the data retention server is listening on
Data Retention Server
The calea package provides an additional tool menu - /tool calea, that allows to save certain incoming data streams to a file. The server will create separate files for each packet stream (one data file and one hash file, if configured). The files will not grow indefinitely, but rather util a certain limit, after which a new set of files will be created for that stream. The limit is specified in size and extent of time, whichever is reached first.
Add a rule with the following properties:
- case-id - case ID set by the intercepting router
- case-name - case name is set on server to specify the folder, where intercepted data is stored
- intercept-ip - IP address of the intercepting router (IP address to receive the stream from)
- intercept-port - UDP port to listen on (port to receive the stream on)
- action - storage format (only pcap for now)
- pcap-file-stop-interval - maximal interval between creating new fileset, if size limit is not reached earlier
- pcap-file-stop-size - maximal filesize, in KiB
- pcap-file-stop-count - maximal packet count
- pcap-file-hash-method - hashing algorithm (md5, sha1 or sha256) for the data file (saved once the data file is completed and closed); no file is created if set to none
Calea Server/Client Configuration Example
let's assume the particular network configuration, we need to intercept data from 192.168.0.10 Wireless Client and send it to the Calea Server located on Local Network:
[edit] Client Configuration for the Intercept
Wireless Client is connected to Access Point, data interception has to be performed on Access Point for the particular network design.
- We have requirement to capture all data from the user Wireless Client with IP address of 192.168.0.10 We have to add two rules to make the interception,
/ ip firewall calea add action=sniff-pc chain=forward sniff-id=100 sniff-target=10.9.1.250 sniff-target-port=5555 src-address=192.168.0.10
/ ip firewall calea add action=sniff-pc chain=forward sniff-id=100 sniff-target=10.9.1.250 sniff-target-port=5555 dst-address=192.168.0.10
All traffic going trough the router for specified src/dst addresses is intercepted and sent to Calea Server (sniff-target) with sniff-id=100
- Calea package is not required for intercepting host.
Calea Server Configuration
- Calea package is required for server.
- One rule is required to accept the data from the Access Point to receive all intercepted traffic from the Access Point,
/ tool calea add action=pcap intercept-port=5555 case-id=100 intercept-ip=192.168.0.254
Intercept-port and case-id should be equal on server and client side, intercept-ip is IP address of the intercepting router (Access Point).
- Calea server received information is available under 'file' menu.
Bruteforce login prevention
These are 2 basic scripts I use frequently that are from the forum (written by other users)
Allows only 10 FTP login incorrect answers per minute
in /ip firewall filter
add chain=input protocol=tcp dst-port=21 src-address-list=ftp_blacklist action=drop
add chain=output action=accept protocol=tcp content="530 Login incorrect" dst-limit=1/1m,9,dst-address/1m
add chain=output action=add-dst-to-address-list protocol=tcp content="530 Login incorrect" \
address-list=ftp_blacklist address-list-timeout=3h
This will prevent a SSH brute forcer to be banned for 10 days after repetitive attempts. Change the timeouts as necessary.
in /ip firewall filter
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
comment="drop ssh brute forcers" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \
address-list-timeout=10d comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \
address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \
action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \
address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no
How to Block Websites
This example will explain you “How to Block Web Sites” & “How to Stop Downloading”. I have use Web-Proxy test Package.
First, Configure Proxy.
/ip proxy
enabled: yes
src-address: 0.0.0.0
port: 8080
parent-proxy: 0.0.0.0:0
cache-drive: system
cache-administrator: "ASHISH PATEL"
max-disk-cache-size: none
max-ram-cache-size: none
cache-only-on-disk: no
maximal-client-connections: 1000
maximal-server-connections: 1000
max-object-size: 512KiB
max-fresh-time: 3d
Now, Make it Transparent
/ip firewall nat
chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8080
Make sure that your proxy is NOT a Open Proxy
/ip firewall filter
chain=input in-interface=src-address=0.0.0.0/0 protocol=tcp dst-port=8080 action=drop
Now for Blocking Websites
/ip proxy access
dst-host=www.vansol27.com action=deny
It will block website http://www.vansol27.com/, We can always block the same for different networks by giving src-address. It will block for particular source address.
We can also stop downloading files like.mp3, .exe, .dat, .avi,…etc.
/ip proxy access
path=*.exe action=deny
path=*.mp3 action=deny
path=*.zip action=deny
path=*.rar action=deny.
Try with this also
/ip proxy access
dst-host=:mail action=deny
This will block all the websites contain word “mail” in url.
Example: It will block www.hotmail.com, mail.yahoo.com, www.rediffmail.com
Forwarding a port to an internal IP
This will go on a 2.9.x mikrotik where you want to forward a port (tcp 5900) to an internal IP. 69.69.69.69 is the example wan IP, 192.168.1.101 is the desired internal destination.
/ip firewall nat add chain=dstnat dst-address=69.69.69.69 protocol=tcp dst-port=5900 \
action=dst-nat to-addresses=192.168.1.101 to-ports=5900
Nth On Mikrotik
example: nth=Every,Counter,Packet nth=2,3,0. 2,3,1 2,3,2
divide all packets into groups of three (2+1). The packets will be numbered from 0 to 2. So, a sequence of packets the rule matches looks like: (0 1 2)(0 1 2)(0 1 2)(0 1 2)(0 1 2)...
the first rule will match the first packet in each group ("Packet"=0). The second rule will match the second packet in each group ("Packet"=1) and so on. Each successful match increments the counter. When a value of "Every" is reached, the counter is reset to 0. For this to work, the "Counter" should be the same for all rules (you can pick any value from 0 to 15, IIRC).
How to autodetect infected or spammer users and temporary block the SMTP output
Here can see in the solution which i invented and work excellent to autodetect and block SMTP viruses or spammers!
Only create these 2 rules in firewall forward:
/ip firewall filter
add chain=forward protocol=tcp dst-port=25 src-address-list=spammer
action=drop comment="BLOCK SPAMMERS OR INFECTED USERS"
add chain=forward protocol=tcp dst-port=25 connection-limit=30,32 limit=50,5 action=add-src-to-address-list
address-list=spammer address-list-timeout=1d comment="Detect and add-list SMTP virus or spammers"
When an infected user is autodetected with a virus worm or doing spam, the user is added to a spammer list and block the STMP outgoing by 1 day, all the values can be adjusted for different networks types or at your convenience
[edit] Logging detected users
Next, to display a red Log each 30 minutes listing the detected infected or spammers users using hotspot, add the next script:
/system script
add name="spammers" source=":log error \"----------Users detected like \
SPAMMERS -------------\";
\n:foreach i in \[/ip firewall address-list find \
list=spammer\] do={:set usser \[/ip firewall address-list get \$i \
address\];
\n:foreach j in=\[/ip hotspot active find address=\$usser\] \
do={:set ip \[/ip hotspot active get \$j user\];
\n:log error \$ip;
\n:log \
error \$usser} };" policy=ftp,read,write,policy,test,winbox
Dmitry on firewalling
Components of the filter
- protocol classifier
- invalid packet filter
- port-scan detector
- policy classifier
- application protocol filter
- TCP-specific filters
- application protocol specific filters
Introduction
There are two interfaces on our router: Local (for connecting internal network) and Public (connected to the Internet)
Protocol classifier
/ ip firewall mangle
add chain=prerouting protocol=tcp connection-state=new action=jump jump-target=tcp-services
add chain=prerouting protocol=udp connection-state=new action=jump jump-target=udp-services
add chain=prerouting connection-state=new action=jump jump-target=other-services
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=20-21 action=mark-connection new-connection-mark=ftp passthrough=no
add chain=tcp-services protocol=tcp src-port=513-65535 dst-port=22 action=mark-connection new-connection-mark=ssh passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=23 action=mark-connection new-connection-mark=telnet passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=25 action=mark-connection new-connection-mark=smtp passthrough=no
add chain=tcp-services protocol=tcp src-port=53 dst-port=53 action=mark-connection new-connection-mark=dns passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=53 action=mark-connection new-connection-mark=dns passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=80 action=mark-connection new-connection-mark=http passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=110 action=mark-connection new-connection-mark=pop3 passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=113 action=mark-connection new-connection-mark=auth passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=119 action=mark-connection new-connection-mark=nntp passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=143 action=mark-connection new-connection-mark=imap passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=161-162 action=mark-connection new-connection-mark=snmp passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=443 action=mark-connection new-connection-mark=https passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=465 action=mark-connection new-connection-mark=smtps passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=993 action=mark-connection new-connection-mark=imaps passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=995 action=mark-connection new-connection-mark=pop3s passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=1723 action=mark-connection new-connection-mark=pptp passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=2379 action=mark-connection new-connection-mark=kgs passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=3128 action=mark-connection new-connection-mark=proxy passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=3389 action=mark-connection new-connection-mark=win-ts passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=4242-4243 action=mark-connection new-connection-mark=emule passthrough=no
add chain=tcp-services protocol=tcp src-port=4661-4662 dst-port=1024-65535 action=mark-connection new-connection-mark=overnet passthrough=no
add chain=tcp-services protocol=tcp src-port=4711 dst-port=1024-65535 action=mark-connection new-connection-mark=emule passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=5900-5901 action=mark-connection new-connection-mark=vnc passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=6667-6669 action=mark-connection new-connection-mark=irc passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=6881-6889 action=mark-connection new-connection-mark=bittorrent passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=8080 action=mark-connection new-connection-mark=http passthrough=no
add chain=tcp-services protocol=tcp src-port=1024-65535 dst-port=8291 action=mark-connection new-connection-mark=winbox passthrough=no
add chain=tcp-services protocol=tcp action=mark-connection new-connection-mark=other-tcp passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=53 action=mark-connection new-connection-mark=dns passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=123 action=mark-connection new-connection-mark=ntp passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=1701 action=mark-connection new-connection-mark=l2tp passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=4665 action=mark-connection new-connection-mark=emule passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=4672 action=mark-connection new-connection-mark=emule passthrough=no
add chain=udp-services protocol=udp src-port=4672 dst-port=1024-65535 action=mark-connection new-connection-mark=emule passthrough=no
add chain=udp-services protocol=udp src-port=1024-65535 dst-port=12053 action=mark-connection new-connection-mark=overnet passthrough=no
add chain=udp-services protocol=udp src-port=12053 dst-port=1024-65535 action=mark-connection new-connection-mark=overnet passthrough=no
add chain=udp-services protocol=udp src-port=36725 dst-port=1024-65535 action=mark-connection new-connection-mark=skype passthrough=no
add chain=udp-services protocol=udp connection-state=new action=mark-connection new-connection-mark=other-udp passthrough=no
add chain=other-services protocol=icmp icmp-options=8:0-255 action=mark-connection new-connection-mark=ping passthrough=no
add chain=other-services protocol=gre action=mark-connection new-connection-mark=gre passthrough=no
add chain=other-services action=mark-connection new-connection-mark=other passthrough=no
Note that for TCP and UDP, we check both, source port (usually, 1024-65535) and destination port. Everything else is not a valid protocol.
Sanity-check
Most generic invalid packet and port-scan detection techniques
Place this before all other rules in mangle:
/ip firewall mangle
add chain=prerouting in-interface=Public dst-address-list=nat-addr action=mark-packet new-packet-mark=nat-traversal passthrough=no
Note that just like in the line above, some filter rules rely on address lists. here is a simple list, which you should extend further:
/ ip firewall address-list
add list=illegal-addr address=0.0.0.0/8 comment="illegal addresses"
add list=illegal-addr address=127.0.0.0/8
add list=illegal-addr address=224.0.0.0/3
add list=illegal-addr address=10.0.0.0/8
add list=illegal-addr address=172.16.0.0/12
add list=illegal-addr address=192.168.0.0/16
add list=local-addr address=172.31.255.0/29 comment="my local network"
add list=nat-addr address=172.31.255.0/29 comment="my local network"
So, there are three address lists:
- illegal-addr - the list, which could be extended to some few tens of addresses at least to include the bogon IPs, which are not registered with IANA and some more, this short list given in examples is just a short sample;
- local-addr - the list to include all addresses located in your network, behind this firewall
- nat-addr - should contain all the IP addresses you are source-natting on your router
In this example we exclude traffic between the local clients connected to different ports of the Local interface (which is a bridge between ethernet and wireless networks):
/ ip firewall filter
add chain=forward in-interface=Local out-interface=Local action=accept comment="Allow traffic between wired and wireless networks"
Then we are filtering everything else to the drop chain of the firewall. The separate chain is created to keep all logging and accounting in one place.
/ ip firewall filter
add chain=forward action=jump jump-target=sanity-check comment="Sanity Check"
add chain=sanity-check packet-mark=nat-traversal action=jump jump-target=drop comment="Deny illegal NAT traversal"
add chain=sanity-check protocol=tcp psd=20,3s,3,1 action=add-src-to-address-list address-list=blocked-addr address-list-timeout=1d comment="Block port scans"
add chain=sanity-check protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list address-list=blocked-addr address-list-timeout=1d comment="Block TCP Null scan"
add chain=sanity-check protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list=blocked-addr address-list-timeout=1d comment="Block TCP Xmas scan"
add chain=sanity-check protocol=tcp src-address-list=blocked-addr action=jump jump-target=drop
add chain=sanity-check protocol=tcp tcp-flags=rst action=jump jump-target=drop comment="Drop TCP RST"
add chain=sanity-check protocol=tcp tcp-flags=fin,syn action=jump jump-target=drop comment="Drop TCP SYN+FIN"
add chain=sanity-check connection-state=invalid action=jump jump-target=drop comment="Dropping invalid connections at once"
add chain=sanity-check connection-state=established action=accept comment="Accepting already established connections"
add chain=sanity-check connection-state=related action=accept comment="Also accepting related connections"
add chain=sanity-check dst-address-type=broadcast,multicast action=jump jump-target=drop comment="Drop all traffic that goes to multicast or broadcast addresses"
add chain=sanity-check in-interface=Local dst-address-list=illegal-addr dst-address-type=!local action=jump jump-target=drop comment="Drop illegal destination addresses"
add chain=sanity-check in-interface=Local src-address-list=!local-addr action=jump jump-target=drop comment="Drop everything that goes from local interface but not from local address"
add chain=sanity-check in-interface=Public src-address-list=illegal-addr action=jump jump-target=drop comment="Drop illegal source addresses"
add chain=sanity-check in-interface=Public dst-address-list=!local-addr action=jump jump-target=drop comment="Drop everything that goes from public interface but not to local address"
add chain=sanity-check src-address-type=broadcast,multicast action=jump jump-target=drop comment="Drop all traffic that goes from multicast or broadcast addresses"
[edit] Application-specific filters
/ ip firewall filter
add chain=forward protocol=tcp action=jump jump-target=restrict-tcp
add chain=forward protocol=udp action=jump jump-target=restrict-udp
add chain=forward action=jump jump-target=restrict-ip
add chain=restrict-tcp connection-mark=auth action=reject
add chain=restrict-tcp connection-mark=smtp action=jump jump-target=smtp-first-drop comment="anti-spam policy"
add chain=smtp-first-drop src-address-list=first-smtp action=add-src-to-address-list address-list=approved-smtp
add chain=smtp-first-drop src-address-list=approved-smtp action=return
add chain=smtp-first-drop action=add-src-to-address-list address-list=first-smtp
add chain=smtp-first-drop action=reject reject-with=icmp-network-unreachable
Restricting services
/ ip firewall filter
add chain=restrict-tcp connection-mark=other-tcp action=jump jump-target=drop
add chain=restrict-udp connection-mark=other-udp action=jump jump-target=drop
add chain=restrict-ip connection-mark=other action=jump jump-target=drop
Protecting the router
/ ip firewall filter
add chain=input src-address-type=local dst-address-type=local action=accept comment="Allow local traffic \(between router applications\)"
add chain=input in-interface=Local protocol=udp src-port=68 dst-port=67 action=jump jump-target=dhcp comment="DHCP protocol would not pass sanity checking, so enabling it explicitly before other checks"
add chain=input action=jump jump-target=sanity-check comment="Sanity Check"
add chain=input dst-address-type=!local action=jump jump-target=drop comment="Dropping packets not destined to the router itself, including all broadcast traffic"
add chain=input connection-mark=ping limit=5,5 action=accept comment="Allow pings, but at a very limited rate \(5 per sec\)"
add chain=input in-interface=Local action=jump jump-target=local-services comment="Allowing some services to be accessible from the local network"
add chain=input in-interface=Public action=jump jump-target=public-services comment="Allowing some services to be accessible from the Internet"
add chain=input action=jump jump-target=drop
add chain=dhcp src-address=0.0.0.0 dst-address=255.255.255.255 action=accept
add chain=dhcp src-address=0.0.0.0 dst-address-type=local action=accept
add chain=dhcp src-address-list=local-addr dst-address-type=local action=accept
add chain=local-services connection-mark=ssh action=accept comment="SSH \(22/TCP\)"
add chain=local-services connection-mark=dns action=accept comment="DNS"
add chain=local-services connection-mark=proxy action=accept comment="HTTP Proxy \(3128/TCP\)"
add chain=local-services connection-mark=winbox comment="Winbox \(8291/TCP\)" disabled=no
add chain=local-services action=drop comment="Drop Other Local Services"
add chain=public-services connection-mark=ssh action=accept comment="SSH \(22/TCP\)"
add chain=public-services connection-mark=pptp action=accept comment="PPTP \(1723/TCP\)"
add chain=public-services connection-mark=gre action=accept comment="GRE for PPTP"
add chain=public-services action=drop comment="Drop Other Public Services"
- The "accept ping" rule needs to come before the "public" and "local" jump rules otherwise that rules will never be executed and ICMP will continue to be dropped.
Proxying everything
/ ip firewall nat
add chain=dstnat in-interface=Local connection-mark=dns action=redirect comment="proxy for DNS requests"
add chain=dstnat in-interface=Local connection-mark=http protocol=tcp action=redirect to-ports=3128 comment="proxy for HTTP requests"
add chain=dstnat in-interface=Local connection-mark=ntp action=redirect comment="proxy for NTP requests"
Enable Proxy servers
/ system ntp server
set enabled=yes broadcast=no multicast=no manycast=no
/ system ntp client
set enabled=yes mode=unicast primary-ntp=xxx.xxx.xxx.xxx secondary-ntp=0.0.0.0
/ ip proxy
set enabled=yes port=3128 parent-proxy=0.0.0.0:1 maximal-client-connections=1000 maximal-server-connections=1000
/ ip dns
set primary-dns=yyy.yyy.yyy.yyy secondary-dns=0.0.0.0 allow-remote-requests=yes cache-size=2048KiB cache-max-ttl=1w
Please change:
- xxx.xxx.xxx.xxx to the NTP server you choose
- yyy.yyy.yyy.yyy to your ISP's DNS server ip
Redirect mail traffic to a specified server
This is if you want to redirect all traffic through your router to your own specified mail server. This is usefull if you have many clients from different locations connecting to your network at different times. (Note that if you are using Hotspot you can do this in the Hotspot settings instead)
ip firewall nat add chain=dstnat protocol=tcp dst-port=25 action=dst-nat to-addresses=10.0.0.1 to-ports=25
This will redirect all smtp (port 25) traffic out the router to ip address 10.0.0.1