我有这样的iptablesconfiguration:
iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
另外,我有一个Apache虚拟主机:
<VirtualHost *:80> ServerName wiki.myite.com <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8901/ ProxyPassReverse / http://localhost:8901/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost>
我的主域www.mysite.com正在使用这个configuration(我不使用代理redirect)。 但是我的虚拟主机wiki.mysite.com没有响应。
请帮助我设置iptablesconfiguration以允许wiki.mysite.com工作。 我想,我需要安装iptables FORWARDING选项,但我不知道如何。
更新:
我有1个IP的1个服务器。 在服务器上我有80端口上的apache2.2。 我也有8901端口tomcat6。 在阿帕奇我设置转发域名wiki.mysite.com到tomcat(mysite.com:8901)。
我想通过禁用除了80,22和443之外的所有端口来保护我的服务器。
那么,如果你redirect到8901端口,并且你还没有通过接受所有信息将你的lo界面标记为“可信”,那么你可能只是在自己的防火墙上阻止自己。
假设你已经设置了网站在8901正确地听,你应该添加另一行:
iptables -A INPUT -p tcp --dport 8901 -j ACCEPT iptables -A OUTPUT -p tcp --sport 8901 -j ACCEPT
或者只是添加:
iptables -A INPUT -i lo -j ACCEPT
所以你的机器会知道在所有端口上接受本地主机的数据包。
我通过将下面的代码添加到我的iptablesconfiguration来解决这个问题:
iptables -A INPUT -d 127.0.0.1 -j ACCEPT iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT
我打开本地主机和本地主机的所有端口。
看起来像撒旦尼说,但是:
iptables -A INPUT -i lo -j ACCEPT
打开所有的端口。