[j-nsp] ndp traffic reflected

2021-06-03 Thread Baldur Norddahl
Hello

Take a look at this tcpdump:

16:56:54.663623 e6:5d:37:8f:d8:7b > 33:33:ff:a9:dd:f5, ethertype IPv6
(0x86dd), length 86: 2a00:7660:242a:::1 > ff02::1:ffa9:ddf5: ICMP6,
neighbor solicitation, who has fe80::222:7ff:fea9:ddf5, length 32
16:56:54.663804 00:22:07:a9:dd:f5 > e6:5d:37:8f:d8:7b, ethertype IPv6
(0x86dd), length 86: fe80::222:7ff:fea9:ddf5 > 2a00:7660:242a:::1:
ICMP6, neighbor advertisement, tgt is fe80::222:7ff:fea9:ddf5, length 32
16:56:54.668111 e6:5d:37:8f:d8:7b > 00:22:07:a9:dd:f5, ethertype IPv6
(0x86dd), length 86: fe80::222:7ff:fea9:ddf5 > 2a00:7660:242a:::1:
ICMP6, neighbor advertisement, tgt is fe80::222:7ff:fea9:ddf5, length 32

The first line is a mx204 with the MAC e6:5d:37:8f:d8:7b sending a NDP
packet to multicast MAC 33:33:ff:a9:dd:f5.

The second line is a CPE with MAC 00:22:07:a9:dd:f5 responding to the
mx204. So far all is normal.

The third line is the mx204 echoing back the reply from the CPE?! What
could make the mx204 echo back the NDP response?

Also would it not be good practice to use a link local address when
querying for link local addresses?

Regards,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] wrong IP in traceroutes

2021-05-15 Thread Baldur Norddahl
Hello

Sometimes we get the wrong IP back in traceroutes. Here is an example:

gigabit@kviknet01:~$ mtr -n -r -c3 185.24.168.181
Start: 2021-05-15T14:58:20+
HOST: kviknet01.ring.nlnog.netLoss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 212.237.176.65 0.0% 30.2   0.2   0.2   0.2   0.0
  2.|-- 185.107.12.27  0.0% 30.5   0.5   0.4   0.5   0.0
  3.|-- 45.145.95.250  0.0% 30.3   0.3   0.3   0.3   0.0
  4.|-- 10.10.123.70.0% 3   10.1  12.6  10.1  16.5   3.4
(more hops)

Hop #3 should have been 185.24.168.29. Instead we get 45.145.95.250 which
is unfortunate because that address belongs to a customer and it is not
even within the IP ranges allocated to us. The customer owns his own
address space directly with RIPE.

The interface is this:

admin@gc-edge1# show interfaces ps44
description "Kviknet peering BGP";
anchor-point {
lt-0/0/0;
}
vlan-tagging;
unit 0 {
encapsulation ethernet-vpls;
}
unit 40 {
alias kviknet;
vlan-id 40;
family inet {
address 185.24.168.29/30;
}
family inet6 {
address 2a00:7660:100:26::2/126;
}
}

The IP address from the traceroute is this one:

admin@gc-edge1# show interfaces ps3
anchor-point {
lt-0/0/0;
}
unit 0 {
encapsulation ethernet-ccc;
}
unit 1 {
family inet {
address 45.145.95.250/29;
}
family inet6 {
address 2a00:7660:100:1::2/125;
}
}

The traffic did obviously not go via ps3 as that connects directly to a
single homed customer.

Is this a bug? Can I do something to get a better choice for IP address in
traceroutes? It appears to be linked to the fact this goes via a "ps"
interface.

Thanks,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] evpn irb default gateway

2021-05-12 Thread Baldur Norddahl
When I add this to the configuration the acx5448 irb will route traffic:

set routing-instances internet routing-options static route 0.0.0.0/1
next-hop 128.0.0.0 resolve no-readvertise

However this does not work:

set routing-instances internet routing-options static route 0.0.0.0/0
next-hop 128.0.0.0 resolve no-readvertise

I can apparently have a working system by splitting my 0.0.0.0/0 into two
halves 0.0.0.0/1 and 128.0.0.0/1. Not very satisfying. There has to be an
explanation and fix?

Regards,

Baldur



Den tor. 13. maj 2021 kl. 00.33 skrev Baldur Norddahl :

> Hello
>
> My evpn with irb on an acx5448 is going ok except for one very strange
> problem. The router refuses to use the default route 0.0.0.0/0 when
> routing traffic via the irb interface.
>
> The router itself will ping just fine:
>
> baldur@formervangen-core3> ping routing-instance internet 8.8.8.8
> PING 8.8.8.8 (8.8.8.8): 56 data bytes
> 64 bytes from 8.8.8.8: icmp_seq=0 ttl=122 time=24.574 ms
> 64 bytes from 8.8.8.8: icmp_seq=1 ttl=122 time=12.770 ms
> ^C
> --- 8.8.8.8 ping statistics ---
> 2 packets transmitted, 2 packets received, 0% packet loss
> round-trip min/avg/max/stddev = 12.770/18.672/24.574/5.902 ms
>
> baldur@formervangen-core3> show route table internet.inet.0 8.8.8.8
>
> internet.inet.0: 16 destinations, 46 routes (16 active, 0 holddown, 0
> hidden)
> + = Active Route, - = Last Active, * = Both
>
> 0.0.0.0/0  *[BGP/170] 00:11:57, localpref 100, from 10.0.0.248
>   AS path: I, validation-state: unverified
> >  to 10.99.0.18 via xe-0/0/0.0, Push 17, Push
> 1228(top)
> [BGP/170] 1w2d 20:16:40, localpref 100, from 10.0.0.249
>   AS path: I, validation-state: unverified
> >  to 10.99.0.18 via xe-0/0/0.0, Push 17, Push
> 1228(top)
> [BGP/170] 1w2d 20:30:50, localpref 100, from 10.0.0.249
>   AS path: I, validation-state: unverified
> >  to 10.99.0.18 via xe-0/0/0.0, Push 21, Push
> 1223(top)
> [BGP/170] 00:11:46, localpref 100, from 10.0.0.248
>   AS path: I, validation-state: unverified
> >  to 10.99.0.18 via xe-0/0/0.0, Push 21, Push
> 1223(top)
>
> But done from a host connected to the evpn nothing happens:
>
> root@lab2:~# ping 8.8.8.8
> PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
> ^C
> --- 8.8.8.8 ping statistics ---
> 3 packets transmitted, 0 received, 100% packet loss, time 2029ms
>
> However I made a dummy 128.0.0.0/1 route and now I can ping half of the
> internet?
>
> root@lab2:~# ping 185.107.12.60
> PING 185.107.12.60 (185.107.12.60) 56(84) bytes of data.
> 64 bytes from 185.107.12.60: icmp_seq=1 ttl=61 time=0.902 ms
> 64 bytes from 185.107.12.60: icmp_seq=2 ttl=61 time=0.860 ms
> 64 bytes from 185.107.12.60: icmp_seq=3 ttl=61 time=0.898 ms
> ^C
> --- 185.107.12.60 ping statistics ---
> 3 packets transmitted, 3 received, 0% packet loss, time 2003ms
> rtt min/avg/max/mdev = 0.860/0.886/0.902/0.018 ms
>
> This 128.0.0.0/1 route looks just the same as the 0.0.0.0/0 route:
>
> baldur@formervangen-core3> show route table internet.inet.0 128.0.0.0/1
> exact
>
> internet.inet.0: 16 destinations, 46 routes (16 active, 0 holddown, 0
> hidden)
> + = Active Route, - = Last Active, * = Both
>
> 128.0.0.0/1*[BGP/170] 00:15:12, localpref 100, from 10.0.0.248
>   AS path: I, validation-state: unverified
> >  to 10.99.0.18 via xe-0/0/0.0, Push 17, Push
> 1228(top)
>
> The irb interface is simple:
>
> baldur@formervangen-core3> show configuration interfaces irb.15
> virtual-gateway-accept-data;
> family inet {
> address 185.24.168.180/26 {
> virtual-gateway-address 185.24.168.129;
> }
> }
> family inet6 {
> address 2a00:7660:0:24::1044/64 {
> virtual-gateway-address 2a00:7660:0:24::1;
> }
> }
>
> root@lab2:~# ip route
> default via 185.24.168.129 dev v15
> 185.24.168.128/26 dev v15 proto kernel scope link src 185.24.168.181
> root@lab2:~# ip neigh show 185.24.168.129
> 185.24.168.129 dev v15 lladdr 00:00:5e:00:01:01 REACHABLE
>
> I noticed that the host can access everything that formervangen-core3 has
> in the routing table except for 0.0.0.0/0. This includes the 128.0.0.0/1
> static reject route I created on one of the route reflectors.
>
> The rest of the configuration:
>
> baldur@formervangen-core3> show configuration routing-instances server15
> instance-type evpn;
> protocols {
> evpn {
> default-gateway no-gateway-community;
> }
>

[j-nsp] evpn irb default gateway

2021-05-12 Thread Baldur Norddahl
Hello

My evpn with irb on an acx5448 is going ok except for one very strange
problem. The router refuses to use the default route 0.0.0.0/0 when routing
traffic via the irb interface.

The router itself will ping just fine:

baldur@formervangen-core3> ping routing-instance internet 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=122 time=24.574 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=122 time=12.770 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 12.770/18.672/24.574/5.902 ms

baldur@formervangen-core3> show route table internet.inet.0 8.8.8.8

internet.inet.0: 16 destinations, 46 routes (16 active, 0 holddown, 0
hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0  *[BGP/170] 00:11:57, localpref 100, from 10.0.0.248
  AS path: I, validation-state: unverified
>  to 10.99.0.18 via xe-0/0/0.0, Push 17, Push 1228(top)
[BGP/170] 1w2d 20:16:40, localpref 100, from 10.0.0.249
  AS path: I, validation-state: unverified
>  to 10.99.0.18 via xe-0/0/0.0, Push 17, Push 1228(top)
[BGP/170] 1w2d 20:30:50, localpref 100, from 10.0.0.249
  AS path: I, validation-state: unverified
>  to 10.99.0.18 via xe-0/0/0.0, Push 21, Push 1223(top)
[BGP/170] 00:11:46, localpref 100, from 10.0.0.248
  AS path: I, validation-state: unverified
>  to 10.99.0.18 via xe-0/0/0.0, Push 21, Push 1223(top)

But done from a host connected to the evpn nothing happens:

root@lab2:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2029ms

However I made a dummy 128.0.0.0/1 route and now I can ping half of the
internet?

root@lab2:~# ping 185.107.12.60
PING 185.107.12.60 (185.107.12.60) 56(84) bytes of data.
64 bytes from 185.107.12.60: icmp_seq=1 ttl=61 time=0.902 ms
64 bytes from 185.107.12.60: icmp_seq=2 ttl=61 time=0.860 ms
64 bytes from 185.107.12.60: icmp_seq=3 ttl=61 time=0.898 ms
^C
--- 185.107.12.60 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.860/0.886/0.902/0.018 ms

This 128.0.0.0/1 route looks just the same as the 0.0.0.0/0 route:

baldur@formervangen-core3> show route table internet.inet.0 128.0.0.0/1
exact

internet.inet.0: 16 destinations, 46 routes (16 active, 0 holddown, 0
hidden)
+ = Active Route, - = Last Active, * = Both

128.0.0.0/1*[BGP/170] 00:15:12, localpref 100, from 10.0.0.248
  AS path: I, validation-state: unverified
>  to 10.99.0.18 via xe-0/0/0.0, Push 17, Push 1228(top)

The irb interface is simple:

baldur@formervangen-core3> show configuration interfaces irb.15
virtual-gateway-accept-data;
family inet {
address 185.24.168.180/26 {
virtual-gateway-address 185.24.168.129;
}
}
family inet6 {
address 2a00:7660:0:24::1044/64 {
virtual-gateway-address 2a00:7660:0:24::1;
}
}

root@lab2:~# ip route
default via 185.24.168.129 dev v15
185.24.168.128/26 dev v15 proto kernel scope link src 185.24.168.181
root@lab2:~# ip neigh show 185.24.168.129
185.24.168.129 dev v15 lladdr 00:00:5e:00:01:01 REACHABLE

I noticed that the host can access everything that formervangen-core3 has
in the routing table except for 0.0.0.0/0. This includes the 128.0.0.0/1
static reject route I created on one of the route reflectors.

The rest of the configuration:

baldur@formervangen-core3> show configuration routing-instances server15
instance-type evpn;
protocols {
evpn {
default-gateway no-gateway-community;
}
}
vlan-id 15;
l3-interface irb.15;
interface xe-0/0/10.15;
vrf-target target:60876:15;

baldur@formervangen-core3> show configuration routing-instances internet
instance-type vrf;
routing-options {
auto-export;
}
interface irb.15;
interface lo0.1;
vrf-target target:60876:0;
inactive: vrf-table-label;

Thanks,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] evpn trouble

2021-05-11 Thread Baldur Norddahl
We have two datacenter locations each with a mx204 and a pair of acx5448.
The mx204 is used for ip transit, peering and subscriber management. The
acx5448 is for connecting servers. Remember the mx204 does not have a lot
of ports.

We also have an outside plant currently with 26 locations, each with an
acx710 and a gpon switch from another vendor. This forms a 100G / 25G MPLS
backbone with multiple rings and other complex topology. We are currently
replacing older MPLS switches from another vendor with the acx710.

Juniper managed to bring down the price of both mx204 and acx710 to a level
where we could switch from using chinese equipment. I would not say it is
exactly cheap however :-). The acx710 box is significantly cheaper than
mx204 and I do not think we could afford this project without it.

