-
Notifications
You must be signed in to change notification settings - Fork 951
Run your first agent iptable issue #182
Comments
Is your host called 'run'? Otherwise, something strange is happening. Could you try running the container in diagnostics mode, eg:
and report the result? |
this is what i get if i launch that
kind of the same result
|
There's something wrong with the way your Docker engine is trying to access the network. It seems to believe your DNS server is called Could you try this and report the results:
which should give you a shell prompt inside the container. Then
which will print more debugging info as it runs the iptables commands. That should show where it's getting the nameserver from. Thanks for helping track this down! |
i had to use this command in order to get a shell inside the container
and the result is this: (by looking at the output i have no idea about what is going wrong)
|
Our script is interpreting your /etc/resolv.conf to have the nameserver set to
I'll write a more robust parser. Can you post the |
you are right this is the content of /etc/resolv.conf
edit: |
Im having the same issue.
In all 3 cases, it failed. Same error : iptables v1.6.0: host/network `run' not found On my nameserver, i had : nameserver 127.0.0.53 I commented it, and same error. Changed to google DNS, same error. I eventually gave up. Im wondering if OpenAI Universe works only with MAC... This issue is opened since may and nothing? Just wondering and a bit frustrated. |
Hi, when i fixed it i created a patched version of the script sudoable-env-setup, and then i built a custom image with the same tag used by universe... i have now uploaded everything on github on this repository running build.sh will create the patched docker image |
Hi! Thanks but I dont understand how i should run this. I ran "sudo ./build.sh" but what now? Im not that familiar with docker... |
after you run the build.sh you just run again your python agent and everything should work, |
Note that this is not a resolver issue, the issue is that the script Here is the iptables rules that are breaking DNS lookups.
Here you can see that DNS is blocked but when I flush the rules it works again.
Note that the I should note that lots of the complexity in this script could be removed, I also want to point out this block of comments in it.
As the container is being launched with the With "--privileged" there really zero security separation with docker containers and every process is effectively a root user. As a very simple POC, here I use lsblk to see what block device is being bind mounted from the container host, then I use mknod to create a device file and use dd to read the contents.
You can also load kernel modules or anything that the superuser can on the docker host as an example: Docker host:
Docker container:
Changes reflected on the parent host:
Anyway, this is a known limitation, I don't want to share any viable exploits, and the docker project knows and has decided to mark bugs related to this as 'won't fix' But the container can do anything from creating new network interfaces to installing a new bios with the current command line. Users would be far safer if the methods used are refactored to avoid privilege escalation and IMHO it would far more stable for the users too. I know that |
I am still having the same issue as tlbtlbtlb described. Has anyone found a solution yet? |
I had the exact same issue and tried manually deleting the comments in /etc/resolv.conf. And it seems to work after that. |
How do I get to /etc/resolv.conf? |
Nevermind. I just typed in sudo nano /etc/resolv.conf. I deleted all the comments. (literally, I removed any line that started with '#') I saved it and everything worked! |
@deathcoder OMG your patch worked perfectly. Thank you so much. Struggled with that for past few days. Thanks a lot. |
(First, please check https://github.com/openai/universe/wiki/Solutions-to-common-problems for solutions to many common problems)
problem is not described in the common ones
Expected behavior
It will take a few minutes for the image to pull the first time. After that, if all goes well, a window like the one below will soon pop up. Your agent, which is just pressing the up arrow repeatedly, is now playing a Flash racing game called Dusk Drive. Your agent is programmatically controlling a VNC client, connected to a VNC server running inside of a Docker container in the cloud, rendering a headless Chrome with Flash enabled:
Actual behavior
i followed the getting started tutorial but i get the following error when i try to launch the python agent code from both host and docker container
launching the tests gives a similar problem
Versions
Please include the result of running
result:
The text was updated successfully, but these errors were encountered: