1.开启iptables
关闭ffirewalld服务
打开iptables服务
服务端
eth0ip:172.25.254.114
eth1ip:1.1.1.114
客户端
eth0ip:1.1.1.1.214
2.iptable 参数
-t | 指定表名称 |
-n | 不作解析 |
-L | 列出指定表中的策略 |
-A | 增加策略 |
-p | 网络协议 |
–dport | 端口 |
-s | 数据来源 |
-j | 动作 |
ACCEPT | 允许 |
REJECT | 拒绝 |
DROP | 丢弃 |
-N | 增加链 |
-E | 修改链名称 |
-X | 删除链 |
-D | 删除指定策略 |
-I | 插入 |
-R | 修改策略 |
-P | 修改默认策略 |
查看iptables服务设置
查看iptables帮助
iptables -t filter -nL #查看filter表中的策略
iptable -F #刷掉filter表中的所有策略,当没有用-t指定表名称时默认时filter
此时若是重新启动iptables服务就会重新加载之前的filter表中的策略,因为刷新后未保存
策略在/etc/sysconfig/iptables中记录,也可以直接修改文件,再重启服务就可以
而firewalld的策略文件在/etc/firewalld中,也可以在文件中修改策略,重启服务后生效
重新刷新iptables策略并查看
此时文件里的策略还在,但是查看时没有
service iptables save #保存刷新后的策略
此时进入文件再次查看就发现没有策略了
用命令查看也没有
iptable -P INPUT DROP ##把INPUT表中的默认策略改为drop
改回ACCEPT
未拒绝ssh服务时可以连接
拒绝ssh服务后就无法连接
iptables -A INPUT -p tcp --dport 22 -s 172.25.254.14 -j ACCEPT #只允许172.25.254.14使用ssh服务,但是第一条策略是不允许ssh服务,策略读取是从上到下,第一条拒绝后就不会再往下读取,所以还是无法连接
iptable -D INPUT 2 ##删除INPUT链中的第二条策略
iptables -I INPUT 1 -s 172.25.254.14 -p tcp --dport 22-j ACCEPT #把只允许172.25.254.14使用ssh服务添加到第一条策略
此时14可以连接
iptables -N redhat ##增加链redhat
iptables -E redhat westos ##改变链名称
iptables -X westos ##删除westos链
查看iptables中的nat表
此时客户端ping不通172.25.254.14
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.114 #添加自己的ip到nat的post接口让客户端可以ping通172.25.254这个网段的
重新ping172.25.254.14就可以
客户端连接172.25.254.14
172.25.254.14查看连接的设备为172.25.254.114服务端并不是真正连接它的1.1.1.214
用172.25.254.14反连接172.25.254.114可能会对服务端不安全
为了避免这种不安全现象,,需要对1.1.1.214进行设定
重新用172.25.254.14连接172.25.254.114发现真正连接的是1.1.1.214
刷新nat的策略
打开回环接口
建立过的连接的都同意
新的连接允许连接(smb)445和(iscsi) 860,其他的服务都禁止
查看新设置的策略
用172.25.254.14主机ssh连接114,连接不成功