Regards,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] evpn trouble

2021-05-11 Thread Baldur Norddahl
Hello Roger

Thank you for the comment. I will research mac-vrf which is new to me. We
are using MPLS and are migrating from VPLS. The ACX5448 / ACX710 do not
have virtual-switch support (but mac-vrf appears to be available). Aside
from mac-vrf my choices are evpn and evpn-vpws. Apparently subscriber
management, which we use, only supports evpn-vpws at this time.

This thread was about our server / vm hosting setup however. We only have
four server vlans and so I created one evpn instance per vlan.

Customer traffic is q-in-q. Not a problem for evpn-vpws but that has
limitations which may be a problem for me. I wish Juniper had made support
for more than just evpn-vpws as transport interface for "ps" interfaces. I
may be forced to stay with VPLS for the time being.

Thanks,

Baldur

Den tir. 11. maj 2021 kl. 15.45 skrev Roger Wiklund :

> Hi
>
> What data plane are you using, MPLS or VXLAN?
>
> Instance-type evpn is VLAN-Based Service. I.E one VLAN per EVPN instance,
> is this what you want?
> Configuring EVPN with VLAN-Based Service | EVPN User Guide | Juniper
> Networks TechLibrary
> <https://www.juniper.net/documentation/us/en/software/junos/evpn-vxlan/topics/task/evpn-routing-instance-vlan-based-configuring.html>
>
> If you want to run multiple VLANs in one EVPN instance you can use
> VLAN-Aware Service (instance-type virtual-switch or in default
> virtual-switch) where each VLAN/VNI will have a unique RT.
> Understanding VLAN-Aware Bundle and VLAN-Based Service for EVPN | EVPN
> User Guide | Juniper Networks TechLibrary
> <https://www.juniper.net/documentation/us/en/software/junos/evpn-vxlan/topics/concept/evpn-vlan-services-overview-qfx-series.html>
>
> With that said from Junos 20.4R1 there's a new mac-vrf instance-type where
> you can more clearly define the different services
> instance-type mac-vrf
> service-type vlan-aware / vlan-based / vlan-bundle
> Microsoft Word - EVPN_VxLAN_MAC-VRF_NCE.docx (juniper.net)
> <https://www.juniper.net/documentation/en_US/release-independent/nce/information-products/pathway-pages/nce/EVPN_VxLAN_MAC-VRF.pdf>
>
> Not sure when MX/ACX will gain this feature though.
>
> Regards
> Roger
>
>
>
> On Sat, May 8, 2021 at 12:12 AM Baldur Norddahl  wrote:
>
>> Hello
>>
>> I found the answer to this one. On ACX5448 and ACX710 the
>> routing-interface
>> statement does absolutely nothing. Instead you need to use the
>> undocumented
>> l3-interface statement at the same place. On the MX204 platform the
>> l3-interface statement does not exist. I will list the two configs below
>> for those that might need to know.
>>
>> Compare mx204 config:
>>
>> baldur@formervangen-edge1# show routing-instances evpntest
>> instance-type evpn;
>> protocols {
>> evpn {
>> default-gateway advertise;
>> }
>> }
>> vlan-id 20;
>> routing-interface irb.20;
>> interface xe-0/1/7.21;
>> vrf-target target:60876:20;
>>
>> And acx710 / acx5448:
>>
>> baldur@formervangen-core4# show routing-instances evpntest
>> instance-type evpn;
>> protocols {
>> evpn {
>> default-gateway advertise;
>> }
>> }
>> vlan-id 20;
>> l3-interface irb.20;
>> interface xe-0/0/0.20;
>> vrf-target target:60876:20;
>>
>> Regards,
>>
>> Baldur
>> ___
>> juniper-nsp mailing list juniper-nsp@puck.nether.net
>> https://puck.nether.net/mailman/listinfo/juniper-nsp
>>
>
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] evpn trouble

2021-05-07 Thread Baldur Norddahl
Hello

I found the answer to this one. On ACX5448 and ACX710 the routing-interface
statement does absolutely nothing. Instead you need to use the undocumented
l3-interface statement at the same place. On the MX204 platform the
l3-interface statement does not exist. I will list the two configs below
for those that might need to know.

Compare mx204 config:

baldur@formervangen-edge1# show routing-instances evpntest
instance-type evpn;
protocols {
evpn {
default-gateway advertise;
}
}
vlan-id 20;
routing-interface irb.20;
interface xe-0/1/7.21;
vrf-target target:60876:20;

And acx710 / acx5448:

baldur@formervangen-core4# show routing-instances evpntest
instance-type evpn;
protocols {
evpn {
default-gateway advertise;
}
}
vlan-id 20;
l3-interface irb.20;
interface xe-0/0/0.20;
vrf-target target:60876:20;

Regards,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] evpn trouble

2021-05-07 Thread Baldur Norddahl
Hello

I am deploying EVPN and while it works, we are having some issues. Here is
the first one:

An EVPN instance configured for testing on a MX204 and an ACX5448 both
running 21.1R1. The have the same exact configuration except for the IP
address of the IRB interface:

baldur@formervangen-core3# show interfaces irb.20
family inet {
address 185.24.168.92/29;
}

[edit]
baldur@formervangen-core3# show routing-instances evpntest
instance-type evpn;
protocols {
evpn;
}
vlan-id 20;
routing-interface irb.20;
interface xe-0/0/42.20;
vrf-target target:60876:20;

[edit]
baldur@formervangen-core3# show interfaces xe-0/0/42
flexible-vlan-tagging;
encapsulation flexible-ethernet-services;
unit 20 {
encapsulation vlan-bridge;
vlan-id 20;
}

Also irb.20 is in a layer 3 VRF called "internet".

On the MX204 the interface irb.20 comes online but on the ACX5448 the
irb.20 interface stays in the state hardware-down:

baldur@formervangen-core3# run show interfaces irb.20
  Logical interface irb.20 (Index 76) (SNMP ifIndex 563)
Flags: Hardware-Down Up SNMP-Traps 0x4004000 Encapsulation: ENET2
Bandwidth: 1Gbps
Routing Instance: None Bridging Domain: None
Input packets : 0
Output packets: 0
Protocol inet, MTU: 1514
Max nh cache: 10, New hold nh limit: 10, Curr nh cnt: 0, Curr
new hold cnt: 0, NH drop cnt: 0
  Flags: Sendbcast-pkt-to-re, Is-Primary
  Addresses, Flags: Dest-route-down Is-Preferred Is-Primary
Destination: 185.24.168.88/29, Local: 185.24.168.92, Broadcast:
185.24.168.95
Protocol multiservice, MTU: Unlimited

In fact I can not get the irb interface to go up at all on the ACX5448
platform. Is IRB unsupported? Without it a lot of EVPN features are not
available.

In our production environment the mx204 routers do not have any servers
directly connected. The irb interface will therefore not come online. But
since the acx5448 switches refuse to have their own irb interfaces, I need
the mx204 to do the task. My solution right now is to add a dummy interface
to the evpn instance on the mx204. Is there a better way? Why did Juniper
not include a knop to bring irb up even without any physical interfaces
active in the vpn?

Thanks,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] arp bug workaround (mx204)

2021-04-14 Thread Baldur Norddahl
Hello

I finally had time to implement this, but unfortunately I get this error at
commit:

admin@interxion-edge1# commit
error: Underlying interface for vlan/ip demux can't be ps
error: configuration check-out failed

This is on mx204 version 21.1R1.11.

Was something changed to disallow ip demux on top of VPLS ps interfaces? Is
there an alternative to the ps interface? Krasimir appears to have a
successful test, what is the difference?

If you need the full config that I am trying to commit, please send a
direct mail. It contains user IP addresses so I am not happy about having
that on the mailing list.

Thanks,

Baldur



Den tor. 5. nov. 2020 kl. 12.48 skrev Krasimir Avramski :

