iptables常用命令

释放双眼,带上耳机,听听看~!

博主对于iptables的了解不多,很多内容都是现学现用,iptables整体来说很复杂,博主只是用来配置VPS的访问规则,以起到简单保护VPS的目的,因此,只是简单写一下常用到的配置,很多网络相关内容我也不懂,直接上

iptables常用命令

规则的写法:

iptables定义规则的方式比较复杂:

格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION

-t table :3个filter nat mangle, 默认是指filter表,如果使用其它表,需要指定

COMMAND:定义如何对规则进行管理 -A/I/D/R

chain:指定你接下来的规则到底是在哪个链上操作的,最常用的是 -P INPUT/OUTPUT/FORWARD

CRETIRIA:指定匹配标准 ,地址、协议、端口、网卡等

-j ACTION :指定如何进行处理,常用的为 -j ACCEPT/DROP

例如不允许指定IP访问本机

iptables -A INPUT -s 172.16.0.0/16 -p udp –dport 53 -j DROP

iptables -L -n -v #查看定义规则的详细信息

链管理命令

-P :设置默认策略(即INPUT/FORWARD/OUTPUT总开关)

默认策略一般只有两种:iptables -P INPUT (DROP|ACCEPT) 默认是关的/默认是开的

-F: FLASH,清空规则链

-X: 用于删除用户自定义的空链

规则管理命令

-A:追加,在当前链的最后新增一个规则

-I [num] : 插入,把当前规则插入为第几条。默认插入到首行

-R num:Replays替换/修改第几条规则,格式:iptables -R 3 …………

-D num:删除,明确指定删除第几条规则

查看管理命令 “-L”

-n:以数字的方式显示ip,它会将ip直接显示出来,如果不加-n,则会将ip反向解析成主机名。

-v:显示详细信息-vv,-vvv :越多越详细

-x:在计数器上显示精确值,不做单位换算

–line-numbers : 显示规则的行号

iptables -L -n –line-number :查看之前的规则位于第几行

匹配标准

通用匹配:源地址目标地址

-s:指定作为源地址匹配,必须是IP  IP | IP/MASK | 0.0.0.0/0.0.0.0

地址可以取反,加一个“!”表示除了哪个IP之外

-d:表示匹配目标地址

-p:用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)

-i eth0:从这块网卡流入的数据,流入一般用在INPUT和PREROUTING上

-o eth0:从这块网卡流出的数据,流出一般在OUTPUT和POSTROUTING上

扩展匹配

隐含扩展:对协议的扩展

-p tcp :TCP协议的扩展。一般有三种扩展

–dport XX-XX:指定目标端口,不能指定多个非连续端口。如:–dport 21 或者 –dport 21-23 (此时表示21,22,23)

–sport:指定源端口

-p udp:UDP协议的扩展

–dport

–sport

-p icmp:icmp数据报文的扩展

–icmp-type:

echo-request(请求回显),一般用8 来表示

所以 –icmp-type 8 匹配请求回显数据包

echo-reply (响应的数据包)一般用0来表示

显式扩展(-m)

-m multiport:表示启用多端口扩展

之后我们就可以启用比如 –dports 21,23,80

请求处理-j ACTION

常用的ACTION:

DROP:悄悄丢弃,一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表

REJECT:明示拒绝

ACCEPT:接受

custom_chain:转向一个自定义的链

REDIRECT:重定向:主要用于实现端口重定向

例题:允许来自192.168.0.0/16网段的都允许访问我本机的192.168.1.10的SSHD服务

一定先添加具体规则,再添加链管理,否则就会把自己送到外边

iptables -A INPUT -s 192.168.0.0/16 -d 192.168.1.10 -p tcp –dport 22 -j ACCEPT

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

iptables的保存和生效

本文仅以Ubuntu为例

iptables的设置是立即生效的,机器重启后,iptables中的配置信息会被清空。您可以将这些配置保存下来,让iptables在启动时自动加载,省得每次都得重新输入。iptables-save和iptables-restore 是用来保存和恢复设置的。

先将防火墙规则保存到/etc/iptables.up.rules文件中

iptables-save > /etc/iptables.up.rules

然后修改脚本/etc/network/interfaces,使系统能自动应用这些规则,在最下面添加一行,如下内容

auto venet0
iface venet0 inet manual
 up ifconfig venet0 up
 up ifconfig venet0 127.0.0.2
 up route add default dev venet0
 down route del default dev venet0
 down ifconfig venet0 down
 pre-up iptables-restore < /etc/iptables.up.rules

给TA打赏
共{{data.count}}人
人已打赏
Linux

Linux定时任务cron

2018-8-29 11:22:05

Linux

linux配置LAMP环境

2018-8-29 11:27:45

免责声明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站除大叔原创外的资源均来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请通过私信与我们联系处理。敬请谅解!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索