iptables防火墙主机访问外网

示例

现在假设一台主机有如下规则:
iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

分析

现在,其他主机ssh登陆到这台防火墙主机是没有问题到,问题是这台机器可以访问其他到网络吗?答案是不行。因为当防火墙主机发起对外链接的时候,会选择任意一个端口,这时候tcp数据包返回的时候会发送到这个端口,而这个数据包会被丢弃。所以该防火墙主机收不到响应。

解决方案

增加:
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
或者
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -j DROP
iptables -P INPUT ACCEPT

⚠️对于state模块,会话过程的第一个packet为NEW,随后的packet是ESTABLISHED

发布了103 篇原创文章 · 获赞 0 · 访问量 3669

猜你喜欢

转载自blog.csdn.net/weixin_45594127/article/details/104113787