That's how 1-flag is designed. You're supposed to bring the flag into the enemy base to capture (otherwise it would be too easy). Use func_door to create doors. I think misc_teleporter and misc_teleporter_dest are the entities for teleporters. To set the teams up, in the worldspawn, if you want 3 teams, use:
"team1" "red"
"team2" "blue"
"team3" "purple"
Then in your entities, use "teamnumber" "1" for red, "teamnumber" "2" for blue and "teamnumber" "3" for purple. You can do pretty much any combination of the 4 teams.