> Hi Baldur,
>
> Indeed, you are persistent in asking for that issue ;-). The idea is to
> use the RFC1925 6a) - "It is always possible to add another level of
> indirection."
>
> krasi@test# show interfaces ps201 unit 60
> demux-source inet;
> vlan-tags outer 2301 inner 1711;
> family inet {
> unnumbered-address lo0.1;
> }
>
> krasi@test# show interfaces demux0
> unit 60 {
> demux-options {
> underlying-interface ps201.60;
> }
> family inet {
> demux-source {
> 185.24.168.2/32;
> }
> unnumbered-address lo0.1 preferred-source-address 185.24.168.1;
> }
> }
> unit 61 {
> demux-options {
> underlying-interface ps201.60;
> }
> family inet {
> demux-source {
> 212.237.105.194/32;
> }
> unnumbered-address lo0.1 preferred-source-address 212.237.105.1;
> }
> }
>
> krasi@test# show routing-instances internet routing-options
> static {
> route 185.24.168.2/32 {
> qualified-next-hop demux0.60;
> }
> route 212.237.105.194/32 {
> qualified-next-hop demux0.61;
> }
> }
>
> krasi@test# run show interfaces demux0.60 |match "Pref|Under"
>   Underlying interface: ps201.60 (Index 528)
>   Family Inet Source prefixes, total 1
>   Prefix: 185.24.168.2/32
>   Preferred source address: 185.24.168.1
>
>
> krasi@test# run show interfaces demux0.61 |match "Pref|Under"
>   Underlying interface: ps201.60 (Index 528)
>   Family Inet Source prefixes, total 1
>   Prefix: 212.237.105.194/32
>   Preferred source address: 212.237.105.1
>
> krasi@test# run monitor traffic interface demux0.60 no-resolve
> 
> 13:29:05.274236 Out arp who-has 185.24.168.2 tell 185.24.168.1
> 13:29:18.976788 Out arp who-has 185.24.168.2 tell 185.24.168.1
>
> krasi@test# run monitor traffic interface demux0.61 no-resolve
> .
> 13:30:01.788921 Out arp who-has 212.237.105.194 tell 212.237.105.1
> 13:30:15.788642 Out arp who-has 212.237.105.194 tell 212.237.105.1
>
> Btw, you can use only one demux ifl for the extra ip address and set
> appropriate preferred-source-address on ps201.60 and demux0.60
>
> HTH,
> Krasi
>
> On Wed, 4 Nov 2020 at 22:02, Baldur Norddahl  wrote:
>
>> Hello
>>
>> I am trying to work around an arp bug in Junos. The issue is as follows:
>>
>> set interfaces ps201 unit 60 vlan-tags outer 2301
>> set interfaces ps201 unit 60 vlan-tags inner 1711
>> set interfaces ps201 unit 60 family inet unnumbered-address lo0.1
>> set routing-instances internet routing-options static route
>> 185.24.168.2/32
>> qualified-next-hop <http://185.24.168.2/32qualified-next-hop> ps201.60
>> mac-address b4:75:0e:15:38:9e
>> set routing-instances internet routing-options static route
>> 212.237.105.194/32 qualified-next-hop ps201.60 mac-address
>> d8:07:b6:46:7a:31
>> set routing-instances internet interface ps201.60
>> set protocols router-advertisement interface ps201.60
>>
>> The above works but hardcodes the MAC address of the customer. This is
>> necessary because there is no way to make Junos choose the correct source
>> address for ARP requests for both 185.24.168.2/32 and 212.237.105.194/32
>> at
>> the same time. You could do either of the following but not both:
>>
>> set interfaces ps201 unit 60 family inet unnumbered-address lo0.1
>> preferred-source-address 185.24.168.1
>> set interfaces ps201 unit 60 family inet unnumbered-address lo0.1
>> preferred-source-address 212.237.105.1
>>
>> With 185.24.168.1/24 and 212.237.105.1/24 both being configured on lo0.1.
>>
>> There exists an algorithm, unfortunately only mandatory for IPv6, that
>> automatically chooses the closest available address from the list of
>> possible candidate addresses. But Junos does not implement this for IPv4
>> (unknown if i

[j-nsp] user defined variables from radius

2020-11-27 Thread Baldur Norddahl
Hello

Under "dynamic-profile xxx variables" I can configure user defined
variables. I get the impression that somehow these variables can be filled
in by radius but how? Radius attributes are to my knowledge predefined.

Say I create a variable called "foobar" - what would I do with my
freeradius config to supply that variable?

Thanks,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] arp bug workaround (mx204)

2020-11-09 Thread Baldur Norddahl
Den man. 9. nov. 2020 kl. 22.11 skrev Gert Doering :

> Hi,
>
> On Wed, Nov 04, 2020 at 08:55:11PM +0100, Baldur Norddahl wrote:
> > So I am searching for work arounds. For example if I could make an ACL
> that
> > rewrites the vlans matching an IP address, such that the two IPs were on
> > two different VLANs, I could solve this by having two interfaces for the
> > customer. Alas that does not seem to be possible.
>
> Why don't you just route the second (and further) IP to the primary IP
> as gateway address?  Can JunOS not resolve this indirect next-hop?
>
>
In a greenfield deployment I would do exactly that. I am also considering
telling future customers that is the only supported way. But a lot of
existing customers have a setup with a switch instead of a router, with
multiple routers or servers directly connected. A few customers even run
VRRP at their end.

I have high hopes for the solution outlined by Krasimir. I will report back
on that as soon as I can get time to test it.

Regards,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] arp bug workaround (mx204)

2020-11-04 Thread Baldur Norddahl
Hello

I am trying to work around an arp bug in Junos. The issue is as follows:

set interfaces ps201 unit 60 vlan-tags outer 2301
set interfaces ps201 unit 60 vlan-tags inner 1711
set interfaces ps201 unit 60 family inet unnumbered-address lo0.1
set routing-instances internet routing-options static route 185.24.168.2/32
qualified-next-hop ps201.60 mac-address b4:75:0e:15:38:9e
set routing-instances internet routing-options static route
212.237.105.194/32 qualified-next-hop ps201.60 mac-address d8:07:b6:46:7a:31
set routing-instances internet interface ps201.60
set protocols router-advertisement interface ps201.60

The above works but hardcodes the MAC address of the customer. This is
necessary because there is no way to make Junos choose the correct source
address for ARP requests for both 185.24.168.2/32 and 212.237.105.194/32 at
the same time. You could do either of the following but not both:

set interfaces ps201 unit 60 family inet unnumbered-address lo0.1
preferred-source-address 185.24.168.1
set interfaces ps201 unit 60 family inet unnumbered-address lo0.1
preferred-source-address 212.237.105.1

With 185.24.168.1/24 and 212.237.105.1/24 both being configured on lo0.1.

There exists an algorithm, unfortunately only mandatory for IPv6, that
automatically chooses the closest available address from the list of
possible candidate addresses. But Junos does not implement this for IPv4
(unknown if it does for IPv6). Instead it will always use the primary
address from lo0.1 if specified, otherwise a random address.

The CPE will ignore ARP requests from the juniper router that have the
wrong source address. Our only solution has been to use the mac-address
parameter to hardcode the address, which sidesteps the issue by not using
ARP.

This is also a problem with subscriber management.

We use the above configuration for customers that paid for an extra IP
address. Often the extra address is from a different series than his
original address, because all addresses have been assigned. We can not
retroactively fix that as we have an existing customer base and customers
do not like to be told to change their static configuration, DNS names etc.

So I am searching for work arounds. For example if I could make an ACL that
rewrites the vlans matching an IP address, such that the two IPs were on
two different VLANs, I could solve this by having two interfaces for the
customer. Alas that does not seem to be possible.

Anyone have an idea how to create some sort of work around that does not
force the MAC address to be hardcoded?

Thanks,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] set MED only on empty

2020-09-19 Thread Baldur Norddahl
Hello

Metric zero should work, I do not know why I did not think of that.

Thanks,

Baldur

Den lør. 19. sep. 2020 kl. 21.13 skrev Eduardo Schoedler :

> Hi Baldur,
>
> Try match metric, with some tests you can define empty (maybe zero?).
>
>
> https://www.juniper.net/documentation/en_US/junos/topics/usage-guidelines/policy-configuring-match-conditions-in-routing-policy-terms.html
>
>
>
> Regards.
>
>
> Em sáb., 19 de set. de 2020 às 12:59, Baldur Norddahl 
> escreveu:
>
>> Hello
>>
>>
>>
>> I want to set MED (metric) only when the peer did not specify a MED value.
>>
>> The idea being that peers that set MED have a reason for their choice, but
>>
>> if no MED value is set, I am going to set it to MED=(latency_to_peer_in_ms
>>
>> + 1000). That way we will prefer the route with lowest latency.
>>
>>
>>
>> But I can not figure out how to match on no MED value in a policy. There
>>
>> must be a way to do this?
>>
>>
>>
>> Thanks,
>>
>>
>>
>> Baldur
>>
>> ___
>>
>> juniper-nsp mailing list juniper-nsp@puck.nether.net
>>
>> https://puck.nether.net/mailman/listinfo/juniper-nsp
>>
>> --
> Eduardo Schoedler
>
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] set MED only on empty

2020-09-19 Thread Baldur Norddahl
Hello

I want to set MED (metric) only when the peer did not specify a MED value.
The idea being that peers that set MED have a reason for their choice, but
if no MED value is set, I am going to set it to MED=(latency_to_peer_in_ms
+ 1000). That way we will prefer the route with lowest latency.

But I can not figure out how to match on no MED value in a policy. There
must be a way to do this?

Thanks,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] ACX5448 & ACX710 - Update!

2020-07-30 Thread Baldur Norddahl




On 30.07.2020 10.29, Mark Tinka wrote:

The ACX710 was clearly built for one or two mobile network operators.
There is no doubt about that.

Juniper have been making boxes that support both AC and DC for yonks.
Hardened and regular. What's so special about the ACX710? In 2020?



To be fair there are more than two Juniper customers world wide that are 
using 48V DC. To my knowledge DC power is very common in the telco world.


What is special about ACX710 is probably the price point. They want a 
device for a certain market without loosing the ability to sell a higher 
priced device for another market.


Regards,

Baldur

___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] ACX5448 & ACX710 - Update!

2020-07-30 Thread Baldur Norddahl




On 29.07.2020 23.18, Mark Tinka wrote:

On 29/Jul/20 20:18, Baldur Norddahl wrote:

I am also going to get a few ACX5448 for our datacentre locations. I am
still considering getting some AC to DC powersupplies for the ACX710
because the cost saving is considerable. It is not like finding AC to DC
devices is hard - every laptop comes with one (yea I know too little
voltage).

If you are deploying 20, not a major issue.

If you're deploying several-hundred or several-thousands units, this is
not a small issue.



Not going to claim what is or is not a small issue for anyone here. Just 
saying that one rack unit external power supplies are plentiful and 
cheap. Like this one (just the first result on Google):


https://www.simplypowersupply.com/Rack-Mount-Power-Supply/RCP-1000-48-Meanwell-48Vdc-1000W-Rack-Mount-Power-Supply.aspx

We only have two datacentre locations and for those two location I would 
consider getting something like that. But I am probably going to go with 
the ACX5448 anyway because I could find a use for the extra 100G ports.


The 20 locations are at the incumbents CO locations where 48 volt DC 
with battery and sometimes generator backup is what you get. You could 
get 230V AC at these locations but it would be without backup.


In the future I might also get some locations in street cabinets, where 
I would put a standard DC UPS of the kind where you have a couple 12V 
batteries in series to make up the 48 volt, the equipment connected 
directly to the battery bank and a charger continuously charging the 
batteries. This is very cheap and extremely stable. The ACX710 device is 
environmentally hardened and clearly made for exactly that kind of 
deployment.


I see that ACX710 is not as much made for a specific customer as it is 
NOT made for a group of customers: the datacenter customers are supposed 
to buy the more expensive ACX5448. But said datacenter customers can 
spend one rack unit on an external DC powersupply and go with it anyway.


Regards,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] ACX5448 & ACX710 - Update!

2020-07-29 Thread Baldur Norddahl
I am planning to deploy ACX710 with maybe 20 units (which for us is a huge
number). We would have ordered DC in any case, so that is a non issue. We
will have them at CO buildings were DC is what you get and maybe in the
future in road side cabinets, where DC is the easy way to have some battery
backup.

I am also going to get a few ACX5448 for our datacentre locations. I am
still considering getting some AC to DC powersupplies for the ACX710
because the cost saving is considerable. It is not like finding AC to DC
devices is hard - every laptop comes with one (yea I know too little
voltage).

Our purpose is to replace our MPLS core with new gear that has deep buffers
and better support for traffic engineering etc. These will be P and PE
routers mostly doing L2VPN. We will have a 100G ring topology of ACX710
devices moving MPLS packets and terminating L2VPN.

Seems to be a perfect fit to me. I am not interested in the older ACX
devices which lacks buffers and is probably not much better than the gear
we want to replace.

Regards

Baldur


ons. 29. jul. 2020 16.25 skrev Mark Tinka :

>
>
> On 29/Jul/20 15:49, Eric Van Tol wrote:
> > We ran into this, too. We signed up to beta test at the beginning of
> this year and nowhere, not even in discussions with our SE (who also wasn't
> told by Juniper), was it mentioned it was a DC-only device. Imagine my
> surprise when I received the box and it was DC only. Such a disappointment.
>
> The messaging we got from them earlier in the year about trying out
> their new Metro-E box was that we would be happy with it, considering
> that every Metro-E solution they've thrown at us since 2008 has fallen
> flat, splat!
>
> Come game-time, even our own SE was blindsided by this DC-only support
> on the ACX710. Proper show-stopper.
>
> At any rate, the story is that they should be pushing out some new
> ACX7xxx boxes from next year, which should have AC support (to you
> psych. majors: more for the general public, and not the custom-built
> ACX710).
>
> I'm not sure I can be that patient, so I'm sniffing at Nokia's new
> Metro-E product line. The problem is so far, as with Juniper and Cisco,
> they've gone down the Broadcom route (some boxes shipping with Qumran,
> others with Jericho 2, and on-paper, they are already failing some of
> our forwarding requirements.
>
> It's not easy...
>
> Mark.
>
> ___
> juniper-nsp mailing list juniper-nsp@puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp
>
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] vrrp on a vpls / ps interface

2020-07-24 Thread Baldur Norddahl

Hello

I noticed that VRRP on a ps interface does not seem to work. Is there 
anything I can do about that or is that not supported?


This is on MX204. Exact same configuration is working fine on et-0/0/0.16.

admin@gc-edge1> show configuration interfaces ps2
anchor-point {
    lt-0/0/0;
}
flexible-vlan-tagging;
unit 0 {
    description Server;
    encapsulation ethernet-vpls;
}
unit 16 {
    description "Server CGN";
    vlan-tags outer 99 inner 16;
    family inet {
    address 100.127.254.2/24 {
    vrrp-group 159 {
    virtual-address 100.127.254.1;
    priority 10;
    preempt;
    accept-data;
    }
    vrrp-group 164 {
    virtual-address 100.127.254.7;
    priority 10;
    preempt;
    accept-data;
    }
    }
    }
}

admin@gc-edge1> show vrrp
Interface State   Group   VR state VR Mode   Timer    Type Address
et-0/0/0.14   up    161   master   Active  A  0.113 lcl    
10.0.1.159

vip    10.0.1.160
et-0/0/0.14   up    162   backup   Active  D  2.825 lcl    
10.0.1.159

vip    10.0.1.1
mas    10.0.1.158
(etc... ps2.16 is not here)

Thanks,

Baldur


___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] DHCP relay monitoring

2020-07-09 Thread Baldur Norddahl

Hello

On one of my MX204 routers the DHCP relay crashes after some running 
time and the process stops. It is not restarted automatically but will 
start again with the following command:


admin@gc-edge1> restart dhcp-service
error: Junos Dynamic Host Configuration Protocol process is not running
Junos Dynamic Host Configuration Protocol process started, pid 72256

I can open a case with JTAC for the cause of the crash, but I am 
thinking about how to monitor the relay. None of my current monitoring 
tools detects this situation and it is actually quite critical. With no 
relay the customers DHCP lease may expire. To a certain extend the 
customers will be using unicast to the DHCP server and not many will 
feel it right away, but soon enough we will have customers that can not 
get online after rebooting their CPE etc.


What options do we have for monitoring running processes on the router? 
Are there other processes than DHCP that should be monitored too?


Regards,

Baldur


___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] what do do with bug reports

2020-06-14 Thread Baldur Norddahl

Hello

What am I supposed to do with glaring bugs? Are Juniper interested in 
knowing those or don't they care?


In this case I found out that 19.1 behaves badly if you set [system 
services subscriber-management overrides interfaces family inet 
receive-gratuitous-arp]. The setting is supposed to enable updating the 
ARP table when receiving gratuitous ARP from clients. Instead it makes 
the router reply to those ARP packets, which causes the clients to 
reject the address.


Packet monitor (somewhat shortened):

07:41:05.677882 bpf_flags 0x03,  In
    Juniper PCAP Flags [no-L2, In]
    -original packet-
    PFE proto 2 (ipv4): (tos 0x0, ttl  64, id 24111, offset 0, flags 
[none], proto: UDP (17), length: 576) 0.0.0.0.bootpc > 
255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 
34:21:09:x:x:e1, length 548, xid 0x1b632c2a, Flags [Broadcast] (0x8000)

    -original packet-
    PFE proto 2 (ipv4): (tos 0x0, ttl 255, id 0, offset 0, flags 
[none], proto: UDP (17), length: 319) 185.24.168.248.bootps > 
255.255.255.255.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 291, xid 
0x1b632c2a, Flags [Broadcast] (0x8000)

    -original packet-
    PFE proto 2 (ipv4): (tos 0x0, ttl  64, id 24111, offset 0, flags 
[none], proto: UDP (17), length: 576) 0.0.0.0.bootpc > 
255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 
34:21:09:xx:xx:e1, length 548, xid 0x1b632c2a, Flags [Broadcast] (0x8000)

    -original packet-
    PFE proto 2 (ipv4): (tos 0x0, ttl 255, id 0, offset 0, flags 
[none], proto: UDP (17), length: 319) 185.24.168.248.bootps > 
255.255.255.255.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 291, xid 
0x1b632c2a, Flags [Broadcast] (0x8000)

      Your-IP 212.237.x.237
        DHCP-Message Option 53, length 1: ACK
    -original packet-
    34:21:09:x:x:e1 > Broadcast, ethertype 802.1Q (0x8100), length 
4294967292: vlan 301, p 0, ethertype 802.1Q, vlan 545, p 0, ethertype 
ARP, arp who-has 212.237.x.237 tell 212.237.x.237

07:41:05.686691 bpf_flags 0x00, Out
    -original packet-
    e6:5d:37:84:53:17 > 34:21:09:x:x:e1, ethertype ARP (0x0806), length 
4294967292: arp reply 212.237.x.237 is-at e6:5d:37:84:53:17

07:41:05.689680 bpf_flags 0x03,  In
    -original packet-
    PFE proto 2 (ipv4): (tos 0x0, ttl  64, id 24111, offset 0, flags 
[none], proto: UDP (17), length: 576) 0.0.0.0.bootpc > 
255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 
34:21:09:x:x:e1, length 548, xid 0x1b632c2a, Flags [Broadcast] (0x8000)

        DHCP-Message Option 53, length 1: Decline
^C
8 packets received by filter

The part that is plain wrong is "arp reply 212.237.x.237 is-at 
e6:5d:37:84:53:17". NO! 212.237.x.237 is actually at 34:21:09:x:x:e1 and 
by responding to this, the router causes the client to believe something 
else is using the address. Therefore the client sends Decline back to 
the DHCP server.


Proxy-arp settings makes no difference at all. Doesn't matter if you 
have it entirely disabled or set to proxy-arp restricted. However 
disabling receive-gratuitous-arp makes the router stop doing this.


If I made a case for this I am sure they will just tell me to disable 
receive-gratuitous-arp which is exactly what I did. I am just curious if 
there is any way to report bugs that I will live with as is. It is still 
clearly something that should get fixed.


Regards,

Baldur



___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] VPLS q-in-q

2020-05-22 Thread Baldur Norddahl




On 22.05.2020 12.42, Baldur Norddahl wrote:



However I also need this on a 'ps' interface to support auto 
configuration with subscriber management. I tried replicating the 
configuration from xe-0/1/7.424 on ps1.424 and that configuration is 
accepted by the router but does nothing. Auto configuration does query 
the radius server. I then tried ethernet-vpls on ps1.0 which works but 
now I am missing the outer vlan tag.




The above should read "Auto configuration does NOT query the radius 
server". Sorry.


Regards,

Baldur

___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] VPLS q-in-q

2020-05-22 Thread Baldur Norddahl

Hello

I got this working by changing VPLS encapsulation from tagged to raw and 
this config:


baldur@formervangen-edge1# show routing-instances poi-formervangen | 
display inheritance brief

protocols {
    vpls {
    encapsulation-type ethernet;
    ## 'no-control-word' was inherited from group 'POI-VPLS'
    no-control-word;
    ## 'mac-statistics' was inherited from group 'POI-VPLS'
    mac-statistics;
    mesh-group 1 {
    vpls-id 424;
    neighbor 10.9.124.0;
    }
    }
}
## 'vpls' was inherited from group 'POI-VPLS'
instance-type vpls;
vlan-id all;
interface xe-0/1/7.424;
interface ps1.0;
interface ps1.424; ## 'ps1.424' is not defined

