為什么80%的碼農都做不了架構師?>>> ??
linux網絡相關
查看網卡網絡信息
ifconfig 命令查看網卡網絡信息,比如ip、網關、子網掩碼等,但是安裝centos7的版本或者某些未知原因,此命令提示找不到,我們可以使用Yum安裝:
yum install -y net-tools
使用 ifconfig 命令查看
ifconfig
選項:
- a : 顯示包含因為神奇原因掛掉的網卡
ifconfig -a
或者某些時候我們也可以使用 ** ip add ** 命令來查看信息,實際比較還是覺得ifconfig命令顯示的清楚一點。
ip add
重啟某個指定網卡(ifdown表示關閉某網卡,ifup表示啟用某網卡)
ifdown ens33 ; ifup ens33 #第1種方式
ifdown ens33 && ifup ensss #第2種方式
由于使用遠程登錄,所以不建議單獨使用** ifdown **命令,至于為什么要重啟某網卡而不是重啟服務呢,因為假如你只修改了此網卡的部分信息,不想直接重啟服務影響其他網卡的使用,所以可以 **ifdown **和 **ifup **結合使用表示重啟;
設置虛擬網卡
1.進入網卡配置文件目錄
[root@yolks1 ~]# cd /etc/sysconfig/network-scripts/
2拷貝文件當前ens33網卡配置文件
[root@yolks1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1 #前面的右斜杠表示脫義冒號
3.編輯新復制的網卡配置文件:ifcfg-ens33:1
vim ifcfg-ens33:1
修改以下標注的地方,刪除掉DNS和GATEWAY所在的行
4.重啟 ** dns33 ** 網卡
[root@yolks1 network-scripts]# ifdown ens33 && ifup ens33
成功斷開設備 'ens33'。
連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/5)
5.** ifconfig ** 查看新配置的網卡信息
6.測試本地能不能ping通虛擬網卡
查看網卡是否連接
1.mii-tool 命令如下:
[root@yolks1 network-scripts]# mii-tool ens33:1
ens33:1: negotiated 1000baseT-FD flow-control, link ok
判斷輸出的是否是** link ok** 如果是,則說明網絡連接暢通無誤;如果輸出的是** no link **則表示網卡沒連接;
2.如果上面的 mii-tool 執行提示找不到,也可以使用** ethtool 網卡名稱 **來查看結果的最后一行 **Link detected **是否是 yes 或者是 ** no ** 來表示網卡連接是否正常
設置主機名稱
hostnamectl set-hostname new-hostname
修改之后需要重新連接即可看到變化;
修改DNS地址
DNS配置文件路徑 : /etc/resolv.conf
[root@yolks-001 ~]# cat /etc/resolv.conf #查看當前dns配置
# Generated by NetworkManager
nameserver 119.29.29.29
[root@yolks-001 ~]# vi !$
vi /etc/resolv.conf #編輯并添加新的一行nameserver 8.8.8.8
[root@yolks-001 ~]# cat /etc/resolv.conf #再次查看新的dns配置
# Generated by NetworkManager
nameserver 119.29.29.29
nameserver 8.8.8.8
但是要知道編輯上面此文件保存dns的話是臨時的,永久保存的話直接修改 **/etc/sysconfig/network-scripts/ifcfg-ens33 **添加DNS紀錄即可;
修改host改變本地解析
修改 /etc/hosts 文件,添加一行新的解析
測試ping,顯示為修改的配置ip,并且只有本機才會生效
hosts文件格式很簡單,注意以下幾點;
- 一個ip后面可以跟多個域名,可以是幾十個甚至上百個;
- 每一行只能有一個ip,也就是說一個域名不能對應多個ip;
- 如果有多行中出現相同的域名(對應的ip不一樣),就會按最前面出現的記錄來解析
firewalld和netfilter
1.SELinux是linux系統特有的安全機制。因為這種機制的限制太多,配置也繁瑣,所以幾乎沒有人真正的應用它,安裝完系統我們一般都把SELinux關閉,以免引起不必要的麻煩。
臨時關閉:
setenforce 0
永久關閉:
vim /etc/selinux/config #編輯此文件
修改 SELINUX=disabled,重啟機器即可
查看 SELINUX 狀態:
[root@yolks-001 ~]# getenforce
Disabled
2.關系圖如下:
查看centos版本
[root@yolks-001 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
在centos7上關閉firewalld開啟netfilter
1.關閉firewalld
[root@yolks-001 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
2.停止firewalld
[root@yolks-001 ~]# systemctl stop firewalld
3.yum安裝iptables工具
yum install -y iptables-services
4.讓iptables服務開機啟動
[root@yolks-001 ~]# systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
5.開啟iptables服務
[root@yolks-001 ~]# systemctl start iptables
6.使用iptables查看默認規則
iptables -nvL
netfilter5表5鏈介紹
netfilter的5個表
- filter:表主要用于過濾包,是系統預設的表,該表內建3個鏈:INPUT、OUTPUT以及FORWARD。INPUT鏈作用于進入本機的包,OUTPUT鏈作用于本機送出的包,FORWARD鏈作用于那些跟本機無關的包。
- nat:表主要用于網絡地址轉換,同樣也有3個鏈,PREROUTING鏈的作用是在包剛剛到達防火墻時改變它的目的地址,OUTPUT鏈的作用是改變本地產生的包的目的地址,POSTROUTING鏈的作用是在包即將離開防火墻時改變其源地址。
- mangle:表主要用于給數據包做標記,然后根據標記去操作相應的包。
- raw:表可以實現不追蹤數據包做標記,默認系統的數據包都會被追蹤,但追蹤勢必消耗一定的資源,所以可以用raw表來指定某些端口的包不被追蹤。
- security:表在Centos6里是沒有的,它用于強制訪問控制(MAC)的網絡規則。
netfilter的5個鏈
- PREROUTING:數據包進入路由表之前
- INPUT:通過路由表后目的地為本機
- FORWARD:通過路由表后,目的地不為本機
- OUTPUT:由本機產生,向外轉發
- POSTROUTING:發送到網卡接口之前
參考圖
圖片來源于Askz的博客
圖片來源于Askz的博客
iptables語法
1.查看iptables默認規則配置文件:
cat /etc/sysconfig/iptables
2.查看iptables默認規則:
iptables -nvL
3.保存iptables規則(當前規則,保存到配置文件):
service iptables save
4.清空iptables規則:
iptables -F
5.重啟iptables規則
service iptables restart
6.查看指定表的規則
iptables -t nat -nvL
7.清空表的計數器
iptables -Z
8.如果不加-t選項則默認的表為fliter表,常用的選項如下:
- -A/-D:表示增加/刪除一條規則
- -I:表示插入一條規則其實效果跟-A一樣
- -p:表示指定協議,可以是tcp、udp或者icmp
- --dport:跟-p一起使用,表示指定目標端口
- --sport:跟=p一起使用,表示指定源端口
- --line-number:顯示規則的行號
- -s:表示指定源IP(可以是一個IP段)
- -d:表示指定目的IP(可以是一個IP段)
- -j:后面跟動作,其中ACCEPT表示允許包,DROP表示丟掉包,REJECT表示拒絕包
- -i:表示指定網卡
拓展
selinux教程
selinux pdf電子書