龙空技术网

iptables 常用命令

lisanmengmeng 147

前言:

而今各位老铁们对“iptables save命令”大概比较关心,姐妹们都想要知道一些“iptables save命令”的相关文章。那么小编同时在网上收集了一些有关“iptables save命令””的相关知识,希望姐妹们能喜欢,咱们一起来了解一下吧!

-F 是清空指定某个 chains 内所有的 rule 设定。比方 iptables -F -t filter,那就是把 filter table 内所有的INPUT/OUTPUT/FORWARD chain 设定的规则都清空。

-X 是删除使用者自订 table 项目,一般使用 iptables -N xxx 新增自订 chain 后,可以使用 iptables -X xxx 删除之。

1.开放oracle 的1521 端口

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

2.开80端口

iptables -I x INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp --dport 80 -j ACCEPT

#拒绝

iptables -I INPUT 2 -m state --state NEW -s 192.168.84.57 -p tcp --dport 80 -j DROP

3.拒绝某IP连接

iptables -I INPUT -s 114.32.207.47 -j DROP

4.开端口

-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 22 -j ACCEPT

# iptables -L -n -v

参数说明:

-L:列出规则。

-v:显示详细信息。此选项会显示接口名称、规则选项和TOS掩码,以及封包和字节计数。

-n:以数字形式显示IP地址和端口,不使用DNS解析

# iptables -L -n -v --line-nmubers

输出的结果中显示行号

# iptables -F

# iptables -X

# iptables -t nat -F

# iptables -t nat -X

# iptables -t mangle -F

# iptables -t mangle -X

# iptables -P INPUT ACCEPT

# iptables -P OUTPUT ACCEPT

# iptables -P FORWARD ACCEPT

参数说明:

-F:删除所有的规则

-X:删除链

-t table_name:匹配表(称为nat或mangle)

-P:设置默认策略(如DROP、REJECT或ACCEPT)

下面我们使用行号删除规则:

# iptables -D INPUT 4

查看INPUT链 规则,行号

# iptables -L INPUT -n --line-numbers

# iptables -I INPUT 2 -s 202.54.1.2 -j DROP

保存防火墙规则

service iptables save

默认丢弃所有的网络数据包

# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

# iptables -P FORWARD DROP

# iptables -L -v -n

关闭入站连接

# iptables -P INPUT DROP

# iptables -P FORWARD DROP

# iptables -P OUTPUT ACCEPT

# iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT

# iptables -L -v -n

#ping和wget可以正常工作

屏蔽IP地址

# iptables -A INPUT -s 1.2.3.4 -j DROP

# iptables -A INPUT -s 192.168.0.0/24 -j DROP

屏蔽端口:

# iptables -A INPUT -p tcp --dport 80 -j DROP

# iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

屏蔽服务器:

# iptables -A OUTPUT -p tcp -d -j DROP

# iptables -A OUTPUT -p tcp -d facebook.com -j DROP

记录数据:

# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "

iptables -I INPUT -s 192.168.146.132 -j LOG --log-prefix "from_ip_146132:"

# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

默认情况下日志记录在/var/log/messages文件中:

grep --color 'IP SPOOF' /var/log/messages

限制日志量:

# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "

匹配MAC规则:

# iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

屏蔽PING命令:

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

# iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT

#假定默认INPUT策略为丢弃数据包

# iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

# iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

# iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT

#所有的服务器都对ping请求作出应答

# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

允许7000到7010范围内的TCP端口访问

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

IP段:

#运行IP地址范围192.168.1.100 到192.168.1.200 访问80端口

# iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT

#NAT示例

# iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25

常见端口:

#可以使用DROP替换ACCEPT,实现端口屏蔽。

#打开22端口(SSH)

# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

# iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT

#打开TCP/UDP631端口(打印服务)

# iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT

# iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT

# 打开123端口,允许局域网用户进行NTP时间同步

# iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT

#打开25端口(SMTP)

# iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT

# 打开DNS端口

# iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT

# iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

#打开http/https端口

# iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT

# iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT

#打开TCP110端口(POP3)

# iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT

#打开TCP143端口

# iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT

#为局域网用户开启Samba访问

# iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT

# iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT

# iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT

# iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT

#为局域网用户开启代理服务器访问

# iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT

#为局域网用户开启MySQL访问

# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

限制客户端IP的并发连接数

使用connlimit模块限制客户端IP的并发连接数

允许每个客户端只能并发3个ssh连接

# iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

设置HTTP并发连接为20个:

# iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP

参数说明:

--connlimit-above 3:连接数超过3个自动匹配

--connlimit-mask 24:子网掩码匹配

多端口

iptables -R INPUT 2 -d 192.168.10.10 -p tcp -m multiport --dports 22,80,139,445 -j ACCEPT

标签: #iptables save命令