命令 | 功能 |
---|---|
-t | 指定表名称 |
-n | 不做解析 |
-L | 列出指定表中的策略 |
-F | 刷新清空策略 |
- A | 增加协议 |
-p | 网络协议 |
-dport | 端口 |
-s | 数据来源 |
-j | 动作 |
-N | 增加链 |
-E | 修改链名称 |
-X | 删除链 |
-D | 删除指定策略 |
-I(大写i) | 插入 |
-R | 修改策略 |
-P | 修改默认策略 |
ACCEPT | 允许 |
REJECT | 拒绝 |
DROP | 丢弃 |
关闭firewalld
启动iptables
vim /etc/sysconfig/iptables ##查看策略
service iptables save ##保存策略
-P 修改默认策略 为DROP
用其他虚拟机链接本机,即链接不到i也没有被拒绝
因为被丢弃了,所以一直处于尝试链接状态
iptables -t filter -A INPUT -p tcp --dport 22 -j REJECT
将22端口设置为REJECT
再次链接,直接拒绝
添加172.25.254.36为REJECT
发现36真机并不能链接到236
因为接受36的协议在第二个,而拒绝在第一位
方法一:按行数删除
iptables -D INPUT 2
方法二:按内容删除
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
删除INPUT 2
使用插入参数将ACCEPT插入到第一条
再次连接成功
伪装
1.SNAT就是改变转发数据包的源地址
–to-source: POSTROUTING:可以在这里定义进行源NAT的规 则,系统在决定了数据包的路由以后在执行该链中的规则。
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.236
iptables -t nat -nL
客户端(1.1.1.136)连接真机(172.25.254.36)
w -i 查看来源被转换为172.25.254.236
转接
2.DNAT就是改变转发数据包的目的地址
–to-dest:
PREROUTING:(外部访问内部)可以在这里定义进行 目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 1.1.136
iptables -t nat -nL
客户端再连真机,直接被转到服务端
添加接受状态为NEW的来自回环地址策略
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
添加接受状态为ESTABLISHED(连接中),RELATED(连接过)的策略
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEP
添加接受状态为NEW的tcp协议445端口策略
iptables -A INPUT -m state --state NEW -p tcp --dport 445 -j ACCEPT
添加接受状态为NEW的tcp协议3260端口策略
iptables -A INPUT -m state --state NEW -p tcp --dport 3260 -j ACCEPT
添加拒绝全部的策略
iptables -A INPUT -j REJECT
协议名称