1. 程式人生 > >linux日常維護(網絡相關,防火墻,netfirter介紹,netfirter語法)

linux日常維護(網絡相關,防火墻,netfirter介紹,netfirter語法)

linux網絡相關 防火墻 netfirter

1.linux網絡相關

ifconfig 查看網卡ip (centos6是默認有的,centos7裏沒有,需要下載 yum install net-tloos)


關閉網卡: ifdown +網卡 (關閉後沒有ip)

打開網卡 ifup +網卡

重啟指定的網卡。如果網卡正在遠程連接,不要直接ifdown網卡,如果服務器不在身邊,過程很繁瑣,

應該執行 ifdown +網卡 && ifup +網卡


設置一個虛擬網卡的步驟:

1.到網卡配置目錄

[root@abc ~]# cd /etc/sysconfig/network-scripts/

2.拷貝真實的網卡,註意改名:

[root@abc network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:0

3.編輯虛擬網卡配置文件:(需要改以下配置)

NAME=ens33:0

DEVICE=ens33:0

IPADDR=192.168.52.50

去掉dns和網關

4.重新啟動服務,也可以重新啟動網卡

ifdown ens33 && ifup ens33


mii-tool +網卡名字 看看是否為link ok

也可以用ethtool +網卡名 查看最後一行link detected是否為yes


修改hostname

永久修改命令

[root@abc ~]# hostnamectl set-hostname + 自定義名字

退出當前環境從新登陸即可查看,或者直接查看/etc/hostname

[root@abc ~]# cat /etc/hostname

litongyao


dns配置文件

[root@abc network-scripts]# cat /etc/resolv.conf

# Generated by NetworkManager

search abc.com

nameserver 119.29.29.29 (是由網卡配置文件裏來的)


/etc/hosts

ip + 域名(可以是多個域名,如果是多個ip的話。以靠文件後的一個為準)

hosts文件的作用相當於DNS,提供IP地址hostname的對應。早期的互聯網計算機少,單機hosts文件裏足夠存放所有聯網計算機。不過隨著互聯網的發展,這就遠遠不夠了。於是就出現了分布式的DNS系統。由DNS服務器來提供類似的IP地址到域名的對應。Linux系統在向DNS服務器發出域名解析請求之前會查詢/etc/hosts文件,如果裏面有相應的記錄,就會使用hosts裏面的記錄。


2.linux防火墻

selinux臨時關閉

getenforce 查看Linux關閉或打開

setenforce 0

##設置SELinux 成為permissive模式,遇到需要阻斷的時候,不會真的阻斷,而是會提醒並記錄

selinux 1

##設置SELinux 成為enforcing模式,打開selinux


永久關閉

[root@abc network-scripts]# vim /etc/selinux/config

SELINUX=disabled


另外一個防火墻。centos7之前的版本使用netfilter,centos7的時候使用firewalld 內部機制都是-->iptables

一般都處於關閉狀態,不會有太大的安全隱患。打開會增加我們的運營成本。在centos7上也可以運行netfilter,需要關閉firewalld並讓它開機不啟動。

[root@abc network-scripts]# systemctl disable firewalld

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

[root@abc network-scripts]# systemctl stop firewalld


然後安裝netfilter

[root@abc network-scripts]# yum install -y iptables-services

打開netfilter

[root@abc ~]# systemctl start iptables


3.

netfilter的5個表,


(一)filter表用於過濾包,包含了三個內置鏈,

  1. INPUT 數據包進來本機的時候要經過的鏈

  2. FORWARD 目標地址不是本機的話,要經過的鏈

  3. OUTPUT 在本機的包出去之前要經過的鏈

(二)nat表用於網絡地址轉換,也包含了三個鏈。()

  1. PREROUTING 進來的一刻更改數據包

  2. OUTPUT 在本機的包出去之前要經過的鏈

  3. PUSTROUTING 出去的一刻更改數據包

(三)mangle表 用於給數據包做標記,幾乎用不到

(四)raw表可以實現不追蹤某些數據包

(五)security在centos6中沒有,用於強制訪問控制(MAC)的網絡規則


iptables傳輸數據包的過程

① 當一個數據包進入網卡時,它首先進入PREROUTING鏈,內核根據數據包目的IP判斷是否需要轉送出去。
② 如果數據包就是進入本機的,它就會沿著圖向下移動,到達INPUT鏈。數據包到了INPUT鏈後,任何進程都會收到它。本機上運行的程序可以發送數據包,這些數據包會經過OUTPUT鏈,然後到達POSTROUTING鏈輸出。
③ 如果數據包是要轉發出去的,且內核允許轉發,數據包就會如圖所示向右移動,經過FORWARD鏈,然後到達POSTROUTING鏈輸出。

技術分享圖片



參考文章:http://www.cnblogs.com/metoy/p/4320813.html


4.filter介紹

[root@abc ~]# iptables -nvL (查看iptable規則)

默認保存規則在/etc/sysconfig/iptables文件下保存

[root@abc ~]# iptables -F (清空規則,但是並不會保存在文件裏,重啟服務後規則又都回來了)

[root@abc ~]# service iptables save (保存新規則到文件裏)


iptables -nvL -t //指定表 (查看指定表的規則,如果不指定表,則默認是filter表)

iptables -Z 可以把計數器清零 (可以把計數器清零)

iptables -nvL --line-number 顯示規則的序列號(刪除規則時直接加序列號即可,不用敲全部命令)

-A 增加規則到最後面 (一般而言,最後一條規則用於丟棄(DROP)所有數據包。

-I 把規則插入到最前面 (過濾時優先過濾最前面的)

-D 刪除規則

-P 默認的規則

-s 源地址,可以是ip地址,網絡地址,主機名

-d 目標地址

-j 執行目標

-i 輸入接口,指定了處理那個接口的數據包(-i eth0 指定經由eth0進入的數據包)!-i eth0 處理除 eth0以外的數據包

-o 輸出接口,(和輸入接口規則相同)

-p 指定規則,是tcp還是udp,如果不指定,則默認是all

--sport 源端口 可以指定端口號,或者端口名稱,例如“-sport 22”“-sport ssh”

--dport 目的端口

DROP和REJECT都是把IP封掉,區別是:

DROP是數據包過來後看都不看直接扔掉

REJECT是數據包過來後看一下,然後禮貌的告訴你,對不起你不能進入

ACCEPT 允許進入


linux日常維護(網絡相關,防火墻,netfirter介紹,netfirter語法)