linux之火墙

##############火墙是内核上的一个插件
firewalld和iptables是管理火墙(iptables)的工具

iptables默认有三张

filter表(内容三个):经过内核(访问本机的)input和output
forward在filter表里:两块网卡的ip用一根线连接起来这根线叫做forward

nat表(四个内容):专做地址转发(不访问本机的)

路由之后的地址转发是postrouting
路由之前的是prerouting

限制postrouting和preouting是fiter里面的forword,可以限制是否通过内核

mangle(转做附加说明,前两张表不够用,有五个内容)

input output(in和ou分为两种类型) forward postrouting prerouting

被称为三表五链

###############firewalld

firewalld企业7之前里面没有

在client内网卡设定为172.25.254.219

将不同网卡添加在不同域中server中添加两块网卡eth0(172.25.254.114) eth1(1.1.1.114)
开启httpd
firewall-cmd --list-all看所有的接口信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

写下共享文件,开启httpd
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

这时你去访问访问不到(有火墙)
在这里插入图片描述

在这里插入图片描述

此时eth0是public
firewall-cmd --remove-interface=eth0 --zone=public
先移除
在添加
firewalld-cmd --add-interface=eth0 --zone=trusted 将eth0接口改为trust这样别人访问eth0时就可以被信任(原本的eth0状态为public 不允许被人访问httpd )

在这里插入图片描述
在client中firefox访问172.25.254.119 可以访问到
在这里插入图片描述

####firewalld配置文件

如果一个网关的默认为trusted那末关闭服务,这个服务对这个网关来说还是开启

firewall-cmd --permanent --remove-service=ssh

firewall-cmd --complete-reload(正在连接的服务也会被停止)
kill -9 shhd

客户端 ssh root@172.25.254.119
#ssh: connect to host 172.25.254.119 port 22: No route to host
连接不上
如果还能连接上 就是你访问的ip网关是trusted

服务端:

vim /etc//firewalld/zones
里面有

firewalld.conf
你现在修改的命令会被写成文件

firewalld.conf.old 以前修改的命令写成文件

在这里插入图片描述

在这里插入图片描述
cd /lib/firewalld/services/
vim ssh.xml
将端口改为23
firewall-cmd --complete-reload(刷新)

在这里插入图片描述

在这里插入图片描述

客户端 ssh root@172.25.254.119
#ssh: connect to host 172.25.254.119 port 22: No route to host

在这里插入图片描述

在这里插入图片描述

######端口增加特定的防火墙规则
##22端口只允许219

服务端设置
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.114-p tcp
添加规定 f表 input链 来源 遵守协议

–dport 22 -j ACCEPT(REJECT)
目的端口 加动作

firewall-cmd --permanent --remove-service=ssh
关掉ssh
firewall-cmd --complete-reload

在这里插入图片描述

firewall-cmd --direct --get-all-rules 可以看到命令
#ipv4 filter INPUT 1 -s172.25.254.114-p tcp --dport 22 -j ACCEPT
在这里插入图片描述

客户端172.25.254.114
ssh可以
客户端172.25.254.63
ssh
#ssh: connect to host 172.25.254.119 port 22: No route to host

服务端删除命令
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -s172.25.254.219 -p tcp --dport 22 -j ACCEPT

firewall-cmd --direct --get-all-rules

服务端设定firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.219 -p tcp --dport 22 -j ACCEPT
(除了219 其他都在范围内,经过内核访问) 219走服务访问,
若没有服务则:ssh: connect to host 172.25.254.119 port 22: No route to host
在这里插入图片描述

在这里插入图片描述

现在服务端的ip 1.1.1.114

#地址伪装(server 有两个ip 172.25.254.114 1.1.1.114 client一个ip 1.1.1.214)

在这里插入图片描述
在server中
firewall-cmd --add-masquerade

在这里插入图片描述
firewall-cmd --list-all
在这里插入图片描述

发现masquerade 为yes
在client中修改网络设置
vim /etc/syconfig/network-scripts/ifcfg-eth0
写 GATEWAY=1.1.1.214

在这里插入图片描述
ping 172.25.254.63
可以pingtong

在这里插入图片描述

在这里插入图片描述
端口转发

服务端设定
此时
firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=1.1.1.214

访问(服务端(172.25.254.119))火墙转到1.1.1.214
firewall-cmd --list-all

#forward-ports: port=22:proto=tcp:toport=22:toaddr=1.1.1.214

客户端访问ssh root@172.25.254.114发现连的是1.1.1.114

iptables管理火墙
首先关闭火墙 锁火墙
systemctl stop firewalld.service

systemctl mask firewalld.service

iptables -t filter -nL 列出filter表的 内容

在这里插入图片描述

在这里插入图片描述
iptables -t filter -A INPUT -s 172.25.254.219 -j REJECT
表 添加 input链上 219 被拒绝
iptables -t filter -nL
###target prot opt source destination
###REJECT all – 172.25.254.219 0.0.0.0/0 reject-with icmp-p

iptables -D INPUT 1
删除input 链的第1个

iptables -R INPUT 1 -s 172.25.254.219 -j REJECT
将 input链 第二条 更新 为 219 被拒绝

在这里插入图片描述

iptables的端口伪装和地址转发

####端口转发(从里面出去)
sysctl -a | grep ip_forward

1想向3借钱 不认识3 ,先向2借,2在去向3借
服务端(有两块ip 172.25.254.119 1.1.1.119)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 1.1.1.219
设置 连我就转到1.1.1.219

在这里插入图片描述

在这里插入图片描述
用真机(172.25.254.63) ssh root@172.25.254.214(双网卡有两个ip,iptable)
会转到1.1.1.219
注:1.1.1.219里要设置网关 GATEWAY=1.1.1.114

在这里插入图片描述

####地址伪装路由后

(从为外面要进来)
3找2还钱,2没有钱,2带3找1(172.25.254.19)

(3的真正目的是连接1)
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.19
iptables -t nat -nL
已经加上

在3(1.1.1.219)要ssh root@172.25.254.19
注意要设置网关(2)GATEWAY=1.1.1.119

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值