[edit]
baldur@formervangen-edge1# show interfaces xe-0/1/7
flexible-vlan-tagging;
native-vlan-id 424;
encapsulation flexible-ethernet-services;
unit 424 {
    encapsulation vlan-vpls;
    vlan-tags outer 424 inner-range 1-4000;
}


I now get double tagged frames out on interface xe-0/1/7:

10:29:34.667573 00:22:07:4d:7b:0d > ff:ff:ff:ff:ff:ff, ethertype 802.1Q 
(0x8100), length 350: vlan 424, p 0, ethertype 802.1Q, vlan 201, p 0, 
ethertype IPv4, 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request 
from 00:22:07:4d:7b:0d, length 300


However I also need this on a 'ps' interface to support auto 
configuration with subscriber management. I tried replicating the 
configuration from xe-0/1/7.424 on ps1.424 and that configuration is 
accepted by the router but does nothing. Auto configuration does query 
the radius server. I then tried ethernet-vpls on ps1.0 which works but 
now I am missing the outer vlan tag.


baldur@formervangen-edge1# show interfaces ps1
apply-groups AUTO-PS;
encapsulation flexible-ethernet-services;
unit 0 {
    encapsulation ethernet-vpls;
}
inactive: unit 424 {
    encapsulation vlan-vpls;
    vlan-tags outer 424 inner-range 1-4000;
}

Packet counters on ps1.424 is counting output packages but 
auto-configure is not triggered.


Is there a trick to get the full q-in-q double tagged headers back in 
this case?


Thanks,

Baldur


Full config of ps1:

baldur@formervangen-edge1# show interfaces ps1 | display inheritance brief
## 'anchor-point' was inherited from group 'AUTO-PS'
anchor-point {
    ## 'lt-0/0/0' was inherited from group 'AUTO-PS'
    lt-0/0/0;
}
## 'flexible-vlan-tagging' was inherited from group 'AUTO-PS'
flexible-vlan-tagging;
## 'auto-configure' was inherited from group 'AUTO-PS'
auto-configure {
    ## 'stacked-vlan-ranges' was inherited from group 'AUTO-PS'
    stacked-vlan-ranges {
    ## 'USER-ACCESS-TEST' was inherited from group 'AUTO-PS'
    dynamic-profile USER-ACCESS-TEST {
    ## 'any' was inherited from group 'AUTO-PS'
    accept any;
    ranges {
    ## 'any,any' was inherited from group 'AUTO-PS'
    any,any;
    }
    }
    ## 'authentication' was inherited from group 'AUTO-PS'
    authentication {
    ## 'any' was inherited from group 'AUTO-PS'
    packet-types any;
    ## '$ABC123' was inherited from group 'AUTO-PS'
    password "$ABC123";
    ## 'username-include' was inherited from group 'AUTO-PS'
    username-include {
    ## 'qqvlan' was inherited from group 'AUTO-PS'
    user-prefix qqvlan;
    ## 'vlan-tags' was inherited from group 'AUTO-PS'
    vlan-tags;
    }
    }
    ## 'access-profile' was inherited from group 'AUTO-PS'
    ## 'rad' was inherited from group 'AUTO-PS'
    access-profile rad;
    }
    ## 'vlan-ranges' was inherited from group 'AUTO-PS'
    vlan-ranges {
    ## 'USER-ACCESS-TEST' was inherited from group 'AUTO-PS'
    dynamic-profile USER-ACCESS-TEST {
    ## 'any' was inherited from group 'AUTO-PS'
    accept any;
    ranges {
    ## 'any' was inherited from group 'AUTO-PS'
    any;
    }
    }
    ## 'authentication' was inherited from group 'AUTO-PS'
    authentication {
    ## 'any' was inherited from group 'AUTO-PS'
    packet-types any;
    ## '$ABC123' was inherited from group 'AUTO-PS'
    password "$ABC123";
    ## 'username-include' was inherited from group 'AUTO-PS'
    username-include {
    ## 'qvlan' was inherited from group 'AUTO-PS'
    user-prefix qvlan;
    ## 'vlan-tags' was inherited from group 'AUTO-PS'
    vlan-tags;
    }
    }
    ## 'access-profile' was inherited from group 'AUTO-PS'
    ## 'rad' was inherited from group 'AUTO-PS'
    access-profile rad;
    }
}
encapsulation flexible-ethernet-services;
unit 0 {
    encapsulation ethernet-vpls;
}


___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] VPLS q-in-q

2020-05-20 Thread Baldur Norddahl



On 20.05.2020 15.04, Mark Tees wrote:

Assuming 00:22:07:4d:7b:0d is the MAC behind the Juniper and the PCAP
is on NIC of the host connected to the ZTE.

At a guess the ZTE doing something different on ingress than what I am
thinking here.

If you can verify by PCAP on MPLS interface it would be handy to see
what each side is doing in each direction. Juniper MX operations in
this regards have usually been pretty explicit.



Not so easy to interpret but here is a capture of the MPLS packet sent 
by the ZTE device. The capture device (a Linux box with bridge) is 
sitting in between those the ZTE switch and the Juniper MX204. They 
would not usually be directly connected like this, but I am in the lab.


Frame 60: 368 bytes on wire (2944 bits), 368 bytes captured (2944 bits)
Ethernet II, Src: Zte_ba:ef:84 (0c:12:62:ba:ef:84), Dst: 
JuniperN_8f:dc:73 (e4:5d:37:8f:dc:73)

MultiProtocol Label Switching Header, Label: 238, Exp: 0, S: 1, TTL: 255
       1110 1110    = MPLS Label: 238
         000.   = MPLS Experimental Bits: 0
         ...1   = MPLS Bottom Of Label Stack: 1
            = MPLS TTL: 255
Data (350 bytes)
    Data: 0022074d7b0d810001a881c908004500...
    [Length: 350]

   ff ff ff ff ff ff 00 22 07 4d 7b 0d 81 00 01 a8 ÿÿ.".M{¨
0010   81 00 00 c9 08 00 45 00 01 48 00 00 00 00 40 11 ...É..E..H@.
0020   79 a6 00 00 00 00 ff ff ff ff 00 44 00 43 01 34 y¦.D.C.4
0030   be 52 01 01 06 00 79 b3 e8 65 2b 95 00 00 00 00 ¾Ry³èe+.
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 ..."
0050   07 4d 7b 0d 00 00 00 00 00 00 00 00 00 00 00 00 .M{.
0060   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0080   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0090   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00a0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00b0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00c0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00d0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00e0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00f0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0100   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0110   00 00 00 00 00 00 00 00 00 00 00 00 00 00 63 82 ..c.
0120   53 63 35 01 01 39 02 02 40 37 0e 01 03 06 0c 0f Sc5..9..@7..
0130   1c 2a 2b 42 43 80 84 85 d4 3c 15 45 47 33 30 30 .*+BC...Ô<.EG300
0140   41 2d 57 55 32 31 55 41 43 2d 49 4e 54 45 4e 4f A-WU21UAC-INTENO
0150   0c 0b 49 6e 74 65 6e 6f 5f 37 42 30 41 ff ..Inteno_7B0Aÿ

I pasted that stuff into the packet decoder at https://hpd.gasmi.net/ 
and surprisingly found out that both outer and inner vlan is present. I 
thought it would not transmit the outer vlan. Still does not explain why 
I am having trouble then.


I need to go home now but I clearly need to investigate more.


Regards,

Baldur



___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] VPLS q-in-q

2020-05-20 Thread Baldur Norddahl
I tried this and we got closer but it is replacing both inner and outer 
tags now:


12:48:27.320821 00:22:07:4d:7b:0d > ff:ff:ff:ff:ff:ff, ethertype 802.1Q 
(0x8100), length 350: vlan 424, p 0, ethertype 802.1Q, vlan 424, p 0, 
ethertype IPv4, 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request 
from 00:22:07:4d:7b:0d, length 300


That should have been outer 424 inner 201.

The config:

baldur@formervangen-edge1# show interfaces xe-0/1/7
flexible-vlan-tagging;
native-vlan-id 424;
encapsulation flexible-ethernet-services;
unit 424 {
    encapsulation vlan-vpls;
    vlan-id 424;
    input-vlan-map pop;
    output-vlan-map push;
}

[edit]
baldur@formervangen-edge1# commit
commit complete

[edit]
baldur@formervangen-edge1# show routing-instances poi-formervangen | 
display inheritance brief

protocols {
    vpls {
    ## 'ethernet-vlan' was inherited from group 'POI-VPLS'
    encapsulation-type ethernet-vlan;
    ## 'no-control-word' was inherited from group 'POI-VPLS'
    no-control-word;
    ## 'mac-statistics' was inherited from group 'POI-VPLS'
    mac-statistics;
    mesh-group 1 {
    vpls-id 424;
    neighbor 10.9.124.0;
    }
    }
}
## 'vpls' was inherited from group 'POI-VPLS'
instance-type vpls;
interface xe-0/1/7.424;

Regards,

Baldur

On 20.05.2020 14.25, Mark Tees wrote:

You need to get rid of the vlan-id off the routing-instance.

End result I think should be similar to this:

   Logical interface ge-1/0/6.888 (Index 650) (SNMP ifIndex 830)
 Flags: Up SNMP-Traps 0x0 VLAN-Tag [ 0x8100.888 ] In(pop) Out(push
0x8100.888)  Encapsulation: VLAN-VPLS

Yours is pushing 424 on ingress. Unless, you want to be matching on
both tags all you need is this:

set routing-instances VPLS instance-type vpls
set routing-instances VPLS interface ge-1/0/6.888


set interfaces ge-1/0/6 unit 888 encapsulation vlan-vpls
set interfaces ge-1/0/6 unit 888 vlan-id 888
set interfaces ge-1/0/6 unit 888 input-vlan-map pop
set interfaces ge-1/0/6 unit 888 output-vlan-map push

You don't need to say anything about inner tags unless you are wanting
to do an operation on them? It sound like your remote side/ZTE does
the same as what I have mentioned above.

On Wed, 20 May 2020 at 22:13, Baldur Norddahl  wrote:

Hello

I am trying the suggestion received so far and now have this configuration:

baldur@formervangen-edge1# show interfaces xe-0/1/7
flexible-vlan-tagging;
native-vlan-id 424;
encapsulation flexible-ethernet-services;
unit 424 {
  encapsulation vlan-vpls;
  vlan-tags outer 424;
  input-vlan-map {
  push;
  vlan-id 424;
  }
  output-vlan-map pop;
}

