Here will will understand how to make a bunker immune to wither / enderdragon / creeper attacks , immune to tnt cannons and almost immune to player attacks . You can make it without windows or the "lava coat" function so it would become FULLY immune to explosions but thats not recommended . You need windows to see whats happening outside .
(for the exterior) You need :
Obsidian (2-3 stacks)
Cobblestone (3-4 stacks)
Water bucket (as many as possible)
Iron bars (optional)
blocks for camouflage (optional)
Dispenser for lava coat , iron bars for "cool" window but you can use signs or whatever to stop water and lava .
Gravel and sand is used to make it Anti-player , because of the falling properties it gets so annoying .
Blocks for camouflage is a nice option so other players wouldn't FIND it !
Step 1: The Base
The first layer is going to be obsidian , you CAN put it as the last but then you'll need more obsidian !
first make a room with obsidian with a empty spots for doors and windows . I do not recommend a trapdoor on the top for some reasons .
Do not make any roof in this step .
Then add an O shaped obsidian to where the door is .
I prefer to make the edges out of cobblestone . Now put the iron bars in the window ! (picture)
Now add another O shaped cobblestone around the windows . This will stop water to cover your windows . If it does , it will make the bunker much safer but then you'll have to look through water :D
Now this is optional . make a hole in the middle of the bunker with a trapdoor . It can lead to a tunnel that takes you somewhere else . This will help you escape if other players get in or the bunker breaks (it eventually will) or just the windows break and spiders can get in . Now I will not add that .
Step 2: Second and Third Layers
Wither blue skull has a rule , that all blocks but bedrock have only blast resistance of 4 against it . Because of this , it can break obsidian ! now we will use water and cobblestone layers to make it anti-wither !!!
First , add the cobblestone layer (like the picture)
Then fill the gap with water (like the picture)
Now cover the cobblestone layer , water layer AND the obsidian layer with cobblestone and a after that place a line of obsidian .
Next , add another line of obsidian , then on the second line , place dispensers and obsidian , then put obsidian ON the dispensers . (picture)
Now just complete the roof !
Step 3: Extra
Now you can add a layer of sand or gravel , but you have to cover your window .
You can also use blocks similar to its surroundings to make it camouflage .
Step 4: Interior
Use glowstone as a nice lighting system , levers for the dispensers (dont forget to put lava in them) . I recommend to make a little farm in the bunker and put basic survival stuff !