Iptables的基本语法规则

运维 系统运维
Iptables的基本语法规则:为了运行iptables,需要在内核配置期间,选择一些选项,无论用什么命令。本文讲述的是Iptables的基本语法规则

  iptables的基本语法规则参考:

  1、查看现有的iptables规则:

  1.   sudo iptables -L  
  2.  

  2、允许已建立的连接接收数据:

  1.   sudo ptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
  2.  

  3、开放常见端口22

  1.   sudo iptables -A INPUT -p tcp -i eth0 --dport ssh(22) -j ACCEPT  
  2.  
  3.   sudo iptables -A INPUT -p tcp -i eth0 --dport telnet(23) -j ACCEPT  
  4.  
  5.   sudo iptables -A INPUT -p tcp -i eth0 --dport www(80) -j ACCEPT  
  6.  

  4、对每一个报文,iptables依次测试每一条规则,看报文于规则是否相匹配。一旦找到一条匹配的规则, 就根据此规则中指定的行动,对报文进行处置,而对后面的规则不再进行测试。因此,如果我们在规则表的 末尾添加一条规则,让iptables丢弃所有报

  1.   sudo iptables -A INPUT -j DROP  
  2.  

  5、仍有一个问题,就是环回接口也被阻断了。刚才添加DROP规则的时候其实就可以使用-i eth0来解决这一

  问题。然而我们也可以为环回接口添加一条新规则来解决这个问题。但是不能将新规则追加到末尾,因为前

  一条规则已经把所有报文都丢弃了,而应该把它插到DROP规则前面,即规则表中第五行的位置(即DROP之前)

  1.   iptables -I INPUT 5 -i lo -j ACCEPT  
  2.  

  6、sudo iptables -L -v查看详细详细

  7、iptables-save > /etc/iptables.up.rules(保存当前iptables的设置)

  可以vi编辑 /etc/iptables.up.rules

  编辑后 iptables-restore < /etc/iptables.up.rules

  8、这样设置的iptables每次开机后就失效了,开机自动配置

  1.   a. iptables-save > /etc/iptables.up.rules  
  2.  
  3.   b. vi /etc/network/interfaces(最后-s 手动选择截图区域或者窗口两行为我们自己所加的)  
  4.  
  5.   auto eth0  
  6.  
  7.   iface eth0 inet dhcp  
  8.  
  9.   pre-up iptables-restore < /etc/iptables.up.rules  
  10.  
  11.   post-down iptables-restore < /etc/iptables.down.rules  
  12.  

  9、清楚iptables规则

  1.   sudo iptables -F  
  2.  

  10、丢弃所有来自127.0.0.1的ICMP包(eg:ping)

  1.   sudo iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP  
  2.  

  11、有时一个包太大,不可能适合所有线路。这样的话,包会被分成片,然后当作多个包发送。最终重组这些分片来重建整个包

  1.   sudo iptables -A OUTPUT -f -d 192.168.1.1 -j DROP(丢弃任何发往192.168.1.1的分片)  
  2.  

  12、有时只允许单向的TCP连接会很有用。例如,你可能会允许连接到外部WWW服务器,但不会允许来自那个服务器的连接。 最简单的举动可能是阻止来自那个服务器的包,可惜,TCP连接需要包双向传送(才能正常工作)。

  解决办法是,只阻挡那些用来请求连接的包。这些包称为SYN包(OK,从技术上说,它们的SYN标志被设置,而没有设置RST和ACK标志,不过我们简单的称为SYN包)。通过只阻止这种包,我们就可以阻止来自那些地方的连接企图。'--syn'标志是这样用的:只对指定了TCP协议的规则有效。例如,指定来自192.168.1.1的连接请求。

  1.   sudo iptables -A INPUT -p TCP -s 192.168.1.1 --syn  

【编辑推荐】

iptables在Red Hat上的安装

iptables在Red Hat上的安装

iptables的编译

责任编辑:zhaolei 来源: eb163
相关推荐

2010-01-13 17:55:37

VB.NET语法规则

2022-02-23 08:50:37

MySQL

2009-10-23 16:53:16

VB.NET语法规则

2011-03-16 09:30:47

iptables过滤

2011-03-18 09:26:13

Iptables规则

2011-03-17 17:45:45

iptables规则

2011-03-16 10:59:57

2011-03-16 16:41:57

清空iptables

2011-03-17 10:33:53

2017-09-11 20:16:58

2011-03-17 16:43:49

2011-03-16 16:54:10

iptables 清空linux

2010-05-28 13:14:06

MySQL基本语法

2011-03-16 16:23:23

保存iptables防火墙

2012-04-28 16:23:33

苹果App Store排名算法

2009-09-28 11:01:48

2022-12-07 13:47:52

ChatGPT编程

2018-10-12 11:26:13

oracle存储语法

2018-08-28 11:40:47

存储过程语法

2009-08-19 15:38:59

C#代码
点赞
收藏

51CTO技术栈公众号