baldur@formervangen-edge1# show routing-instances poi-formervangen |
display inheritance brief
protocols {
  vpls {
  ## 'ethernet-vlan' was inherited from group 'POI-VPLS'
  encapsulation-type ethernet-vlan;
  ## 'no-control-word' was inherited from group 'POI-VPLS'
  no-control-word;
  ## 'mac-statistics' was inherited from group 'POI-VPLS'
  mac-statistics;
  mesh-group 1 {
  vpls-id 424;
  neighbor 10.9.124.0;
  }
  }
}
## 'vpls' was inherited from group 'POI-VPLS'
instance-type vpls;
## 'inner-all' was inherited from group 'POI-VPLS'
vlan-id inner-all;
interface xe-0/1/7.424;

baldur@formervangen-edge1# run show interfaces xe-0/1/7
Physical interface: xe-0/1/7, Enabled, Physical link is Up
Interface index: 176, SNMP ifIndex: 541
Link-level type: Flexible-Ethernet, MTU: 1522, MRU: 1530, LAN-PHY
mode, Speed: 10Gbps, BPDU Error: None, Loop Detect PDU Error: None,
MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled,
Flow control: Enabled, Speed Configuration: Auto
Pad to minimum frame size: Disabled
Device flags   : Present Running
Interface flags: SNMP-Traps Internal: 0x4000
CoS queues : 8 supported, 8 maximum usable queues
Schedulers : 0
Current address: e4:5d:37:8f:dc:7a, Hardware address: e4:5d:37:8f:dc:7a
Last flapped   : 2020-05-20 11:14:05 CEST (02:54:05 ago)
Input rate : 0 bps (0 pps)
Output rate: 1384 bps (0 pps)
Active alarms  : None
Active defects : None
PCS statistics  Seconds
  Bit errors 3
  Errored blocks 3
Interface transmit statistics: Disabled

Logical interface xe-0/1/7.424 (Index 82) (SNMP ifIndex 607)
  Flags: Up SNMP-Traps 0x4000 VLAN-Tag [ 0x8100.424 ] Native-vlan-id:
424 In(push .424) Out(pop)  Encapsulation: VLAN-VPLS
  Input packets : 14
  Output packets: 66
  Protocol vpls, MTU: 1522
Flags: Is-Primary

Logical interface xe-0/1/7.32767 (Index 111) (SNMP ifIndex 605)

Re: [j-nsp] VPLS q-in-q

2020-05-20 Thread Baldur Norddahl

Hello

I am trying the suggestion received so far and now have this configuration:

baldur@formervangen-edge1# show interfaces xe-0/1/7
flexible-vlan-tagging;
native-vlan-id 424;
encapsulation flexible-ethernet-services;
unit 424 {
    encapsulation vlan-vpls;
    vlan-tags outer 424;
    input-vlan-map {
    push;
    vlan-id 424;
    }
    output-vlan-map pop;
}

baldur@formervangen-edge1# show routing-instances poi-formervangen | 
display inheritance brief

protocols {
    vpls {
    ## 'ethernet-vlan' was inherited from group 'POI-VPLS'
    encapsulation-type ethernet-vlan;
    ## 'no-control-word' was inherited from group 'POI-VPLS'
    no-control-word;
    ## 'mac-statistics' was inherited from group 'POI-VPLS'
    mac-statistics;
    mesh-group 1 {
    vpls-id 424;
    neighbor 10.9.124.0;
    }
    }
}
## 'vpls' was inherited from group 'POI-VPLS'
instance-type vpls;
## 'inner-all' was inherited from group 'POI-VPLS'
vlan-id inner-all;
interface xe-0/1/7.424;

baldur@formervangen-edge1# run show interfaces xe-0/1/7
Physical interface: xe-0/1/7, Enabled, Physical link is Up
  Interface index: 176, SNMP ifIndex: 541
  Link-level type: Flexible-Ethernet, MTU: 1522, MRU: 1530, LAN-PHY 
mode, Speed: 10Gbps, BPDU Error: None, Loop Detect PDU Error: None, 
MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled,

  Flow control: Enabled, Speed Configuration: Auto
  Pad to minimum frame size: Disabled
  Device flags   : Present Running
  Interface flags: SNMP-Traps Internal: 0x4000
  CoS queues : 8 supported, 8 maximum usable queues
  Schedulers : 0
  Current address: e4:5d:37:8f:dc:7a, Hardware address: e4:5d:37:8f:dc:7a
  Last flapped   : 2020-05-20 11:14:05 CEST (02:54:05 ago)
  Input rate : 0 bps (0 pps)
  Output rate    : 1384 bps (0 pps)
  Active alarms  : None
  Active defects : None
  PCS statistics  Seconds
    Bit errors 3
    Errored blocks 3
  Interface transmit statistics: Disabled

  Logical interface xe-0/1/7.424 (Index 82) (SNMP ifIndex 607)
    Flags: Up SNMP-Traps 0x4000 VLAN-Tag [ 0x8100.424 ] Native-vlan-id: 
424 In(push .424) Out(pop)  Encapsulation: VLAN-VPLS

    Input packets : 14
    Output packets: 66
    Protocol vpls, MTU: 1522
  Flags: Is-Primary

  Logical interface xe-0/1/7.32767 (Index 111) (SNMP ifIndex 605)
    Flags: Up SNMP-Traps 0x4004000 VLAN-Tag [ 0x.0 ] Encapsulation: 
ENET2

    Input packets : 426
    Output packets: 456
    Protocol multiservice, MTU: Unlimited
  Flags: None



However the behaviour did not change. I am stilling receiving only 
single tagged frames:


12:11:09.996863 00:22:07:4d:7b:0d > ff:ff:ff:ff:ff:ff, ethertype 802.1Q 
(0x8100), length 346: vlan 201, p 0, ethertype IPv4, 0.0.0.0.68 > 
255.255.255.255.67: BOOTP/DHCP, Request from 00:22:07:4d:7b:0d, length 300


It appears the vlan map is completely ignored.

Regards,

Baldur



___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] VPLS q-in-q

2020-05-20 Thread Baldur Norddahl

Hello

I am trying to enable transport of q-in-q double tagged frames over VPLS 
through our MX204. The remote end is a switch of another brand (ZTE) and 
it has some limitations. The outer vlan tag is not transported so I need 
the MX204 to add it back before processing. However I can not figure out 
how to do this.


My test configuration:

baldur@formervangen-edge1# show routing-instances poi-formervangen | 
display inheritance brief

protocols {
    vpls {
    ## 'ethernet-vlan' was inherited from group 'POI-VPLS'
    encapsulation-type ethernet-vlan;
    ## 'no-control-word' was inherited from group 'POI-VPLS'
    no-control-word;
    ## 'mac-statistics' was inherited from group 'POI-VPLS'
    mac-statistics;
    mesh-group 1 {
    vpls-id 424;
    neighbor 10.9.124.0;
    }
    }
}
## 'vpls' was inherited from group 'POI-VPLS'
instance-type vpls;
vlan-id 424;
interface xe-0/1/7.424;

baldur@formervangen-edge1# show interfaces xe-0/1/7
flexible-vlan-tagging;
native-vlan-id 424;
encapsulation flexible-ethernet-services;
unit 424 {
    encapsulation vlan-vpls;
    vlan-id 424;
}

I have a client injecting some traffic on the remote switch using outer 
vlan 424 and inner vlan 201. Remember outer vlan is not transported, so 
the L2VPN would only receive single tagged frames with vlan 201. I need 
the MX204 to add outer vlan 424 and transmit packets with outer vlan 424 
and inner vlan on interface xe-0/1/7. But instead I get this:


11:10:02.303264 00:22:07:4d:7b:0d > ff:ff:ff:ff:ff:ff, ethertype 802.1Q 
(0x8100), length 346: vlan 201, p 0, ethertype IPv4, 0.0.0.0.68 > 
255.255.255.255.67: BOOTP/DHCP, Request from 00:22:07:4d:7b:0d, length 300


This is a tcpdump on a Linux server. Vlan 424 is not added and we just 
get singled tagged vlan 201 packets :-(.


I have tried all sort of combinations including input and 
output-vlan-map but with no success. Anyone have some pointers on how to 
accomplish this?


Thanks,

Baldur

___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] static arp with unnumbered-address

2020-02-14 Thread Baldur Norddahl
Hi Krasimir

Exactly what I was looking for. Thanks. Will try it as soon as possible.

Regards

Baldur


tor. 13. feb. 2020 22.53 skrev Krasimir Avramski :

> Hello,
>
> The static arp assignments are possible by borrowing the idea from
> subscriber management access or access-internal routes (subs management
> will do that automatically upon subscriber dhcp binding):
>
> krasi@test# show interfaces ge-0/0/0
> flexible-vlan-tagging;
> encapsulation flexible-ethernet-services;
> unit 10 {
> vlan-tags outer 402 inner 1016;
> family inet {
> unnumbered-address lo0.1;
> }
> }
> krasi@test# show routing-instances internet routing-options
> access-internal {
> route 1.1.1.1/32 {
> qualified-next-hop ge-0/0/0.10 {
> mac-address 00:11:11:11:11:11;
> }
> }
> }
>
> krasi@test# run show route table internet protocol access-internal
> internet.inet.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
> 1.1.1.1/32 *[Access-internal/12] 00:03:51
> > to #0 0.11.11.11.11.11 via ge-0/0/0.10
>
> krasi@test# run show arp no-resolve vpn internet
> MAC Address   Address Interface Flags
> 00:11:11:11:11:11 1.1.1.1 ge-0/0/0.10  permanent
>
> HTH,
> Krasi
>
>
> On Thu, 13 Feb 2020 at 15:09, Baldur Norddahl  wrote:
>
>> Den tor. 13. feb. 2020 kl. 13.12 skrev Alexander Arseniev <
>> arsen...@btinternet.com>:
>>
>> > Hello,
>> > So. this whole setup is built for saving 2 IP from each /26, correct?
>> >
>>
>> No the purpose is to avoid needing to use a /30 minimum per customer. Lets
>> say we have subnet 192.0.2.0/26:
>>
>> 192.0.2.0 network - unusable
>> 192.0.2.1 default gateway for customers
>> 192.0.2.2 customer1 unit 10 vlan 10
>> 192.0.2.3 customer2 unit 11 vlan 11
>> 192.0.2.4 customer3 unit 12 vlan 12
>> etc
>> 192.0.2.63 broadcast - unusable
>>
>> So each customer is on a different vlan also called the customer vlan
>> (CVLAN) model (actual deployment uses q-in-q). We use /32 routes to each
>> customer, however the customer believes he is part of a /26. This is so
>> multiple customers can share the same gateway IP address.
>>
>> The IP waste is related to the size of the subnet. In this case we choose
>> a
>> /26 which means we lose 3 IPs out of 64. The alternative without using
>> unnumbered address would look like this:
>>
>> 192.0.2.0 network IP unit 10 vlan 10
>> 192.0.2.1 gateway unit 10 vlan 10
>> 192.0.2.2 customer1 unit 10 vlan 10
>> 192.0.2.3 broadcast unit 10 vlan 10
>> 192.0.2.4 network unit 11 vlan 11
>> 192.0.2.5 gateway unit 11 vlan 11
>> 192.0.2.6 customer2 unit 11 vlan 11
>> 192.0.2.7 broadcast unit 11 vlan 11
>> etc
>>
>> Each customer would then live inside his very own /30 and done like that
>> it
>> would probably just work. Nobody wants to do it like that anymore. The
>> waste is 75%.
>>
>> Regards,
>>
>> Baldur
>>
>>
>>
>> > If You reconsider and decide You can afford to waste 2/64 = 3% of Your
>> > IPv4 address estate, then on the face of it, looks like perfect use case
>> > for EVPN with its /32 routes auto-created from ARP.
>> > You can assign multiple 1st IPs from multitude of /26 to each EVPN IRB
>> > interface with proper /26 netmask instead of tinkering with
>> > unnumbered-address.
>> > And if You export these /32 into Your iBGP, the /32 will be routed to
>> > according to usual iBGP rules (local pref|metric etc).
>> > Thanks
>> > Alex
>> >
>> > -- Original Message --
>> > From: "Baldur Norddahl" 
>> > To: "Juniper List" 
>> > Sent: 13/02/2020 09:50:34
>> > Subject: Re: [j-nsp] static arp with unnumbered-address
>> >
>> > >Hi Alex
>> > >
>> > >Thanks for the reply. Ok I managed to make a bad example. This is
>> actually
>> > >from our running configuration and all the routes are /32 routes. The
>> > issue
>> > >is that the customers have all been assigned IPv4 addresses from random
>> > >subnets. The subnets are usually sized /26 and the first address is
>> > >configured on the router loopback interface, such that customers can
>> use
>> > it
>> > >as the default gateway using proxy arp.
>> > >
>> > >The problem is that arp is not working correctly. When selecting the
>> > source
>> > >address

