运维进阶——iptables详解

iptables先将双网卡的desktop的firewalld关闭,并锁定[root@dektop~]#systemctlstopfirewalld[root@dektop~]#systemctlmaskfirewalldln-s'/dev/null''/etc/systemd/system/firewalld.service'[root@dektop~]#iptables基本操作命令一览ipta...

运维进阶——iptables详解
iptables

先将双网卡的desktop的firewalld关闭,并锁定

[root@dektop ~]# systemctl stop firewalld[root@dektop ~]# systemctl mask firewalldln -s '/dev/null' '/etc/systemd/system/firewalld.service'[root@dektop ~]# 

iptables基本操作命令一览

iptable  -t##指定表名称-n##不作解析  -L##列出指定表中的策略  -A##增加策略  -p##网络协议  --dport ##端口  -s##数据来源  -j##动作  ACCEPT  ##允许  REJECT  ##拒绝  DROP ##丢弃  -N##增加链  -E##修改链名称  -X##删除链  -D##删除指定策略  -I##插入  -R##修改策略  -P##修改默认策略iptables  -t filter -nL#查看filter表中的策略-t 后面不跟表名的话,默认为filter表iptable  -F#刷掉filter表中的所有策略,当没有用-t指定表名称>时默认时filterservice iptables save  #保存当前策略保存在了/etc/sysconfig/iptables里iptables -A INPUT -i lo -j ACCEPT #允许loiptables -A INPUT -p tcp --dport 22 -j ACCEPT##允许访问22端口iptables -A INPUT -s 172.25.254.250 -j ACCEPT##允许250主机访问本机所有端口iptables -A INPUT -j REJECT##拒绝所有主机的数据来源iptables -N redhat##增加链redhatiptables -E redhat westos ##改变链名称iptables -X westos##删除westos链iptable -D INPUT 2##删除INPUT链中的第二条策略iptables -I INPUT  -p tcp --dport 80  -j REJECT ##插入策略到INPUT中的第一条iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT ##修改第一条策略iptable -P INPUT DROP  ##把INPUT表中的默认策略改为drop

命令演示

iptables -t filter -nL 查看filter表,-t不指定的话,默认为filter表

在这里插入图片描述

iptables -A INPUT -i lo -j ACCEPT #-A 表示添加  -j 表示动作,允许loIptables -t filter -L  -n是不做解析,不带-n是做解析

在这里插入图片描述

iptables -A INPUT -p tcp --dport 22 -j ACCEPT##允许访问22端口-p表示网络协议

在这里插入图片描述

iptables -A INPUT -s 172.25.254.13 -j ACCEPT##允许250主机访问本机所有端口

在这里插入图片描述

iptables -A INPUT -j REJECT##拒绝所有主机的数据来源

把这条加在允许13主机的所有端口这条策略之后,那么会如何让执行呢,
它会从第一条开始,只要读到匹配项就停止了
在这里插入图片描述
在这里插入图片描述

还可以连接,说明它读了第一条策略匹配后停止,第二条侧路并美生效

iptables -i INPUT -j REJECT 拒绝所有主机的数据来源,插入到第一条

在这里插入图片描述

iptable -D INPUT 3  ##删除INPUT链中的第3条策略

在这里插入图片描述

在主机上再测试
在这里插入图片描述

iptables -N redhat##增加链redhat

在这里插入图片描述
同样如果不-t指定的话默认是filter表
在这里插入图片描述

iptables -E redhat westos ##改变链名称

在这里插入图片描述

iptables -X westos##删除westos链

在这里插入图片描述

iptables -R INPUT 2 -j REJECT ##修改第2条策略

在这里插入图片描述

iptable -P INPUT DROP  ##把INPUT表中的默认策略改为drop

在这里插入图片描述

iptable  -F#刷掉filter表中的所有策略,当没有用-t指定表名称>时默认时filter

在这里插入图片描述

端口转发

[root@dektop ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 1.1.1.213:22[root@dektop ~]# iptables -t nat -nLChain PREROUTING (policy ACCEPT)target  prot opt sourcedestinationDNAT tcp  --  0.0.0.0/00.0.0.0/0tcp dpt:22 to:1.1.1.213:22Chain INPUT (policy ACCEPT)target  prot opt sourcedestinationChain OUTPUT (policy ACCEPT)target  prot opt sourcedestinationChain POSTROUTING (policy ACCEPT)target  prot opt sourcedestination

在这里插入图片描述

操作和firewalld的作用是一样的,只是通过不同的方式

测试
在真机

[kiosk@foundation13 ~]$ ssh root@172.25.254.113root@172.25.254.113's password: Last login: Sat Jun  1 01:38:06 2019 from 1.1.1.113

查看ip,是1网段的server虚拟机

地址伪装

[root@dektop ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.113[root@dektop ~]# iptables -t nat -nLChain PREROUTING (policy ACCEPT)target  prot opt sourcedestinationDNAT tcp  --  0.0.0.0/00.0.0.0/0tcp dpt:22 to:1.1.1.213:22Chain INPUT (policy ACCEPT)target  prot opt sourcedestinationChain OUTPUT (policy ACCEPT)target  prot opt sourcedestinationChain POSTROUTING (policy ACCEPT)target  prot opt sourcedestinationSNAT all  --  0.0.0.0/00.0.0.0/0to:172.25.254.113

测试
在server虚拟机
ping 172.25.254.13

源文地址:https://www.guoxiongfei.cn/csdn/4855.html
0