七周三次課
ifconfig命令用於顯示或設置網絡設備。
ifconfig可設置網絡設備的狀態,或是顯示目前的設置。
ifconfig [網絡設備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網絡設備類型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<網絡媒介類型>][mem_start<內存地址>][metric<數目>][mtu<字節>][netmask<子網掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
參數說明:
add<地址> 設置網絡設備IPv6的IP地址。
del<地址> 刪除網絡設備IPv6的IP地址。
down 關閉指定的網絡設備。
<hw<網絡設備類型><硬件地址> 設置網絡設備的類型與硬件地址。
io_addr<I/O地址> 設置網絡設備的I/O地址。
irq<IRQ地址> 設置網絡設備的IRQ。
media<網絡媒介類型> 設置網絡設備的媒介類型。
mem_start<內存地址> 設置網絡設備在主內存所占用的起始地址。
metric<數目> 指定在計算數據包的轉送次數時,所要加上的數目。mtu<字節> 設置網絡設備的MTU。
netmask<子網掩碼> 設置網絡設備的子網掩碼。
tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址。
up 啟動指定的網絡設備。
-broadcast<地址> 將要送往指定地址的數據包當成廣播數據包來處理。
-pointopoint<地址> 與指定地址的網絡設備建立直接連線,此模式具有保密功能。
-promisc 關閉或啟動指定網絡設備的promiscuous模式。
[IP地址] 指定網絡設備的IP地址。
[網絡設備] 指定網絡設備的名稱。
ifconfig
默認沒有安裝,centos默認網卡查看ip addr
yum install net-tools -y
[root@aiker02 ~]# ifconfig ### 顯示網絡設備信息
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.111.154 netmask 255.255.240.0 broadcast 172.18.111.255
ether 00:16:3e:0e:61:05 txqueuelen 1000 (Ethernet)
RX packets 6164832 bytes 2387103480 (2.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4474811 bytes 976439547 (931.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1 (Local Loopback)
RX packets 1140931 bytes 62396734 (59.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1140931 bytes 62396734 (59.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@aiker02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##編輯網卡eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.18.111.154
NETMASK=255.255.240.0
[root@aiker02 ~]# cd /etc/sysconfig/network-scripts/
[root@aiker02 network-scripts]# cp ifcfg-eth0 ifcfg-eth0\:0
[root@aiker02 network-scripts]# vim ifcfg-eth0\:0 ## eth0:0為eth0子網卡
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.18.111.155
NETMASK=255.255.240.0
[root@aiker02 network-scripts]# ll
total 240
-rw-r--r-- 1 root root 84 Apr 11 13:51 ifcfg-eth0
-rw-r--r-- 1 root root 84 Apr 27 22:23 ifcfg-eth0:0
[root@aiker02 network-scripts]# cat ifcfg-eth0\:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.18.111.155
NETMASK=255.255.240.0
[root@aiker02 network-scripts]# ifconfig ### 顯示網絡設備信息
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.111.154 netmask 255.255.240.0 broadcast 172.18.111.255
ether 00:16:3e:0e:61:05 txqueuelen 1000 (Ethernet)
RX packets 6167731 bytes 2387643326 (2.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4477165 bytes 976955839 (931.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.111.155 netmask 255.255.240.0 broadcast 172.18.111.255
ether 00:16:3e:0e:61:05 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1 (Local Loopback)
RX packets 1141450 bytes 62425055 (59.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1141450 bytes 62425055 (59.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
啟動關閉指定網卡
# ifconfig eth0 down
# ifconfig eth0 up
為網卡配置和刪除IPv6地址
# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //為網卡誒之IPv6地址
# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //為網卡刪除IPv6地址
用ifconfig修改MAC地址
# ifconfig eth0 down //關閉網卡
# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
# ifconfig eth0 up //啟動網卡
# ifconfig eth1 hw ether 00:1D:1C:1D:1E //關閉網卡並修改MAC地址
# ifconfig eth1 up //啟動網卡
配置IP地址
# ifconfig eth0 192.168.1.56
//給eth0網卡配置IP地址
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
// 給eth0網卡配置IP地址,並加上子掩碼
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
// 給eth0網卡配置IP地址,加上子掩碼,加上個廣播地址
啟用和關閉ARP協議
# ifconfig eth0 arp //開啟
# ifconfig eth0 -arp //關閉
設置最大傳輸單元
# ifconfig eth0 mtu 1500
//設置能通過的最大數據包大小為 1500 bytes
[root@aiker02 ~]# ethtool eth0
Settings for eth0:
Link detected: yes
[root@aiker02 ~]# hostnamectl set-hostname aiker
[root@aiker02 ~]# cat /etc/resolv.conf
nameserver 100.100.2.138
nameserver 100.100.2.136
options timeout:2 attempts:3 rotate single-request-reopen
[root@aiker02 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
nmtui ##命令行下的圖形設置IP,主機名界面,如果沒有需要安裝network-manager
10.12 firewalld和netfilter
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 永久關閉selinux,需要重啟
setenforcing 0 臨時關閉,不用重啟
getenforce 獲取selinux的狀態
? systemctl disable firewalled
? systemctl stop firewalld
? yum install -y iptables-services
? systemctl enable iptables
? systemctl start iptables
?
?
#! /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
iptables -I INPUT -p icmp --icmp-type 8 -j DROP ##禁ping
10.13 netfilter5表5鏈介紹
netfilter的5個表
? filter表用於過濾包,最常用的表,有INPUT、FORWARD、OUTPUT三個鏈
? nat表用於網絡地址轉換,有PREROUTING(進來的時候)、OUTPUT、POSTROUTING(出去時候)三個鏈
? managle表用於給數據包做標記,幾乎用不到
? raw表可以實現不追蹤某些數據包,
? security表在centos6中並沒有,用於強制訪問控制(MAC)的網絡規則
? 數據包流向與netfilter的5個鏈
? PREROUTING:數據包進入路由表之前
? INPUT:通過路由表後目的地為本機
? FORWARD:通過路由表後,目的地不為本機
? OUTPUT:由本機產生,向外發出
? POSTROUTING:發送到網卡接口之前
10.14 iptables語法
iptables -nvL查看iptables規則
[root@aiker02 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
iptables -F 清空規則
[root@aiker02 ~]# iptables -F
service iptables save 保存規則
iptables -t nat
//-t指定表iptables -Z
可以把計數器清零
iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
iptables -nvL --line-numbers
iptables -D INPUT 1
iptables -P INPUT DROP
七周三次課