iptables

1、iptables

iptables分为四表五链:

四表:mangle raw nat filter

五链:input output forward prerouting postrouting

2、查看

查看iptables规则
iptables -vnL
-v  查看时显示更详细信息
-n  所有字段以数字形式显示
-L  查看规则列表

iptables_第1张图片

3、允许和拒绝

iptables -t filter -A INPUT -s 192.168.91.101 -j ACCEPT
接受来自192.168.91.101的包

iptables_第2张图片

拒绝来自 192.168.91.101 的源地址 直接丢弃
iptables -t filter -A INPUT -s 192.168.91.101 -j DROP

iptables_第3张图片

4、删除规则

iptables  -D INPUT 1   删除第1条规则

iptables_第4张图片

5、黑白名单

修改默认规则为 白名单后自己也无法访问

所以要先把重要的写入 再更改为白名单

iptables -P INPUT DROP
将默认规则改为禁止

在规则最后一条加上拒绝所有也可以实现白名单

6、清空规则

iptables  -F
清空规则

iptables_第5张图片

7、扩展模块

显示扩展    必须加   -m  选项

隐式扩展  -p   tcp 指定了特殊的协议无需再次使用-m 选项

1、tcp

指定端口号   
iptables -I INPUT 3 -s 192.168.91.101 -p tcp --dport 80 -j REJECT
iptables -I INPUT 3 -s 192.168.91.101 -p tcp --dport 80:82 -j REJECT  连续的

2、icmp

A可以ping通B   B 不可以ping通A

双方都不可以ping:

iptables -A INPUT -s 192.168.91.101 -j REJECT

拒绝请求包:

iptables -A INPUT -s 192.168.91.101 -p icmp --icmp-type 8 -j REJECT

拒绝回复包:

iptables -A OUTPUT -d 192.168.91.101 -p icmp --icmp-type 0 -j REJECT

3、iprange

iptables -A INPUT  -m iprange --src-range 192.168.91.101-192.168.91.103 -j REJECT 
指定 源地址为192.168.91.101-192.168.91.103   3个地址无法访问 当前主机

4、mac

iptables -A INPUT -m mac --mac-source 00:0c:29:2a:d6:05 -j DROP
指定mac地址的包全部拒绝
只有源mac没有目标mac

5、state状态

NEW:无论是我发出的第一个包还是收到的第一个包  都叫NEW
ESTABLISHED:NEW 之后都叫ESTABLISHED,除了第一个

实现功能老用户可以访问,新用户不可以访问

iptables -AINPUT -m state --state ESTABLISHED -j ACCEPT
已在ping 的可以继续ping,停了也不可以通了,xshell也不可以再连


iptables -AINPUT -m state --state NEW -j REJET
新用户拒绝

A不能访问我,我可以访问A    单向通讯

iptables -A INPUT -s 192.168.91.101 -j REJECT
不行都不可以了


iptables -A INPUT -s 192.168.91.101 -m state --state NEW -j REJECT
第一个包是请求包只要禁止请求包即可

8、自定义链

iptables -N web  自定义链 
iptables -vnL    可以看到自己定义的链
iptables -E web  WEB   改名

删除自定义链
iptables -F INPUT
iptables -F WEB
iptables -X WEB

9、nat

9.1、snat

iptables -t nat -A POSTROUTING -s 192.168.91.100/24 -o ens36 -j SNAT --to 12.0.0.254
将源地址为192.168.91.0段的私网地址全部  转化为网关地址

iptables -t nat -A POSTROUTING -s 192.168.91.0/24 -o ens36 -j MASQUERADE
如果地址不固定可以设置                              

9.2、dnat

iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.91.100

9.3、用内网查看外网的网站

配置三台机器:一个外网服务器做wed网站,一个服务器做nat转换,一台做内网机

用外网服务器配置一个wed页面

iptables_第6张图片

配置nat转换服务器

iptables -t nat -A POSTROUTING  -o ens36 -s 192.168.64.0/24 -j SNAT --to \
12.255.255.2
服务器进行内网到外网的转换

iptables -t nat -A PREROUTING -i ens36 -d 12.255.255.2 -p tcp --dport 80 -j \
DNAT --to 192.168.64.100:8080
服务器进行外网到内网的转换

 

iptables -vnL

 iptables_第7张图片

使用内网客户端打开wed

curl 12.0.0.3
使用内网客户端打开外网wed

 iptables_第8张图片

 


 

你可能感兴趣的:(服务器,linux,网络)