ifconfig查看網卡ip(yum install net-tools)
關閉啟動網卡: ifup ens33/ifdown ens33
設定虛擬網卡eth0:0
[root@mingming ~]# cd /etc/sysconfig/network-scripts/[root@mingming network-scripts]# lsifcfg-eth0 ifdown-post ifup-eth ifup-routes ifcfg-lo ifdown-ppp ifup-ippp ifup-sit ifdown ifdown-routes ifup-ipv6 ifup-tunnel ifdown-bnep ifdown-sit ifup-isdn ifup-wireless ifdown-eth ifdown-tunnel ifup-plip init.ipv6-global ifdown-ippp ifup ifup-plusb net.hotplug ifdown-ipv6 ifup-aliases ifup-post network-functions ifdown-isdn ifup-bnep ifup-ppp network-functions-ipv6 [root@mingming network-scripts]# cp ifcfg-eth0 ifcfg-eth0\:0[root@mingming network-scripts]# vim ifcfg-eth0:0DEVICE=eth0:0HWADDR=00:0C:29:0F:AD:09TYPE=Ethernet UUID=aa6b2038-bad7-4480-87ee-e462f8c6db6b ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=staticIPADDR=192.168.23.133NETMASK=255.255.255.0GATEWAY=192.168.23.2
DEVICE=eth0:0
IPADDR=192.168.23.133 將這兩行修改再 關閉啟動網卡: ifup eth0 && ifdown eth0
mii-tool ens33 查看網卡是否連接
ethtool ens33 也可以查看網卡是否連接
更改主機名 hostnamectl set-hostname aminglinux
DNS配置文件/etc/resolv.conf
/etc/hosts文件
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
filter表用于過濾包,最常用的表,有INPUT、FORWARD、OUTPUT三個鏈
INPUT :數據包進來經過的鏈
FORWARD:到了機器但是不進去內核,轉發出去
OUTPUT:本機包出去經過的鏈
nat表用于網絡地址轉換,有PREROUTING、OUTPUT、POSTROUTING三個鏈
PREROUTING:進來的時候更改數據包
POSTROUTING:出去的時候更改數據包
數據包流向與netfilter的5個鏈 PREROUTING:數據包進入路由表之前
INPUT:通過路由表后目的地為本機
FORWARD:通過路由表后,目的地不為本機
OUTPUT:由本機產生,向外發出
POSTROUTING:發送到網卡接口之前
managle表用于給數據包做標記,幾乎用不到
raw表可以實現不追蹤某些數據包,阿銘從來不用
security表在centos6中并沒有,用于強制訪問控制(MAC)的網絡規則,阿銘沒用過
參考文章 http://www.cnblogs.com/metoy/p/4320813.html
默認規則在/etc/sysconfig/iptables
查看iptables規則:iptables -nvL
iptables -F 清空規則
service iptables save 保存規則
iptables -t nat //-t指定表
iptables -Z 可以把計數器清零
iptables -A INPUT -s 192.168.188.1 -p tcp - --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
-A 增加規則
INPUT :INPUT鏈
-s 來源ip
-p :指定協議
--sport :指定來源端口
-d 指定目標ip
--dport 目標端口
-j 處理方式 DROP:扔掉 REJECT:拒絕 ACCEPT:接受
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP
-I 插入規則
-D 刪除規則
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
-i 指定網卡
iptables -nvL --line-numbers
打印規則的序列號
iptables -D INPUT 1
刪除序列1的規則
iptables -P INPUT DROP
-P 改變默認沒有匹配規則的
Linux防火墻-netfilter
iptables小案例
vi /usr/local/sbin/iptables.sh //加入如下內容
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT
icmp示例
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
Linux防火墻-netfilter
nat表應用
A機器兩塊網卡eth0(192.168.23.135)、eth2(192.168.100.1),eth0可以上外網,eth2僅僅是內部網絡,B機器只有eth2(192.168.100.100),和A機器eth2可以通信互聯。
增加內網 1 增加網卡
2 設置ip : ifconfig eth2 192.168.100.1
需求1:可以讓B機器連接外網
A機器上打開路由轉發 echo "1">/proc/sys/net/ipv4/ip_forward
A上執行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
B上設置網關為192.168.100.1
route add default gw 192.168.100.1
route -n 查看
需求2:C機器只能和A通信,讓C機器可以直接連通B機器的22端口
上打開路由轉發echo "1">/ proc/sys/net/ipv4/ip_forward
A上執行iptables -t nat -A PREROUTING -d 192.168.23.135 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
A上執行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.23.135
B上設置網關為192.168.100.1
保存和備份iptables規則
service iptables save //會把規則保存到/etc/sysconfig/iptables
把iptables規則備份到my.ipt文件中
iptables-save > my.ipt
恢復剛才備份的規則
iptables-restore < my.ipt
Linux防火墻-firewalled
firewalld的9個zone
打開firewalld
systemctl disable iptables
systemctl stop iptables
systemctl enable firewalld
systemctl start firewalld
firewalld默認有9個zone
drop(丟棄):任何接收的網絡數據包都被丟棄,沒有任何回復,僅能有發送出去的網絡
連接。
block(限制):任何接收的網絡連接都被IPv4的icmp-host-prohibited信息和IPv6的
icmp6-adm-prohibited信息所拒絕。
public(公共):在公共區域內使用,不能相信網絡內其他計算機不會對您的計算機造成
危害,只能接收經過選擇的連接。
external(外部):特別是為路由器啟用了偽裝功能的外部網,您不能信任來自網絡的其
他計算機,不能想他他們不會對你的計算機造成危害,只能接收經過選擇的連接。
dmz(非軍事區):用于您的非軍事區內的電腦,此區域內可公開訪問,可以有限的進入
你的內部網絡,僅僅接收經過選擇的連接。
work(工作):用于工作區,你可以基本相信網絡內的其他電腦不會危害你的電腦,僅僅
接收經過選擇的連接。
home(家庭):用于家庭網絡,你可以基本相信網絡內的其他計算機不會危害你的計算機
,僅僅接收經過選擇的連接。
internal(內部):用于內部網絡,你可以基本相信網絡內的其他計算機不會危害你的計
算機,僅僅接收經過選擇的連接。
trusted(信任):可接受所有的網絡連接。
默認zone為public
firewall-cmd --get-zones //查看所有zone
firewall-cmd --get-default-zone//查看默認zone
firewalld關于zone的操作
firewall-cmd --set-default-zone=work //設定默認zone
firewall-cmd --get-zone-of-interface=ens33 //查指定網卡
firewall-cmd --zone=public --add-interface=lo //給指定網卡設置zone
firewall-cmd --zone=dmz --change-interface=lo //針對網卡更改zone
firewall-cmd --zone=dmz --remove-interface=lo //針對網卡刪除zone
firewall-cmd --get-active-zones //查看系統所有網卡所在的zone
firewalld關于service的操作
firewall-cmd --get-services 查看所有的servies
firewall-cmd --list-services //查看當前zone下有哪些service
firewall-cmd --zone=public --add-service=http //把http增加到public zone下面
firewall-cmd --zone=public --remove-service=http
ls /usr/lib/firewalld/zones/ //zone的配置文件模板
firewall-cmd --zone=public --add-service=http --permanent //更改配置文件,之后會在/etc/firewalld/zones目錄下面生成配置文件
需求:ftp服務自定義端口1121,需要在work zone下面放行ftp
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services
vi /etc/firewalld/services/ftp.xml //把21改為1121
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
vi /etc/firewalld/zones/work.xml //增加一行
firewall-cmd --reload //重新加載
firewall-cmd --zone=work --list-services
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。