diff --git a/conf/cf-lex.l b/conf/cf-lex.l
index ceedee8a..6508a9cb 100644
--- a/conf/cf-lex.l
+++ b/conf/cf-lex.l
@@ -667,6 +667,16 @@ cf_localize_symbol(struct symbol *sym)
   return cf_new_symbol(sym->name);
 }
 
+void
+cf_alias_symbol(struct symbol *sym, struct symbol *alias)
+{
+  struct symbol tmp = *sym;
+  tmp.n = alias->n;
+  tmp.next = alias->next;
+  tmp.scope = alias->scope;
+  *alias = tmp;
+}
+
 struct symbol *
 cf_default_name(char *template, int *counter)
 {
diff --git a/conf/conf.h b/conf/conf.h
index b409750e..d7796c5c 100644
--- a/conf/conf.h
+++ b/conf/conf.h
@@ -192,6 +192,7 @@ struct symbol *cf_find_symbol(const struct config *cfg, const byte *c);
 struct symbol *cf_get_symbol(const byte *c);
 struct symbol *cf_default_name(char *template, int *counter);
 struct symbol *cf_localize_symbol(struct symbol *sym);
+void cf_alias_symbol(struct symbol *sym, struct symbol *alias);
 
 static inline int cf_symbol_is_local(struct symbol *sym)
 { return (sym->scope == conf_this_scope) && !conf_this_scope->soft_scopes; }
diff --git a/nest/cmds.c b/nest/cmds.c
index bcc8d6c2..a4536100 100644
--- a/nest/cmds.c
+++ b/nest/cmds.c
@@ -142,3 +142,10 @@ cmd_eval(const struct f_line *expr)
 
   cli_msg(23, "%s", buf.start);
 }
+
+void
+cmd_alias_symbol(struct symbol *sym, struct symbol *alias)
+{
+  cf_alias_symbol(sym, alias);
+  cli_msg(10, "ok");
+}
diff --git a/nest/cmds.h b/nest/cmds.h
index 194a9d7f..426501a1 100644
--- a/nest/cmds.h
+++ b/nest/cmds.h
@@ -19,3 +19,5 @@ void cmd_show_memory(void);
 
 struct f_line;
 void cmd_eval(const struct f_line *expr);
+
+void cmd_alias_symbol(struct symbol *sym, struct symbol *alias);
diff --git a/nest/config.Y b/nest/config.Y
index b2aa0906..94e11604 100644
--- a/nest/config.Y
+++ b/nest/config.Y
@@ -154,6 +154,13 @@ CF_ENUM_PX(T_ENUM_AF, AF_, AFI_, IPV4, IPV6)
 
 CF_GRAMMAR
 
+conf: alias ;
+
+alias: LINK CF_SYM_UNDEFINED TO CF_SYM_KNOWN ';'
+{
+  cf_alias_symbol($4, $2);
+};
+
 /* Setting of router ID */
 
 conf: rtrid ;
@@ -925,6 +932,9 @@ proto_patt2:
 
 dynamic_attr: IGP_METRIC { $$ = f_new_dynamic_attr(EAF_TYPE_INT, T_INT, EA_GEN_IGP_METRIC); } ;
 
+CF_CLI(LINK, CF_SYM_UNDEFINED TO CF_SYM_KNOWN, <alias> to <sym>, [[Add alias to symbol]])
+{ cmd_alias_symbol($4, $2); };
+
 
 CF_CODE
 
