Linux网络相关知识
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
10月25日任務
10.11 Linux網(wǎng)絡相關(guān)
10.12 firewalld和netfilter
10.13 netfilter5表5鏈介紹
10.14 iptables語法
?
Linux網(wǎng)絡相關(guān)命令
查看網(wǎng)卡信息:ifconfig
安裝:yum install -y net-tools
[root@centos7 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.65.130 netmask 255.255.255.0 broadcast 192.168.65.255...lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0...手動啟動/關(guān)閉特定網(wǎng)卡
ifup/ifdown ens33
設置虛擬網(wǎng)卡
在物理機測試ping可通,證明配置成功
C:\Users\18367>ping 192.168.65.143正在 Ping 192.168.65.143 具有 32 字節(jié)的數(shù)據(jù): 來自 192.168.65.143 的回復: 字節(jié)=32 時間<1ms TTL=64 來自 192.168.65.143 的回復: 字節(jié)=32 時間<1ms TTL=64 來自 192.168.65.143 的回復: 字節(jié)=32 時間<1ms TTL=64 來自 192.168.65.143 的回復: 字節(jié)=32 時間<1ms TTL=64192.168.65.143 的 Ping 統(tǒng)計信息:數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失), 往返行程的估計時間(以毫秒為單位):最短 = 0ms,最長 = 0ms,平均 = 0ms查看網(wǎng)卡是否連接
mii-tool | ethtool
1. 可以使用mii-tool命令查看 [root@centos7 network-scripts]# mii-tool ens33 ens33: negotiated 1000baseT-FD flow-control, link ok2. 也可以使用ethtool命令查看 [root@centos7 network-scripts]# ethtool ens33 | tail -n 1Link detected: yes更改主機名
下列命令只支持centos7.x
hostnamectl set-hostname HOST
上列的命令在當前終端下并不會立即生效,需要重啟!
在/etc/hostname文件中可以查看系統(tǒng)主機的hostname。
主機host的配置文件為/etc/hosts,修改其內(nèi)容只在本機生效!
若存在多個ip指向同一個域名,只有最后一行的ip生效!即后面設置的同域名的ip將覆蓋前面的ip!
此外同一個ip可以指向多個域名,在hosts文件內(nèi)可以寫在一行內(nèi)即
192.168.1.110 www.123.com www.qq.com www.baidu.com
修改hosts文件,指定2個ip指向同一個域名 [root@centos7 network-scripts]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.25 www.baidu.com 192.168.1.35 www.baidu.com ~上述配置之后只有后一個ip192.168.1.35生效;同樣的指向同一個域名的多個ip,只有最后一個ip生效
[root@centos7 network-scripts]# ping www.baidu.com PING www.a.shifen.com (192.168.1.35) 56(84) bytes of data. 64 bytes from 192.168.1.35 (192.168.1.35): icmp_seq=1 ttl=128 time=29.6 ms ..../etc/resolv.conf文件存放系統(tǒng)的DNS,該DNS由網(wǎng)卡的配置文件中的DNS列定義產(chǎn)生。
netfilter(6.x) / firewalld(7.x)
selinux的關(guān)閉
配置時必須關(guān)閉selinux,否則防火墻無法正常運行
- 臨時關(guān)閉:?setenforce 0
- 永久關(guān)閉: 修改/etc/selinux/config文件 ->?SELINUX=disabled
- 查看:getenforce
啟動iptables服務
netfilter 5表5鏈
!centos6中只有4個表(沒有security);7.x版本有5個表(及其使用的鏈),如下:
- filter(多用于過濾包)
- INPUT
- FORWARD
- OUTPUT
- nat(用于網(wǎng)絡地址轉(zhuǎn)換)
- PREROUTING
- OUTPUT
- POSTROUTING
- mangle(標記數(shù)據(jù)包)
- raw(不追蹤某些數(shù)據(jù)包)
- security(用于MAC的網(wǎng)絡規(guī)則)
相關(guān)的有5個鏈
- PREROUTING
- INPUT
- OUTPUT
- FORWARD
- POSTROUTING
數(shù)據(jù)經(jīng)過本機 PREROUTING -> FORWARD -> POSTROUTING
數(shù)據(jù)不經(jīng)過本機 PREROUTING -> INPUT -> OUTPUT -> POSTROUTING
工作中主要使用的是filter和nat表,后3個表使用不多
iptables詳解?http://www.cnblogs.com/metoy/p/4320813.html
iptables語法
iptables默認規(guī)則配置文件?/etc/sysconfig/iptables
- 查看規(guī)則:?iptables -nvL
- 清空規(guī)則:?iptables -F
- 執(zhí)行后默認的規(guī)則表并不會清空,需要執(zhí)行service iptables save存操作
- 指定表(默認為filter):iptables -t nat
- 清空計數(shù)器(清空規(guī)則記錄的數(shù)據(jù)量):iptables -Z
命令參數(shù)
- -A 在所選鏈的最后添加一或多條規(guī)則
- -I 在所選鏈的第一個規(guī)則前插入規(guī)則;加規(guī)則序號,在指定規(guī)則前插入
- -D 刪除所選鏈中的規(guī)則(也可以是規(guī)則序號)
- -R 替換所選鏈中的規(guī)則
- -L 列出所選鏈中的所有規(guī)則
- -S 打印所選鏈的所有規(guī)則,默認打印所有鏈的規(guī)則
- -F 清空所選鏈的規(guī)則
- -p 指定規(guī)則的協(xié)議tcp/udp...
- -s 指定源地址
- -d 指定目標地址
- -j 指定規(guī)則的目標 DROP/REJECT/ACCEPT
- -i 指定網(wǎng)卡
- --sport/dport 指定源/目的端口
在INPUT鏈的最后追加一條規(guī)則
[root@localhost network-scripts]# iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP不指定目標ip,默認代表所有
# 在首行插入規(guī)則 [root@localhost network-scripts]# iptables -I INPUT -s 1.1.1.1 -j DROP # 在末行添加規(guī)則 [root@localhost network-scripts]# iptables -A INPUT -s 1.1.1.1 -j DROP # 刪除某條規(guī)則(對應添加時的規(guī)則) [root@localhost network-scripts]# iptables -D INPUT -s 1.1.1.1 -j DROP設置關(guān)于特定的網(wǎng)卡的規(guī)則
# -i指定網(wǎng)卡 [root@localhost network-scripts]# iptables -I INPUT -s 192.168.1.0/24 -i ens33 -j ACCEPT根據(jù)規(guī)則編號刪除規(guī)則
[root@localhost network-scripts]# iptables -nvL --line-number Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 184 13824 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 6 468 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedChain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT 141 packets, 10976 bytes) num pkts bytes target prot opt in out source destination # 刪除第一條 [root@localhost network-scripts]# iptables -D INPUT 1設置指定鏈的默認策略
# 默認INPUT的策略為ACCEPT [root@localhost network-scripts]# iptables -P INPUT DROP # 這里需要注意的是,一旦修改默認策略為DROP,你的ssh通信的數(shù)據(jù)包將被丟棄,無法遠程連接,只能連物理機修改!所以最好不要亂修改,保持默認即可!轉(zhuǎn)載于:https://my.oschina.net/u/3964535/blog/2252204
總結(jié)
以上是生活随笔為你收集整理的Linux网络相关知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python全栈开发笔记---基本数据类
- 下一篇: Oracle Hint 之 Parall