How to make ball travel in a random directon

I’m trying to make a pong game but when the game starts or resets, the ball will only launch off in the same direction. Only when it hits the paddles, does it will rebound in a random direction.
This is the code I’m using:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Ball : MonoBehaviour
{
public Rigidbody2D rb;
public float ballSpeed;

Vector2 direction;

private void Start()
{
    transform.position = new Vector3(0f, 0f, 0f);
    Invoke("SetUpBall", 3f);
}

private void FixedUpdate()
{
    rb.velocity = direction * ballSpeed * Time.fixedDeltaTime;
}

private void OnCollisionEnter2D(Collision2D collision)
{
    if(collision.gameObject.CompareTag("Borders"))
    {
        direction.y = -direction.y;
    }else if(collision.gameObject.CompareTag("Paddles"))
    {
        direction.x = -direction.x;
        ballSpeed += Random.Range(7.5f, 9f);
    }

    if (collision.gameObject.CompareTag("RightScoreBorder"))
    {
        SetUpBall();
        ScoreManager.rightPlayerScore++;
    }
    else if (collision.gameObject.CompareTag("LeftScoreBorder"))
    {
        SetUpBall();
        ScoreManager.leftPlayerScore++;
    }
}

void SetUpBall()
{
    transform.position = new Vector3(0f, 0f, 0f);
    direction = Vector2.one.normalized;
    rb.velocity = Vector2.zero;
}

}

In Start use:

direction = new Vector2(UnityEngine.Random.Range(0, 1), UnityEngine.Random.Range(0, 1)) ;

You have to play around with the min and max of x and y until you get something you are happy with