概述
------------------------------------------------------------iptables---------------------------------------------------------------
1.基本命令
iptable -t ##指定表名称
-n ##不做解析
-L ##列出指定表中的策略
-P ##网络协议
--dport ##端口
-s ##数据来源
-j ##动作
ACCEPT ##允许
REJECT ##拒绝
DROP ##丢弃
-N 增加链
-E 修改链名称
-X 删除链
-D 删除指定策略
-I 插入
-R 修改策略
-P 修改默认策略
----------------------------------------------------------------------------------------------------------------------------------------------------------
iptables -t filter -nL 查看filter表中的策略
iptables -F 刷掉filter表中所有celue
iptables -A INPUT -i lo -j ACCEPT 允许lo
iptables -A INPUT -p tcp --dport 22 -j ACCEPT 允许访问22端口
iptables -A INPUT -s 172.25.254.43 -j ACCEPT 允许43主机访问本机所有端口
iptables -A INPUT -j REJECT 拒绝所有主机的数据来源
iptables -N redhat ##增加redhat链
iptables -E redhat westos ##改变链名称
iptables -X westos ##删除westos链
iptables -D INPUT 2 ##删除链中的第二条策略
iptables -I INPUT -p tcp --dport 80 -j REJECT ##插入策略到INPUT中的第一条
iptables -R INPUT 1 -p tcp --dpor 80 -j ACCEPT ##修改第一条策略
------------------------------------------------------------防火墙路由设置----------------------------------------------------------------------------------------------------------------
iptables -F
sysctl -a | grep forward ##查看forward状态
sysctl -p
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.25.254.143 netmask 255.255.255.0 broadcast 172.25.254.255
inet6 fe80::5054:ff:fe00:2a0a prefixlen 64 scopeid 0x20<link>
ether 52:54:00:00:2a:0a txqueuelen 1000 (Ethernet)
RX packets 18063 bytes 7684479 (7.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2518 bytes 278564 (272.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.25.0.143 netmask 255.255.255.0 broadcast 172.25.0.255
inet6 fe80::5054:ff:fef7:1d5a prefixlen 64 scopeid 0x20<link>
ether 52:54:00:f7:1d:5a txqueuelen 1000 (Ethernet)
RX packets 14287 bytes 2120844 (2.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 88 bytes 12459 (12.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-dest 172.25.0.143
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.143
测试:
172.25.0.43主机通过路由 ping172.25.254.143
--------------------------------------------------------------------firewalld---------------------------------------------------------------------
***查看firewalld的状态:
firewall-cmd --state
***查看当前活动的区域,并附带一个目前分配给它们的接口列表:
firewall-cmd --get-active-zones
***查看默认区域:
firewall-cmd --get-default-zone
***查看所有可用区域:
firewall-cmd --get-zones
***列出指定域的所有设置:
firewall-cmd --zone=public --list-all
***列出所有预设服务:
firewall-cmd --get-services
***列出所有区域的设置:
firewall-cmd --list-all-zones
***设置默认区域:(信任所有网络连接)
firewall-cmd --set-default-zone=trused
***设置网络地址到指定的区域:
firewall-cmd --permanent --zone=internal --add-source=172.25.254.155
(--permanent参数表示永久生效设置,如果没有指定--zone参数,那么会加入默认区域)
***删除指定区域中的网路地址:
firewall-cmd --permanent --zone=internal --remove-source=172.25.254.155
***添加、改变、删除网络接口:
firewall-cmd --permanent --zone=internal --add-interface=eth0
firewall-cmd --permanent --zone=internal --change-interface=eth0
firewall-cmd --permanent --zone=internal --remove-interface=eth0
***添加、删除服务:
firewall-cmd --permanent --zone=public --add-service=smtp
firewall-cmd --permanent --zone=public --remove-service=smtp
测试:
172.25.0.44可以通过http访问172.25.0.43
172.25.254.155可以访问172.25.243.143(该网卡是trusted)
***列出、添加、删除端口:
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
***重载防火墙:
firewall-cmd --reload
***添加规则:
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.155 -p tcp --dport 22 -j ACCEPT
###除了172.25.254.155以外的都以通过22端口访问
***删除规则:
firewall-cmd --direct --remove-rule ipv4 filter IN_public_allow 10 -p tcp --dport 80 -j ACCEPT
***列出规则:
firewall-cmd --direct --get-all-rules
伪装:
# firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 sourceaddres=172.25.254.155 masquerade'
> server端
> client 端
端口转发:
# firewall-cmd --permanent --zone=<ZONE> --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.155
测试:
最后
以上就是忐忑路灯为你收集整理的Linux学习篇第三章之~防火墙的全部内容,希望文章能够帮你解决Linux学习篇第三章之~防火墙所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复