====== Features ====== {{description>BSD Router Project features list}} ===== Requirements ===== * 2GB USB key/Compact flash media, * 1GB of RAM (512MB are enough for virtualized tests) * processors: x86_64 * consoles: standard vga/keyboard or headless (serial) ===== Base System ===== * Base OS: Embedded [[http://www.freebsd.org/|FreeBSD]] 12-STABLE using [[Documentation:Technical docs:NanoBSD|NanoBSD]] * Easy upgrade process using two system partitions ===== Routing features ===== * All routing protocol supported by [[https://frrouting.org/|FRRouting]]: BGP, RIP and RIPng (IPv6), OSPF v2 and OSFP v3 (IPv6), ISIS * All routing protocol supported by [[http://bird.network.cz/|Bird]]: BGP, RIP and RIPng (IPv6), OSPF v2 and OSFP v3 (IPv6) * Multicast: [[http://freecode.com/projects/mrouted|DVMRP]], PIM Dense Mode, [[http://troglobit.com/pimd.html|PIM Sparse Mode]] and [[https://github.com/troglobit/smcroute/|static]] * Multiple FIB: 16 Routing Tables available * High availability with CARP (support also load balancing the incoming connections) and VRRP. * [[http://mpd.sourceforge.net/|Multi-link PPP]]: PPTP, PPPoE, L2TP, etc... * VPN: GRE, GIF, IPSec (IKEv1 and IKEv2 with [[https://www.strongswan.org/|strongswan]]), [[http://openvpn.net/index.php/open-source.html|OpenVPN]] and [[https://www.wireguard.com/|Wireguard]] * IPv6: native 6to4 tunnels, [[https://svnweb.freebsd.org/base?view=revision&revision=304046|stateless and stateful NAT64 with IPFW]] and [[http://www.litech.org/tayga/|Tayga]] for NAT64 ===== Qos ===== * Traffic shaper with [[http://www.freebsd.org/cgi/man.cgi?query=ipfw|IPFW]]+[[http://www.freebsd.org/cgi/man.cgi?query=dummynet|dummynet]] supporting: FIFO, WF2Q+, RR (Deficit Round Robin), QFQ * [[http://www.freebsd.org/cgi/man.cgi?query=ng_car|Committed Access Rate with netgraph]]: Single rate three color marker (RFC 2697), two rate three color marker (RFC 2698), RED-like, Traffic shaping with RED ===== Ethernet features ===== * 802.1q vlan tagging * link aggregation and link failover interface * bridging with support of Rapid Spanning Tree Protocol (802.1w) ===== Network services ===== * DHCP Relay * DHCP Server ===== Management ===== ==== Multi-tenant ==== * Allows to [[https://bsdrp.net/documentation/examples/multi-tenant_router_and_firewall|create isolated router/firewall for multiple customers]] (using jail/vnet) ==== Command Line ==== * local console, serial and SSH access * Command completion with somes BSDRP tools: config, system, show and upgrade ==== Automation tools ==== * All automation tools using python like [[http://www.ansible.com|Ansible]] ===== Monitoring ===== * [[http://mmonit.com/monit/|monit]] * SNMP v1,v2c and v3 * Syslog * Mail * Netflow with native [[http://www.freebsd.org/cgi/man.cgi?query=ng_netflow|ng_netflow]] (v5 and v9) and [[http://www.pmacct.net/|pmacct]] ===== Security ===== * mtree reference files available for system integrity check (sha256) ===== Extra tools ===== ==== benchmark ==== * [[http://info.iet.unipi.it/~luigi/netmap/|netmap's pkt-gen]]: high performance packet generator/receiver * [[http://bsdrp.net/documentation/examples/setting_up_a_vpn_ipsec_gre_etc..._performance_benchmark_lab|IPSec Equilibrium throughput]] * [[https://hewlettpackard.github.io/netperf/|netperf]], [[https://sourceforge.net/projects/iperf2/|iperf2]] and [[http://software.es.net/iperf/|Iperf3]] * FreeBSD tools netblast/netreceive/netsend