Re: [j-nsp] static arp with unnumbered-address

2020-02-13 Thread Baldur Norddahl
Den tor. 13. feb. 2020 kl. 13.12 skrev Alexander Arseniev <
arsen...@btinternet.com>:

> Hello,
> So. this whole setup is built for saving 2 IP from each /26, correct?
>

No the purpose is to avoid needing to use a /30 minimum per customer. Lets
say we have subnet 192.0.2.0/26:

192.0.2.0 network - unusable
192.0.2.1 default gateway for customers
192.0.2.2 customer1 unit 10 vlan 10
192.0.2.3 customer2 unit 11 vlan 11
192.0.2.4 customer3 unit 12 vlan 12
etc
192.0.2.63 broadcast - unusable

So each customer is on a different vlan also called the customer vlan
(CVLAN) model (actual deployment uses q-in-q). We use /32 routes to each
customer, however the customer believes he is part of a /26. This is so
multiple customers can share the same gateway IP address.

The IP waste is related to the size of the subnet. In this case we choose a
/26 which means we lose 3 IPs out of 64. The alternative without using
unnumbered address would look like this:

192.0.2.0 network IP unit 10 vlan 10
192.0.2.1 gateway unit 10 vlan 10
192.0.2.2 customer1 unit 10 vlan 10
192.0.2.3 broadcast unit 10 vlan 10
192.0.2.4 network unit 11 vlan 11
192.0.2.5 gateway unit 11 vlan 11
192.0.2.6 customer2 unit 11 vlan 11
192.0.2.7 broadcast unit 11 vlan 11
etc

Each customer would then live inside his very own /30 and done like that it
would probably just work. Nobody wants to do it like that anymore. The
waste is 75%.

Regards,

Baldur



> If You reconsider and decide You can afford to waste 2/64 = 3% of Your
> IPv4 address estate, then on the face of it, looks like perfect use case
> for EVPN with its /32 routes auto-created from ARP.
> You can assign multiple 1st IPs from multitude of /26 to each EVPN IRB
> interface with proper /26 netmask instead of tinkering with
> unnumbered-address.
> And if You export these /32 into Your iBGP, the /32 will be routed to
> according to usual iBGP rules (local pref|metric etc).
> Thanks
> Alex
>
> -- Original Message --
> From: "Baldur Norddahl" 
> To: "Juniper List" 
> Sent: 13/02/2020 09:50:34
> Subject: Re: [j-nsp] static arp with unnumbered-address
>
> >Hi Alex
> >
> >Thanks for the reply. Ok I managed to make a bad example. This is actually
> >from our running configuration and all the routes are /32 routes. The
> issue
> >is that the customers have all been assigned IPv4 addresses from random
> >subnets. The subnets are usually sized /26 and the first address is
> >configured on the router loopback interface, such that customers can use
> it
> >as the default gateway using proxy arp.
> >
> >The problem is that arp is not working correctly. When selecting the
> source
> >address for ARP requests, the router is picking a random IP address from
> >the loopback interface instead of the IP address from the subnet that
> >matches what the customer expects. This can be fixed by using:
> >
> >family inet {
> > unnumbered-address lo0.1 preferred-source-address a.b.c.1;
> > }
> >
> >However this does not fix the issue for customers having multiple IP
> >addresses assigned from different subnets. And they are usually using a
> >switch to connect multiple devices, so just routing IP address #2 to IP #1
> >is no good.
> >
> >We come from another platform where this was not a problem. The other
> >platform (ZTE) would do the right thing and do ARP using the correct
> source
> >address without us needing to do anything. The IP addresses have been
> >assigned and used by the customers for years, so we can not just simply
> >change the allocation scheme. It seems Juniper is not truly into a world
> >where wasting addresses with old school /30 to a customer that only needs
> a
> >/32 is not working for us poor sods that were not born into plenty of
> IPv4.
> >
> >Since I do not have any hopes for getting a fix for IP source selection
> for
> >ARP, I was thinking about ways to work around the problem. I believe I
> >could argue to the customers, that they need to register their MAC address
> >with us for each assigned IP. That way the router would not need to do
> ARP.
> >But apparently it is impossible to manually set static arp for interfaces
> >that use unnumbered-address.
> >
> >Regards,
> >
> >Baldur
> >
> >
> >
> >Den tor. 13. feb. 2020 kl. 08.30 skrev Alexander Arseniev <
> >arsen...@btinternet.com>:
> >
> >>  Hello,
> >>  Firstly, Your example configuration with static /24 routes and
> >>  qualified-NH to IFL does not commit - even after fixing the host
> portion -
> >>  with error message "subnet routes are not allowed with MAC NH".
> >> 

Re: [j-nsp] static arp with unnumbered-address

2020-02-13 Thread Baldur Norddahl
Hi Alex

Thanks for the reply. Ok I managed to make a bad example. This is actually
from our running configuration and all the routes are /32 routes. The issue
is that the customers have all been assigned IPv4 addresses from random
subnets. The subnets are usually sized /26 and the first address is
configured on the router loopback interface, such that customers can use it
as the default gateway using proxy arp.

The problem is that arp is not working correctly. When selecting the source
address for ARP requests, the router is picking a random IP address from
the loopback interface instead of the IP address from the subnet that
matches what the customer expects. This can be fixed by using:

family inet {
unnumbered-address lo0.1 preferred-source-address a.b.c.1;
}

However this does not fix the issue for customers having multiple IP
addresses assigned from different subnets. And they are usually using a
switch to connect multiple devices, so just routing IP address #2 to IP #1
is no good.

We come from another platform where this was not a problem. The other
platform (ZTE) would do the right thing and do ARP using the correct source
address without us needing to do anything. The IP addresses have been
assigned and used by the customers for years, so we can not just simply
change the allocation scheme. It seems Juniper is not truly into a world
where wasting addresses with old school /30 to a customer that only needs a
/32 is not working for us poor sods that were not born into plenty of IPv4.

Since I do not have any hopes for getting a fix for IP source selection for
ARP, I was thinking about ways to work around the problem. I believe I
could argue to the customers, that they need to register their MAC address
with us for each assigned IP. That way the router would not need to do ARP.
But apparently it is impossible to manually set static arp for interfaces
that use unnumbered-address.

Regards,

Baldur



Den tor. 13. feb. 2020 kl. 08.30 skrev Alexander Arseniev <
arsen...@btinternet.com>:

