网络相关以及防火墙

发布时间:2020-08-14 08:58:37 作者:AM学linux
来源:网络 阅读:508

Linux网络相关

ifconfig查看网卡ip(yum install net-tools)

关闭启动网卡: ifup ens33/ifdown ens33

设定虚拟网卡eth0:0

[root@mingming ~]# cd /etc/sysconfig/network-scripts/[root@mingming network-scripts]# lsifcfg-eth0   ifdown-post    ifup-eth    ifup-routes
ifcfg-lo     ifdown-ppp     ifup-ippp   ifup-sit
ifdown       ifdown-routes  ifup-ipv6   ifup-tunnel
ifdown-bnep  ifdown-sit     ifup-isdn   ifup-wireless
ifdown-eth   ifdown-tunnel  ifup-plip   init.ipv6-global
ifdown-ippp  ifup           ifup-plusb  net.hotplug
ifdown-ipv6  ifup-aliases   ifup-post   network-functions
ifdown-isdn  ifup-bnep      ifup-ppp    network-functions-ipv6
[root@mingming network-scripts]# cp ifcfg-eth0 ifcfg-eth0\:0[root@mingming network-scripts]# vim ifcfg-eth0:0DEVICE=eth0:0HWADDR=00:0C:29:0F:AD:09TYPE=Ethernet
UUID=aa6b2038-bad7-4480-87ee-e462f8c6db6b
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=staticIPADDR=192.168.23.133NETMASK=255.255.255.0GATEWAY=192.168.23.2

DEVICE=eth0:0
IPADDR=192.168.23.133 将这两行修改再 关闭启动网卡: ifup eth0 && ifdown eth0

mii-tool ens33 查看网卡是否连接

ethtool ens33 也可以查看网卡是否连接

更改主机名 hostnamectl set-hostname aminglinux

DNS配置文件/etc/resolv.conf

/etc/hosts文件

firewalld和netfilter

Linux防火墙-netfilter

Linux防火墙-netfilter

netfilter的5个表

INPUT :数据包进来经过的链

FORWARD:到了机器但是不进去内核,转发出去

OUTPUT:本机包出去经过的链

PREROUTING:进来的时候更改数据包

POSTROUTING:出去的时候更改数据包

数据包流向与netfilter的5个链 PREROUTING:数据包进入路由表之前

INPUT:通过路由表后目的地为本机

FORWARD:通过路由表后,目的地不为本机

OUTPUT:由本机产生,向外发出

POSTROUTING:发送到网卡接口之前

Linux防火墙-netfilter

默认规则在/etc/sysconfig/iptables

-A 增加规则

INPUT :INPUT链

-s 来源ip

-p :指定协议

--sport :指定来源端口

-d 指定目标ip

--dport 目标端口

-j 处理方式 DROP:扔掉 REJECT:拒绝 ACCEPT:接受

-I 插入规则

-D 删除规则

-i 指定网卡

打印规则的序列号

删除序列1的规则

-P 改变默认没有匹配规则的

Linux防火墙-netfilter



iptables小案例


vi /usr/local/sbin/iptables.sh //加入如下内容


#! /bin/bash

ipt="/usr/sbin/iptables"

$ipt -F

$ipt -P INPUT DROP

$ipt -P OUTPUT ACCEPT

$ipt -P FORWARD ACCEPT

$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT    

$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT  


icmp示例



iptables -I INPUT -p icmp --icmp-type 8 -j DROP



Linux防火墙-netfilter



nat表应用



A机器两块网卡eth0(192.168.23.135)、eth2(192.168.100.1),eth0可以上外网,eth2仅仅是内部网络,B机器只有eth2(192.168.100.100),和A机器eth2可以通信互联。


增加内网 1 增加网卡

         2 设置ip : ifconfig eth2 192.168.100.1



需求1:可以让B机器连接外网

A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward

A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE 



B上设置网关为192.168.100.1


route add default gw 192.168.100.1


route -n 查看



需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口

上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward



A上执行iptables -t nat -A PREROUTING -d 192.168.23.135 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22


A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.23.135


B上设置网关为192.168.100.1

保存和备份iptables规则



service iptables save //会把规则保存到/etc/sysconfig/iptables

把iptables规则备份到my.ipt文件中

iptables-save > my.ipt

恢复刚才备份的规则

iptables-restore < my.ipt




Linux防火墙-firewalled



firewalld的9个zone


打开firewalld



systemctl disable iptables

systemctl stop iptables

systemctl enable firewalld

systemctl start firewalld

firewalld默认有9个zone

drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复,仅能有发送出去的网络



连接。


block(限制):任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的


icmp6-adm-prohibited信息所拒绝。


public(公共):在公共区域内使用,不能相信网络内其他计算机不会对您的计算机造成


危害,只能接收经过选择的连接。


external(外部):特别是为路由器启用了伪装功能的外部网,您不能信任来自网络的其


他计算机,不能想他他们不会对你的计算机造成危害,只能接收经过选择的连接。


dmz(非军事区):用于您的非军事区内的电脑,此区域内可公开访问,可以有限的进入


你的内部网络,仅仅接收经过选择的连接。


work(工作):用于工作区,你可以基本相信网络内的其他电脑不会危害你的电脑,仅仅


接收经过选择的连接。


home(家庭):用于家庭网络,你可以基本相信网络内的其他计算机不会危害你的计算机


,仅仅接收经过选择的连接。


internal(内部):用于内部网络,你可以基本相信网络内的其他计算机不会危害你的计


算机,仅仅接收经过选择的连接。


trusted(信任):可接受所有的网络连接。



默认zone为public

firewall-cmd --get-zones //查看所有zone

firewall-cmd --get-default-zone//查看默认zone




firewalld关于zone的操作



firewall-cmd --set-default-zone=work //设定默认zone

firewall-cmd --get-zone-of-interface=ens33 //查指定网卡

firewall-cmd --zone=public --add-interface=lo //给指定网卡设置zone 

firewall-cmd --zone=dmz --change-interface=lo //针对网卡更改zone

firewall-cmd --zone=dmz  --remove-interface=lo  //针对网卡删除zone 

firewall-cmd --get-active-zones  //查看系统所有网卡所在的zone




firewalld关于service的操作



firewall-cmd --get-services  查看所有的servies

firewall-cmd --list-services  //查看当前zone下有哪些service

firewall-cmd --zone=public --add-service=http //把http增加到public zone下面

firewall-cmd --zone=public --remove-service=http

ls /usr/lib/firewalld/zones/ //zone的配置文件模板

firewall-cmd --zone=public --add-service=http --permanent //更改配置文件,之后会在/etc/firewalld/zones目录下面生成配置文件

需求:ftp服务自定义端口1121,需要在work zone下面放行ftp

cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services

vi /etc/firewalld/services/ftp.xml //把21改为1121

cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/

vi /etc/firewalld/zones/work.xml //增加一行






firewall-cmd --reload //重新加载

firewall-cmd --zone=work --list-services


推荐阅读:
  1. 有关网络层协议的相关知识
  2. 云计算相关网络认知基础

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux 火墙

上一篇:MongoDB之备份与恢复

下一篇:redis系列:通过队列案例学习list命令

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》