Generally we set the virtual interface in config_db from TB_TOP (module declaration for TestBench) and it is recommended to keep the all the connections to DUT/Interfaces there.
You can make any connection you want there and set the interfaces in config_db
Better you can take any example for understanding it, my personal recommendations try UVM_COOKBOOK from Mentor