天天看點

網絡相關、firewall和netfilter、netfilter5表5鍊、iptables文法

網絡相關

ifconfig檢視網卡ip(yum install net-tools)

ifup ens33/ifdown ens33

遠端ifdown會無法連接配接,因為已經宕了,在主機端ifconfig也看不到ip位址,要在主機ifup重新連接配接

ifdown eno16777728 && ifup eno16777728 //一起執行

ifdown eno16777728;ifup eno16777728 //重新開機指定的網卡。什麼時候用(使用場景單獨針對一個網卡,如增加一個DNS,網關,隻需要重新開機指定的網卡)

設定虛拟網卡ens33:1 (lvs keepalived)

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

[root@lsx-02 network-scripts]# ls

ifcfg-eno16777736 ifdown-ppp ifup-eth ifup-sit

[root@lsx-02 network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777736\:0 \脫義

ifcfg-eno16777736 ifdown-post ifup-bnep ifup-routes

ifcfg-eno16777736:0 ifdown-ppp ifup-eth ifup-sit

[root@lsx-02 network-scripts]# vi !$

GATEWAY和DNS都可以不要

ifdown eno16777728 && ifup eno16777728

Ifconfig

mii-tool ens33 檢視網卡是否連接配接

ethtool ens33 也可以檢視網卡是否連接配接

更改主機名 

[root@lsx02 ~]# hostname lsx02

hostnamectl set-hostname aminglinux

[root@lsx02 ~]# cat /etc/hostname //配置檔案

DNS配置檔案/etc/resolv.conf 可以臨時設定,但是網卡配置檔案更改,會被覆寫

/etc/hosts檔案

本地存放ip、域名

同樣的域名、不同的ip以後面那個為主

[root@lsx-02 network-scripts]# mii-tool eno16777736 檢視網卡是否連着網線

eno16777736: negotiated 1000baseT-FD flow-control, link ok

[root@lsx-02 network-scripts]# hostnamectl set-hostname lsx-001 更改主機名hostnamectl Centos7生效

[root@lsx-02 network-scripts]# hostname

lsx-001

[root@lsx-02 network-scripts]# bash

[root@lsx-001 network-scripts]#

[root@lsx-001 network-scripts]# cat /etc/hostname 主機名配置檔案

firewalld(Os7)和netfilter

selinux臨時關閉 setenforce 0

selinux永久關閉 vi /etc/selinux/config

centos7之前使用netfilter防火牆

centos7開始使用firewalld防火牆

關閉firewalld開啟netfilter方法

systemctl stop firewalld

systemctl disable firewalled //不讓開機啟動

yum install -y iptables-services

systemctl enable iptables

systemctl start iptables

iptables -nvL //檢視預設規則

 netfilter5表5鍊介紹

netfilter的5個表

Filter預設表用于過濾包,最常用的表,有INPUT、FORWARD、OUTPUT三個鍊

INPUT:資料包進入本機的一個鍊(比如通路我的80端口,我要檢查一下它的源ip是什麼。禁可疑ip)

FORWARD:雖然到了主機但是不到核心。因為是給其他機器處理的,是以要判斷目标位址是不是本機,不是本機就需經過此鍊。經過此鍊也會做一些操作,比如把目标位址做一個更改或者轉發。

OUTPUT:本機的包出去之前做的一些操作。比如到某個ip的。我已經把那ip禁掉,凡是到那ip的資料包都給它禁掉

nat表用于網絡位址轉換,有PREROUTING、OUTPUT、POSTROUTING三個鍊

Nat表使用場景路由器共享上網,有很多裝置手機、電腦等都要去連路由器,都是由nat實作的。

還可以做端口映射。比如兩台機器A、B,A是可以直接上網的,有個網卡a直接連網際網路這個就是公網ip。B的b網卡也是公網ip,同時還要個c網卡,私網ip。C機器有一個D網卡私網。如果A要和C通信,必須借助B。B就要設定nat規則。比如要通路C的80端口,A借助B的公網做端口映射,B的8088端口映射到C的80端口

PREROUTING:在資料包進來的那一刻要更改的操作

POSTROUTING:資料包離開防火牆時,改變資料包源位址

managle表用于給資料包做标記,幾乎用不到

raw表可以實作不追蹤某些資料包,阿銘從來不用

security表在centos6中并沒有,用于強制通路控制(MAC)的網絡規則,

 iptables文法

檢視iptables規則:iptables -nvL

iptables -nvL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination 

6 428 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

0 0 ACCEPT icmp -- 0.0.0.0/0 

cat /etc/sysconfig/iptables //規則儲存位置

iptables -F 清空規則(但是預設規則還在檔案裡,沒有清空、服務重新開機規則又回來了。要想檔案裡儲存的是清空之後的内容執行)

service iptables save 儲存規則

iptables -t nat //-t指定表

iptables -Z 可以把計數器清零

iptables -Z;iptables -nvL

封ip使用-I封

使用-I和-A的順序,防火牆的過濾根據規則順序的。

-A 是添加規則到指定鍊的結尾,最後一條。

-I是添加規則到執行鍊的開頭,第一條。

iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP //預設表 -A增加規則到指定鍊的結尾,最後一條 -s來源ip -p指定協定 --sport端口 -d目标ip -j操作

iptables -I INPUT -p tcp --dport 80 -jDROP //封目标端口為80

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 //-i指定網卡

iptables -nvL --line-numbers //列出規則序号

iptables -D INPUT 1 //-D 删除 INPUT 後面的數字是指定序号

iptables -P INPUT DROP //-P 指定鍊的預設規則

本文轉自 蝦米的春天 51CTO部落格,原文連結:http://blog.51cto.com/lsxme/2045911,如需轉載請自行聯系原作者

繼續閱讀