Linux网络/firewalld和netfilter/netfilter/iptables语法
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
linux網(wǎng)絡(luò)相關(guān)
查看網(wǎng)卡網(wǎng)絡(luò)信息
ifconfig 命令查看網(wǎng)卡網(wǎng)絡(luò)信息,比如ip、網(wǎng)關(guān)、子網(wǎng)掩碼等,但是安裝centos7的版本或者某些未知原因,此命令提示找不到,我們可以使用Yum安裝:
yum install -y net-tools使用 ifconfig 命令查看
ifconfig選項(xiàng):
- a : 顯示包含因?yàn)樯衿嬖驋斓舻木W(wǎng)卡
或者某些時(shí)候我們也可以使用 ** ip add ** 命令來查看信息,實(shí)際比較還是覺得ifconfig命令顯示的清楚一點(diǎn)。
ip add重啟某個(gè)指定網(wǎng)卡(ifdown表示關(guān)閉某網(wǎng)卡,ifup表示啟用某網(wǎng)卡)
ifdown ens33 ; ifup ens33 #第1種方式 ifdown ens33 && ifup ensss #第2種方式由于使用遠(yuǎn)程登錄,所以不建議單獨(dú)使用** ifdown **命令,至于為什么要重啟某網(wǎng)卡而不是重啟服務(wù)呢,因?yàn)榧偃缒阒恍薷牧舜司W(wǎng)卡的部分信息,不想直接重啟服務(wù)影響其他網(wǎng)卡的使用,所以可以 **ifdown **和 **ifup **結(jié)合使用表示重啟;
設(shè)置虛擬網(wǎng)卡
1.進(jìn)入網(wǎng)卡配置文件目錄
[root@yolks1 ~]# cd /etc/sysconfig/network-scripts/2拷貝文件當(dāng)前ens33網(wǎng)卡配置文件
[root@yolks1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1 #前面的右斜杠表示脫義冒號(hào)3.編輯新復(fù)制的網(wǎng)卡配置文件:ifcfg-ens33:1
vim ifcfg-ens33:1修改以下標(biāo)注的地方,刪除掉DNS和GATEWAY所在的行
4.重啟 ** dns33 ** 網(wǎng)卡
[root@yolks1 network-scripts]# ifdown ens33 && ifup ens33 成功斷開設(shè)備 'ens33'。 連接已成功激活(D-Bus 活動(dòng)路徑:/org/freedesktop/NetworkManager/ActiveConnection/5)5.** ifconfig ** 查看新配置的網(wǎng)卡信息
6.測(cè)試本地能不能ping通虛擬網(wǎng)卡
查看網(wǎng)卡是否連接
1.mii-tool 命令如下:
[root@yolks1 network-scripts]# mii-tool ens33:1 ens33:1: negotiated 1000baseT-FD flow-control, link ok判斷輸出的是否是** link ok** 如果是,則說明網(wǎng)絡(luò)連接暢通無誤;如果輸出的是** no link **則表示網(wǎng)卡沒連接;
2.如果上面的 mii-tool 執(zhí)行提示找不到,也可以使用** ethtool 網(wǎng)卡名稱 **來查看結(jié)果的最后一行 **Link detected **是否是 yes 或者是 ** no ** 來表示網(wǎng)卡連接是否正常
設(shè)置主機(jī)名稱
hostnamectl set-hostname new-hostname修改之后需要重新連接即可看到變化;
修改DNS地址
DNS配置文件路徑 : /etc/resolv.conf
[root@yolks-001 ~]# cat /etc/resolv.conf #查看當(dāng)前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的話是臨時(shí)的,永久保存的話直接修改 **/etc/sysconfig/network-scripts/ifcfg-ens33 **添加DNS紀(jì)錄即可;
修改host改變本地解析
修改 /etc/hosts 文件,添加一行新的解析
測(cè)試ping,顯示為修改的配置ip,并且只有本機(jī)才會(huì)生效
hosts文件格式很簡(jiǎn)單,注意以下幾點(diǎn);
- 一個(gè)ip后面可以跟多個(gè)域名,可以是幾十個(gè)甚至上百個(gè);
- 每一行只能有一個(gè)ip,也就是說一個(gè)域名不能對(duì)應(yīng)多個(gè)ip;
- 如果有多行中出現(xiàn)相同的域名(對(duì)應(yīng)的ip不一樣),就會(huì)按最前面出現(xiàn)的記錄來解析
firewalld和netfilter
1.SELinux是linux系統(tǒng)特有的安全機(jī)制。因?yàn)檫@種機(jī)制的限制太多,配置也繁瑣,所以幾乎沒有人真正的應(yīng)用它,安裝完系統(tǒng)我們一般都把SELinux關(guān)閉,以免引起不必要的麻煩。
臨時(shí)關(guān)閉:
setenforce 0永久關(guān)閉:
vim /etc/selinux/config #編輯此文件修改 SELINUX=disabled,重啟機(jī)器即可
查看 SELINUX 狀態(tài):
[root@yolks-001 ~]# getenforce Disabled2.關(guān)系圖如下:
查看centos版本
[root@yolks-001 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)在centos7上關(guān)閉firewalld開啟netfilter
1.關(guān)閉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 firewalld3.yum安裝iptables工具
yum install -y iptables-services4.讓iptables服務(wù)開機(jī)啟動(dòng)
[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服務(wù)
[root@yolks-001 ~]# systemctl start iptables6.使用iptables查看默認(rèn)規(guī)則
iptables -nvLnetfilter5表5鏈介紹
netfilter的5個(gè)表
- filter:表主要用于過濾包,是系統(tǒng)預(yù)設(shè)的表,該表內(nèi)建3個(gè)鏈:INPUT、OUTPUT以及FORWARD。INPUT鏈作用于進(jìn)入本機(jī)的包,OUTPUT鏈作用于本機(jī)送出的包,FORWARD鏈作用于那些跟本機(jī)無關(guān)的包。
- nat:表主要用于網(wǎng)絡(luò)地址轉(zhuǎn)換,同樣也有3個(gè)鏈,PREROUTING鏈的作用是在包剛剛到達(dá)防火墻時(shí)改變它的目的地址,OUTPUT鏈的作用是改變本地產(chǎn)生的包的目的地址,POSTROUTING鏈的作用是在包即將離開防火墻時(shí)改變其源地址。
- mangle:表主要用于給數(shù)據(jù)包做標(biāo)記,然后根據(jù)標(biāo)記去操作相應(yīng)的包。
- raw:表可以實(shí)現(xiàn)不追蹤數(shù)據(jù)包做標(biāo)記,默認(rèn)系統(tǒng)的數(shù)據(jù)包都會(huì)被追蹤,但追蹤勢(shì)必消耗一定的資源,所以可以用raw表來指定某些端口的包不被追蹤。
- security:表在Centos6里是沒有的,它用于強(qiáng)制訪問控制(MAC)的網(wǎng)絡(luò)規(guī)則。
netfilter的5個(gè)鏈
- PREROUTING:數(shù)據(jù)包進(jìn)入路由表之前
- INPUT:通過路由表后目的地為本機(jī)
- FORWARD:通過路由表后,目的地不為本機(jī)
- OUTPUT:由本機(jī)產(chǎn)生,向外轉(zhuǎn)發(fā)
- POSTROUTING:發(fā)送到網(wǎng)卡接口之前
參考圖
圖片來源于Askz的博客
圖片來源于Askz的博客
iptables語(yǔ)法
1.查看iptables默認(rèn)規(guī)則配置文件:
cat /etc/sysconfig/iptables2.查看iptables默認(rèn)規(guī)則:
iptables -nvL3.保存iptables規(guī)則(當(dāng)前規(guī)則,保存到配置文件):
service iptables save4.清空iptables規(guī)則:
iptables -F5.重啟iptables規(guī)則
service iptables restart6.查看指定表的規(guī)則
iptables -t nat -nvL7.清空表的計(jì)數(shù)器
iptables -Z8.如果不加-t選項(xiàng)則默認(rèn)的表為fliter表,常用的選項(xiàng)如下:
- -A/-D:表示增加/刪除一條規(guī)則
- -I:表示插入一條規(guī)則其實(shí)效果跟-A一樣
- -p:表示指定協(xié)議,可以是tcp、udp或者icmp
- --dport:跟-p一起使用,表示指定目標(biāo)端口
- --sport:跟=p一起使用,表示指定源端口
- --line-number:顯示規(guī)則的行號(hào)
- -s:表示指定源IP(可以是一個(gè)IP段)
- -d:表示指定目的IP(可以是一個(gè)IP段)
- -j:后面跟動(dòng)作,其中ACCEPT表示允許包,DROP表示丟掉包,REJECT表示拒絕包
- -i:表示指定網(wǎng)卡
拓展
selinux教程
selinux pdf電子書
轉(zhuǎn)載于:https://my.oschina.net/yolks/blog/1845624
總結(jié)
以上是生活随笔為你收集整理的Linux网络/firewalld和netfilter/netfilter/iptables语法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js 中转换成list集合_程序员:ja
- 下一篇: 新CIO:Mark Schwartz认为