我需要查询现有的规则,以及能够轻松添加和删除规则。 我还没有find任何API来做到这一点。 有什么我失踪? 最接近我的解决scheme是使用iptables-save | iptables-xml iptables-save | iptables-xml用于查询和手动调用iptables命令本身来添加/删除规则。 我考虑过的另一个解决scheme是简单地将整个规则集从我的应用程序的数据库中重新生成,并刷新整个链,然后再次应用它。 但我想避免这种情况,因为我不想丢弃任何数据包 – 除非有办法自动执行此操作。 我想知道是否有更好的方法。 C中的API将会很棒; 不过,因为我打算把它build成一个独立的suid程序,所以用这种语言来做这件事情的图书馆也不错。
我想删除下面的POSTROUTING规则, [root@hostname ~]# service iptables status Table: nat Chain PREROUTING (policy ACCEPT) num target prot opt source destination Chain POSTROUTING (policy ACCEPT) num target prot opt source destination 1 MASQUERADE all — 192.168.1.0/24 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination 然后我键入下面, [root@hostname ~]# iptables -D POSTROUTING 1 iptables: No chain/target/match by […]
我试图在同一台机器上将httpstream量redirect到8080端口,并使iptables规则在下面的工作。 iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080 iptables -t nat -A OUTPUT -p tcp –dport 80 -j REDIRECT –to-ports 8080 我想弄清楚如何使这个改变永久重新启动系统。 我正在使用Ubuntu 11.10服务器。
我有一个Linode服务器运行Ubuntu 12.04 LTS和MongoDB实例(服务正在运行,可以在本地连接),我无法连接到外部来源。 我已经将这两个规则添加到我的IP表中,其中<ip address>是我想要连接的服务器(如在此MongoDB参考中所述 ): iptables -A INPUT -s < ip-address > -p tcp –destination-port 27017 -m state –state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -d < ip-address > -p tcp –source-port 27017 -m state –state ESTABLISHED -j ACCEPT 我看到我的IP表中的规则允许27017连接到<ip地址>和从<IP地址>,但是当我尝试从<ip address>连接到我的mongo数据库使用像这样的命令: mongo databasedomain/databasename -u username -p password 我得到这个错误: 2014-07-22T23:54:03.093+0000 warning: Failed to connect to […]
我从来没有使用iptables,在线文档似乎有点不透明。 我想阻止所有请求到我的服务器端口8000,除了那些来自特定的IP地址。 我如何使用iptables做到这一点?
我用最less的configuration安装了CentOS 7(os + dev工具)。 我试图为httpd服务打开80端口,但是我的iptables服务有什么问题…它有什么问题? 我究竟做错了什么? # ifconfig/sbin/service iptables save bash: ifconfig/sbin/service: No such file or directory # /sbin/service iptables save The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl. # sudo service iptables status Redirecting to /bin/systemctl status iptables.service iptables.service […]
我在端口8006和8007上分别托pipe特殊的HTTP和HTTPS服务。 我使用iptables来“激活”服务器; 即路由传入的HTTP和HTTPS端口: iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp –dport 443 -j ACCEPT iptables -A INPUT -i eth0 -p tcp –dport 8006 -j ACCEPT iptables -A INPUT -i eth0 -p tcp –dport 8007 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p […]
在我的开发盒上有这个限制是非常烦人的,因为除了我以外,没有任何用户。 我知道标准的解决方法 ,但没有一个正是我想要的: authbind (Debiantesting版本1.0,仅支持IPv4) 使用iptables的REDIRECT目标将一个低端口redirect到一个高端口 (“nat”表尚未针对ip6tables,iptables的IPv6版本实现) sudo(以root身份运行是我试图避免的) SELinux(或类似)。 (这只是我的开发盒,我不想介绍很多额外的复杂性。) 有没有一些简单的sysctlvariables允许非root进程绑定到Linux上的“特权”端口(端口less于1024),或者我只是运气不好? 编辑:在某些情况下,您可以使用function来做到这一点。