Linux网络相关
ifconfig命令
- 查看网卡IP
如果系统没有该命令可以使用yum安装:
查看网卡IP还可以使用命令:ip add,这个显示有点乱!
- ifconfig -a
显示所有网卡信息(包括down掉的或者没有IP地址的网卡)
启动/关闭网卡
- ifup/ifdown [网卡名]
应用环境:更改单个指定网卡配置后需要重启才能生效,为了避免关闭或重启所有网卡可以对单个网卡执行该命令。
注: 如果网卡正在使用中,不要单独使用ifdown命令!!!解决办法: “# ifdown ens33 && ifup ens33”,使两个命令一起执行!
增加虚拟网卡
步骤:
1、切换至网卡配置文件复制系统网卡
2.编辑复制的配置文件
说明:更改NAME、DEVICE、IPADDR,系统已经设定网关可DNS,所以在此可以删除GATEWAY和DNS,也可以保留,但是,如果要保留该选项则必须保持其与系统网卡配置一致!
3、重启系统网卡
4、查看网卡信息
5、检测虚拟网啊IP是否通畅在Windows系统cmd下ping该IP即可!
查看网卡是否连接
- 方法1:mii-tool [网卡名]
查看:link ok说明网卡连接OK!
- 方法2:ethtool [网卡名]
查看:Link detected: yes说明网卡连接OK!
主机名
- 更改主机名&主机名配置文件
- 注:更改后的主机名要在系统重启之后才会显示!
DNS配置
- DNS配置文件:/etc/resolv.conf
注: 更改网卡配置即可更改DNS配置文件,更改后需要重启网卡(ifdown/ifup)后生效,也可编辑‘/etc/resolv.conf’临时更改DNS配置,该办法在重启网卡后会被网卡配置文件中的DNS覆盖!
- 本地域名配置文件文件:/etc/hosts
说明: 使用vi命令可在该配置文件下可以自定义IP所对应的域名(一个IP对应多个域名或一个域名对应多个IP,用空格隔开,当一个域名对应多个IP时,以配置文件中靠后面的配置为准),但是该域名配置只在本机生效!
10.12 firewalld和netfilter
SELinux防火墙
- 临时关闭SELinux防火墙:
- 永久关闭SELinux防火墙:
编辑配置文件‘/etc/selinux/config’
将SELINUX=enforcing改为disabled保存,重启系统即可!
- 查看SELinux防火墙状态
netfilter(Firewalld)
Centos7中默认将原来(centos5/6)的防火墙netfileter升级为了firewalld。iptables是它们实现防火墙功能的工具。
为了方便学习,暂时停用firewalld,开启centos6/5的防火墙机制netfilter。
- 停用firewalld
- 开启netfilter
说明: 安装完成后默认开启iptables服务。
- 查看iptables规则:iptables -nvL
10.13 netfilter 5表及链的介绍
表名
- filter:包过滤,用于防火墙规则。
- nat:地址转换,用于网关路由器。
- mangle:用于给数据包打标记,然后根据标记去操作那些表。(不常用)
- 还有两个不常用的表:raw和security,在此不多讲述。
规则链名
-
filter的三种链:
- INPUT链:作用于输入本机的数据包。
- OUTPUT链:作用于本机输出的数据包。
- FORWARD链:作用于与本机无关的包。
-
nat的三种链:
- PREROUTING链:作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。
- OUTPUT链:改变本地产生的包的目的地址。
- POSTROUTING链:在包离开防火墙之前改变其源地址。
nat表应用(了解内容)
环境:
假设有三台机器(A,B,C),A机器上有一块网卡连接公网IP1;B机器上有两块网卡b1、b2,b1、b2分别连接公网和私网IP2,、IP3;C机器上有一块网卡连接私网IP4。很明显此时A&B,B&C之间都分别能互通,但是A和C之间是不能直接连通的,只能借助B做媒介才能连通。那么如何设置才能使得A和C之间互通呢?
方法:
说明: -o 选项后面跟设备名称,表示出口网卡,MASQUERADE是伪装、冒充的意思。
10.14 iptables语法
iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。
语法: iptables [options] [参数]
Options:
-n:不针对IP反解析主机名
-v:显示更详细的信息
-t:指定表(iptables命令默认作用于filter表)
-L:显示信息
-F:清空所有规则
-A/D:=add/delete,添加/删除一条规则
-I:插入一条规则
-p:指定协议,可以是tcp,udp或icmp
--sport:跟-p一起使用,指定源端口
--dport:跟-p一起使用,指定目标端口
-s:指定源IP(可以是一个IP段)
-d:指定目的IP(可以是一个IP段)
-j:后面跟动作(ACCEPT表示允许包;DROP表示丢掉包;REJECT表示拒绝包)
-i:指定网卡
-Z:把包以及流量计数器清零
-P:=pre,预设策略
- iptables命令选项输入顺序:
- 查看规则:iptables -nvL
iptables规则配置文件:/etc/sysconfig/iptables
- 清空规则:iptables -F
注: 该命令不会清除配置文件内的规则!当更改规则后需要执行命令‘service iptables save’将其保存到配置文件。
- 增加一条规则(-A/I):iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
说明: 增加一条规则,当IP~192.168.188.1、协议为tcp、端口为‘1234’的向IP~192.168.188.128、端口为80的机器发送包时执行操作:drop(丢掉包)。
注: 该命令也可以把-A换成-I,两者的区别类似于排队和插队,两种方法插入的规则优先级不同。
- 删除一条规则(-D)
方法1: 知道规则的内容:iptables -D INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
注: 要删除一条规则时,必须和插入的规则一致,也就是说,两条iptables命令除了-A/I和-D不一样外,其他地方都一样。
方法2: 忘记规则内容
首先所以用以下命令查看规则序号:iptables -nvL --line-number
然后再执行删除命令:iptables -D INPUT 序号
- 更改预设策略(-P):iptables -P OUTPUT DROP
注意: 尽量不要随意更改该配置,尤其是在进行远程登录时,一旦执行该命令后将会断开连接。这个策略设定后只能用需要回到主机上执行命令:‘iptables -P OUTPUT ACCEPT’来恢复成原始状态,这个规则不要随意更改,保持默认就好。