控制 IP 访问服务器使用 iptables

我想使用团队 linux iptables 要控制允许访问服务器,只有我想要这样做的同一子网IP地址,这是解决任何服务 10.168.1.0 对于此服务器,可以建议我需要做,只是为了在服务器上运行下一个命令,您不需要其他任何内容? 谢

/sbin/iptables -A INPUT -p tcp -s 10.168.1.0 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -s 10.168.1.0 -j ACCEPT
已邀请:

董宝中

赞同来自:

我猜你的网络 / 24 (如果没有,改变 CIDR / 团队中的网络掩码)

iptables -A INPUT -p tcp -s 10.168.1.0/24 -j ACCEPT
iptables -P INPUT DROP

第一个命令将允许所有TCP连接 10.168.1.0/24, 第二个将安装默认策略 INPUT 在 DROP (如果包与第一个规则不匹配,则会丢弃它).

PS: 它还阻止了任何传入的UDP数据包。 (包括 DNS 等等。) 以及外部的所有其他连接 (例如,您将无法从外部接收数据). 还希望添加:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

这将允许您从从服务器安装的连接中返回数据包。

郭文康

赞同来自:

如果要解决完整的子网,则必须将子网指定为源。

此外,如果要解析任何服务,则应删除

-p tcp

因为它只是允许协议 TCP.

然后您需要重置不需要的流量。

iptables -A INPUT -s 10.168.1.0/24 -j ACCEPT
iptables -P INPUT DROP

你真的不需要

OUTPUT

chain, 如果你设置了 iptables 跟踪状态。 在这种情况下,规则将是这样的:

iptables -A INPUT -s 10.168.1.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP

如果由于任何原因服务器必须启动与子网节点的连接,请使用

OUTPUT

链条是必需的,但原来的 ip

-s

必须是服务器的IP地址 (但也可能被省略), 您可以指定目标以仅允许此子网:

iptables -A OUTPUT -s serverip -d 10.168.1.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# or
iptables -A OUTPUT -d 10.168.1.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# in both cases
iptables -P OUTPUT DROP

要回复问题请先登录注册