> Hello,
> Firstly, Your example configuration with static /24 routes and
> qualified-NH to IFL does not commit - even after fixing the host portion -
> with error message "subnet routes are not allowed with MAC NH".
> Secondly, You could have second static  198.51.100.0/24 resolve via 1st
> /32:
> set routing-instances internet routing-options static route 192.0.2.11/32
> qualified-next-hop et-0/0/0.2766
> set routing-instances internet routing-options static route
> 198.51.100.0/24 next-hop 192.0.2.11 resolve
> Thanks
> Alex
>
> -- Original Message --
> From: "Baldur Norddahl" 
> To: "Juniper List" 
> Sent: 12/02/2020 23:04:37
> Subject: [j-nsp] static arp with unnumbered-address
>
> Hello
>
> How do you program in a static arp entry on an interface that is using
> family inet unnumbered-address ?
>
> Eg.:
>
> interface ps1 {
> unit 2766 {
> proxy-arp restricted;
> vlan-tags outer 402 inner 1016;
> family inet {
> unnumbered-address lo0.1;
> }
> }
> }
> routing instance internet routing-options {
> interface et-0/0/0.2766;
> static {
> route 192.0.2.11/24 {
> qualified-next-hop et-0/0/0.2766;
> }
> route 198.51.100.22/24 {
> qualified-next-hop et-0/0/0.2766;
> }
>
> It is not possible to have the juniper router do correct arp in this case.
> You can have the 192.0.2.0/24 range working or you can have the
> 198.51.100.0/24 working using preferred source address but not both. So I
> figured I could get away with simply hard coding the arp entry. However
> static arp is in the family inet address subtree so can not be specified
> here. Seriously ?
>
> Regards,
>
> Baldur
> ___
> juniper-nsp mailing list juniper-nsp@puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp
>
>
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] static arp with unnumbered-address

2020-02-12 Thread Baldur Norddahl
Hello

How do you program in a static arp entry on an interface that is using
family inet unnumbered-address ?

Eg.:

interface ps1 {
unit 2766 {
proxy-arp restricted;
vlan-tags outer 402 inner 1016;
family inet {
unnumbered-address lo0.1;
}
}
}
routing instance internet routing-options {
interface et-0/0/0.2766;
static {
route 192.0.2.11/24 {
qualified-next-hop et-0/0/0.2766;
}
  route  198.51.100.22/24 {
qualified-next-hop et-0/0/0.2766;
}

It is not possible to have the juniper router do correct arp in this case.
You can have the 192.0.2.0/24 range working or you can have the
198.51.100.0/24 working using preferred source address but not both. So I
figured I could get away with simply hard coding the arp entry. However
static arp is in the family inet address subtree so can not be specified
here. Seriously ?

Regards,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


Re: [j-nsp] arp from correct IP address

2020-01-26 Thread Baldur Norddahl
Yes subscriber management has a lot of small but important things that are
not quite "done". Juniper should put on a task force to get all the bugs
sorted out. Could be a great system if they allow it to be.

For me the trouble with this is that without functioning ARP the customer
becomes "MAC locked". If he wants to upgrade his equipment, he has to call
us so we can clear his session. We have two routers and sometimes a user
somehow manages to register with different MAC addresses on the two.
Needless to say that creates a lot of trouble that will not sort itself
out. With functioning ARP I believe the wrong MAC address would be
corrected soon enough without intervention.

I wish I could just have a user defined radius variable and use that
instead of $junos-preferred-source-address. My script that generates that
radius configuration could easily calculate the correct source address and
program that in with the other radius variables for each user.

I am not creating a JTAC case on this before I have a fix for my other JTAC
cases (IPv6 is broken, dynamic VLAN with IP demux on top is broken, DHCP
combined with non-DHCP is likely also broken). So far I got IPv4 fixed
(access-internal routes ignored, work around use access routes), so they do
work on the problems I report.

Regards,

Baldur


Den man. 27. jan. 2020 kl. 04.53 skrev Chris Kawchuk :

> Ran into the same bug.
>
> $junos-preffered-source-address for an unnumbered for BNG functions does
> NOT return the "closest/must suitable address" based on the IP+Subnet that
> was given the subscriber... contrary to the BNG template doucmentation. It
> just defaults the actual loopback of the router. (the dynamic template that
> gets created against a demux0. subscriber says $preffered of "NONE")
>
> This means that things like Subscriber "ARP liveliness detection" doesn't
> work/cant work. (since the subscriber won't arp-respond to an ARP requests
> where the source isn't in the local subnet)
>
> I've had a JTAC case open on this for 8 months. Sent full configs, built a
> full lab for them (so they could trigger it remotely), self full PCAPs.
>
> MX204 + JunOS 18.3R + BNG (DHCP/IPoE naturally)
>
> Also on MX80 w/same code - so it's the BNG code, not the platform doing it.
>
> - Ck.
>
>
>
>
> On 25 Jan 2020, at 10:27 pm, Baldur Norddahl  wrote:
>
> Hello
>
> I have a problem where some customer routers refuse to reply to arp from
> our juniper mx204. The arp will look like this:
>
> 11:57:46.934484 Out arp who-has 185.24.169.60 tell 185.24.168.248
>
> The problem is that this should have been "tell 185.24.169.1" because the
> client is in the 185.24.169.0/24 subnet. The interface is
> "unnumbered-address lo0.1" with lo0.1 having both 185.24.168.248 and
> 185.24.169.1 among many others. A Linux box would select the nearest
> address but apparently junos does not know how to do this.
>
> Tried adding in "preferred-source-address $junos-preferred-source-address"
> but this just results in "preferred-source-address NONE" and does nothing.
> Also there is zero documentation on how junos will fill in that variable.
>
> Is there a solution to this? Is there a radius variable I can set with the
> preferred source address?
>
> Regards,
>
> Baldur
> ___
> juniper-nsp mailing list juniper-nsp@puck.nether.net
> https://puck.nether.net/mailman/listinfo/juniper-nsp
>
>
>
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] arp from correct IP address

2020-01-25 Thread Baldur Norddahl
Hello

I have a problem where some customer routers refuse to reply to arp from
our juniper mx204. The arp will look like this:

11:57:46.934484 Out arp who-has 185.24.169.60 tell 185.24.168.248

The problem is that this should have been "tell 185.24.169.1" because the
client is in the 185.24.169.0/24 subnet. The interface is
"unnumbered-address lo0.1" with lo0.1 having both 185.24.168.248 and
185.24.169.1 among many others. A Linux box would select the nearest
address but apparently junos does not know how to do this.

Tried adding in "preferred-source-address $junos-preferred-source-address"
but this just results in "preferred-source-address NONE" and does nothing.
Also there is zero documentation on how junos will fill in that variable.

Is there a solution to this? Is there a radius variable I can set with the
preferred source address?

Regards,

Baldur
___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] Non-dhcp users with subscriber management

2019-07-04 Thread Baldur Norddahl

Hello

I am new to Juniper MX. I successfully managed to configure customer 
vlan with dynamic profiles for dhcp users. I attached the important 
parts of the configuration at the end of this message.


In the real network we are using q-in-q double tagged vlans, but to make 
thing simple I am working with single tagged vlans for my lab. We have 
customers vlan, which is each customer has a unique vlan combination.


My configuration will first cause a radius server to be queried for the 
validity of the vlan. Then the DHCP server is queried and finally the 
subscriber is active. This is working now.


The problem is that I want customers to be able to configure without 
using DHCP. Each customer has a static IP configuration. When using DHCP 
the customer will always get the same IP address. We then tell the user 
that he can optionally use DHCP. Or he can use a static configuration if 
he likes that better.


This is an existing ISP network working as described. We are working to 
replace the old BRAS with Juniper MX204. So it would be nice if we can 
keep it working like it is today.


I am a bit stuck on where to go from here. Most of the examples I find 
are all assuming DHCP. I am thinking that it should be possible to 
supply the customer IP address via Radius instead of DHCP.


If needed, I could find out which users are using static configuration 
without DHCP and then have Radius return something different for those 
users.


Anyone have some advice for me?

Regards,

Baldur

The working DHCP configuration:

system {
    services {
    subscriber-management {
    maintain-subscriber {
    interface-delete;
    }
    enable;
    }
    }
    dynamic-profile-options {
    versioning;
    }
}
chassis {
    network-services enhanced-ip;
}
access-profile rad;
interfaces {
    et-0/0/0 {
    flexible-vlan-tagging;
    auto-configure {
    vlan-ranges {
    dynamic-profile DYNINTF-1VLANS-DHCP-INET {
    accept any;
    ranges {
    any;
    }
    }
    authentication {
    password 12345678;
    username-include {
    user-prefix vlan;
    vlan-tags;
    }
    }
    access-profile rad;
    }
    }
    lo0 {
    unit 0 {
    family inet {
    address 1.2.3.4/32;
    }
    }
    }
}
forwarding-options {
    dhcp-relay {
    server-group {
    dhcp-group-1 {
    1.2.3.5;
    }
    }
    active-server-group dhcp-group-1;
    group dhcp-group-1 {
    relay-option-82;
    interface et-0/0/0.0;
    }
    }
}
access {
    radius-server {
    1.2.3.6 {
    secret "xxx"; ## SECRET-DATA
    source-address 1.2.3.4;
    }
    }
    profile rad {
    accounting-order radius;
    authentication-order radius;
    radius {
    authentication-server 1.2.3.6;
    accounting-server 1.2.3.6;
    options {
    revert-interval 0;
    }
    }
    accounting {
    order radius;
    immediate-update;
    update-interval 15;
    }
    }
}
dynamic-profiles {
    DYNINTF-1VLANS-DHCP-INET {
    interfaces {
    "$junos-interface-ifd-name" {
    unit "$junos-interface-unit" {
    proxy-arp restricted;
    vlan-id "$junos-vlan-id";
    family inet {
    unnumbered-address lo0.0;
    }
    }
    }
    }
    }
}



___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp


[j-nsp] subscriber management not inserting any routes

2019-05-18 Thread Baldur Norddahl

Hello

I am having trouble with subscriber management not inserting any routes. 
Information is picked up from radius, such as this:


baldur@interxion-edge1> show subscribers
Interface IP Address/VLAN ID  User 
Name  LS:RI
demux0.3221225472 195.192.249.104 vlan.1970-37  
default:internet
demux0.3221225473 195.192.249.69 vlan.1970-77  
default:internet

...

baldur@interxion-edge1> show interfaces demux0.3221225472
  Logical interface demux0.3221225472 (Index 536870919) (SNMP ifIndex 
20007)

    Flags: Up VLAN-Tag [ 0x8100.1970 0x8100.37 ]  Encapsulation: ENET2
    Demux:
  Underlying interface: xe-0/1/1 (Index 168)
    Bandwidth: 0
    Input packets : 3342925
    Output packets: 0
    Protocol inet, MTU: 1500
    Max nh cache: 0, New hold nh limit: 0, Curr nh cnt: 0, Curr new 
hold cnt: 0, NH drop cnt: 0

  Flags: Unnumbered
  Donor interface: lo0.1 (Index 329)
  Addresses, Flags: Is-Primary
    Local: 185.24.168.248

baldur@interxion-edge1> show route 195.192.249.104

internet.inet.0: 769284 destinations, 771001 routes (769284 active, 0 
holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

195.192.249.64/26  *[BGP/170] 4w5d 12:58:36, MED 0, localpref 100, from 
185.24.171.254

  AS path: ?, validation-state: unverified
    >  to 10.10.124.2 via xe-0/1/0.0, Push 164140, Push 
16467(top)


---

The subscriber interface is receiving packets but never sends anything 
out. Also no route is added although the router seems to be aware of the 
intended subscriber IP address. The route shown above is a /26 to 
another router. I am expecting the subscriber management system to 
override that with a /32 for this specific subscriber.


My setup is like this:

interfaces {
    xe-0/1/1 {
    flexible-vlan-tagging;
    auto-configure {
    stacked-vlan-ranges {
    dynamic-profile Auto-VLAN-Demux {
    accept inet;
    ranges {
    1970-1970,any;
    }
    access-profile prof1;
    }
    authentication {
    password "$ABC123";
    username-include {
    user-prefix vlan;
    vlan-tags;
    }
    }
    access-profile prof1;
    }
    }
    }
}

dynamic-profiles {
    Auto-VLAN-Demux {
    routing-instances {
    "$junos-routing-instance" {
    interface "$junos-interface-name";
    }
    }
    interfaces {
    demux0 {
    unit "$junos-interface-unit" {
    demux-source inet;
    demux {
    inet {
    address source;
    auto-configure {
    address-ranges {
    dynamic-profile DHCP-IP-Demux {
    network 0.0.0.0/0;
    }
    authentication {
    password ABC123;
    username-include {
    user-prefix ip;
    interface-name;
    source-address;
    }
    }
    }
    }
    }
    }
    vlan-tags outer "$junos-stacked-vlan-id" inner 
"$junos-vlan-id";

    demux-options {
    underlying-interface "$junos-underlying-interface";
    }
    family inet {
    unnumbered-address lo0.1;
    }
    }
    }
    }
    }
}

---

What am I missing here? I have tried a ton of stuff but never succeeded 
in getting any outgoing packets towards the subscriber.


Regards,

Baldur

___
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp