This tutorial assumes that you already have a working Windows 98 based DC-PC Server. I assume this will also work on a Windows 2000 or Windows XP based DC-PC Servers, but I have only tested this on Windows 98. Follow this tutorial if you don’t have a working Windows 98/2000/XP based DC-PC server.
1. Download and install WinRoute Lite. You can download it from this link. Restart the computer when prompted.
2. Once the computer restarts, open up WinRoute Lite. Click the Settings tab.

3. Click the circle next to “2nd network adapter”. Then select the network adapter that you get your internet connection from.
4. Click the “Settings…” button in the "Advanced Settings" box. The Advanced Settings window will appear.
5. Click the DNS Proxy Tab. Check “Enable DNS Proxy”.

6. Click the circle next to “Forward DNS queries to the specified DNS server(s)”. Then type the IP of the server in the “DNS Server(s)" box. The IP of Sylverant is 67.222.144.120. Once you've typed the IP, click OK.
7. Start up your Dreamcast with a web browser or a game with which you can set up your Dreamcast's internet settings. Set DNS1 to the IP you typed into WinRoute Lite in step 6. In this case, it's 67.222.144.120. Set DNS2 to 0.0.0.0. Don't change any other settings, and save your internet settings.
You should now be able to connect to PSO in the normal way.
I was able to get on Sylverant/Dreamcast-talk's server using this method, but for some reason I couldn't get on the SCHTHACK server. Not sure why.
Credits:
I based this tutorial on the information for setting up WinRoute Lite here. I only added the DNS part.
The part on the Dreamcast's DNS settings is based on the information here.
Updates:
2/17/16 - Greatly simplified the tutorial by removing the unnecessary port forwarding steps. Also fixed some typos and updated the DNS Proxy screenshot, along with step 6.