常用的iptables tcp配置
注:已经开启iptables 并且 iptables -P INPUT DROP
开放所有端口给一个IP
iptables -A INPUT -s 192.168.31.109 -i eth0 -p tcp -j ACCEPT
开放某个端口给一个IP
iptables -A INPUT -s 192.168.31.109 -i eth0 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 这是担负起大部份工作的规则,而我们再一次将它加进(-A)INPUT 链内。这里我们利用 -m 选项来装入一个模块(state)。state 模块能够查看一个封包并判断它的状态是 NEW、ESTABLISHED 抑或 RELATED。NEW 指进入的封包属于不是由主机初始化的新增连接。ESTABLISHED 及 RELATED 指进入的封包隶属于一条现存的连接,或者与现存的连接有关系。
开放端口段给一个IP
iptables -A INPUT -s 192.168.31.109 -i eth0 -p tcp --dport 30001:31000 -j ACCEPT
IP段
比如允许所有192.168.31段的IP
iptables -A INPUT -s 192.168.31.109/24 -i eth0 -p tcp --dport 30001:31000 -j ACCEPT
比如允许192.168.31.109使用FTP服务
iptables -A INPUT -s 192.168.31.109 -i eth0 -p tcp --dport 21 -j ACCEPT
#21认证端口
如果FTP是主动模式,必须开启20端口(FTP的数据传输端口)
iptables -A INPUT -s 192.168.31.109 -i eth0 -p tcp --dport 20 -j ACCEPT
如果FTP是被动模式,可以设置FTP的最大使用端口和最小使用端口
vim /etc/vsftpd.conf #在最后加入 pasv_min_port=30001 pasv_max_port=31000
iptables -A INPUT -s 192.168.31.109 -i eth0 -p tcp --dport 30001:31000 -j ACCEPT
如果FTP主动和被动都需要就20和30001:31000都允许
如果设置了iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
主动模式下不需要加入20端口就可以使用
允许 SSH 通过 tcp 端口 22 来连接。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT