ifcfg-eth0
- /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 接口名 | 物理設備名
USERCTL=yes|no 非root用戶可否控制該設備
BOOTPROTO=[none|static|bootp|dhcp] IP的配置方式[引導時不用協議|使用靜態分配IP|bootp協議|DHCP協議]
HWADDR=xx:xx:xx:xx:xx:xx 接口的MAC地址
ONBOOT=yes|no 系統啓動的時候接口是否有效
TYPE=Ethernet 網絡類型,通常爲Ethemet
NETMASK=255.255.255.0 網絡掩碼
IPADDR=192.168.3.218 網絡IP地址
IPV6INIT=yes|no IPv6是否有效
GATEWAY=192.168.1.1 默認網關IP,會影響到route -n的默認網關(設置默認handler)
BROADCAST=192.168.3.255 廣播的IP地址
NETWORK=192.168.1.0 網絡地址(一般爲系統設置,建議不要手動設置)
NAME="inner eth0" 描述該接口
UUID=xxxxxxxxxxxxx
DNS1=10.100.9.101
DNS2=10.100.9.102
ifconfig命令
Ifconfig 查詢本機的所有網絡配置信息
ifconfig -a 查看所有網絡接口的配置信息
Ifconfig eth0 192.168.2.99 設置網卡eth0的IP
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 配置eth0的IP和Netmask
ifconfig eth0 down 禁用網卡eth0
ifconfig eth0 hw ether 00:0C:18:EF:FF:ED 設置網卡eth0的硬件Mac地址
ifconfig eth0 up 啓用網卡eth0
ping用法
ping -b
echo 1 > /proc/sys/net/ipv4/ip_forward 開啓IP數據包轉發功能
arp用法
arp -n 顯示列表信息
route用法
- route
顯示所有的路由(默認查看main路由表) [小網域->大網域->默認網域]
- route add -net 192.168.62.0 netmask 255.255.255.0 gw 192.168.1.1
添加一路由(發往192.168.62網段),要求都經過192.168.1.1網關(臨時生效-網卡/機器重啓失效)
- route del default
刪除默認路由
- route del -net 192.168.122.0 netmask 255.255.255.0
刪除一條路由,不用寫網關
- route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
刪除綁定在eth0上的一個網域
- route del -host 192.168.168.110 dev eth0
刪除本地eth0網卡上綁定的一條路由
- route add default gw 192.168.3.1
添加默認網關
/etc/rc.local(永久生效)
- route add -net 192.168.3.0/24 dev eth0
添加永久路由
- route add -net 192.168.2.0/24 gw 192.168.3.254
爲eth0添加到網絡的192.168.
- route add -net 10.0.0.0 netmask 255.0.0.0 eth0
爲eth0增加一段網域,前提是eth0可以連接該路由(網域的IP具備路由器的功能)
- route add -net 10.0.0.0 netmask 255.0.0.0 reject
設置到網絡10.0.0.0是不可到達的(避免長時間請求等待)
- ip route
查看本機路由信息
- Flags 選項
U(路由啓動狀態)H(目標是主機)G(需要外部主機轉遞封包)
D(動態路由)M(路由被修改)!(路由拒絕)
- vi /etc/iproute2/rt_tables
建立特殊路由表(local、main、default等)
- ip rule
查看當前機器的ip rule,查看規則走了幾個路由表(自上向下查找)
iptables用法
Filter表:(默認表)防火牆相關
NAT表:snat(源地址轉換)、dnat(目標地址轉換)、pnat(目標端口轉換)
Mangle表:修改報文再整合
Raw
PREROUTING:數據包進入路由表之前
INPUT:通過路由表後目的地爲本機(過濾進入本機的數據包,攻擊)
FORWARDING:通過路由表後,目的地不爲本地(經過而不入主機NAT相關)
OUTPUT:由本機產生,向外轉發(處理本機發出的數據包,泄密)
POSTROUTING:發送到網卡接口之前
iptables [-t 表名] -命令 -匹配 -j 動作/目標
-s:源IP段
-d:目標網段
-i:數據流入的網口eth0
-o:數據流出的網口eth0
-p:協議tcp udp
對於嚴謹的規則,一般默認規則都是拒絕未知,允許已知
案例
- iptables -L
查看filter表
- iptables -t nat -L
查看nat表
- iptables -t mangle -L
查看mangle表
- iptables -F
清除所選鏈中的所有規則
- iptables -Z
計數器清零
- iptables -A INPUT
爲INPUT鏈追加
iptables -t filter -P INPUT -j DROP 丟棄
iptables -t filter -P INPUT -j REJECT 拒絕
iptables -t filter -P INPUT -j ACCEPT 接受
iptables -t filter -P INPUT -j RETURN 返回主鏈繼續匹配
iptables -t filter -P INPUT -j REDIRECT 端口重定向
iptables -t filter -P INPUT -j MASQUERADE地址僞裝
iptables -t filter -P INPUT -j DNAT|SNAT 地址轉換
iptables -t filter -P INPUT -j MARK 打標籤
iptables -t filter -P INPUT LOG
設置filter表INPUT鏈的默認Policy爲丟棄
SNAT:代理內部客戶端訪問外部網絡,在POSTROUTING或OUTPUT鏈上來做規則限制
DNAT:將內部服務器公開至外部網絡,需在PREROUTING做限制
iptables -N filter_web
自定義鏈被調用才發揮作用
iptables -X
清除filter中使用者自定鏈中的規則(X Z同理),內置鏈不能刪除
iptables -E
重命名自定義鏈
iptables -t nat -A
nat表末尾追加規則
iptables -t nat -I3
nat插入爲第3條規則
iptables -t nat -D
刪除第幾條規則
iptables -t nat -R3
替換第幾條規則
iptables -A INPUT -s 10.0.10.0/24 -d 10.0.10.0/24 -j ACCEPT
允許10.0.10.0/24網段的ip地址訪問
iptables -A INPUT -s 10.0.10.0/24 -d 10.0.10.0/24 -I eth0 -j ACCEPT
只允許指定網段10.0.10.0/24內的IP可以訪問到eth0網卡
iptables-P INPUT DORP
iptables-A INPUT -s 10.0.10.0/24 -d 10.0.10.0/24 -j ACCEPT
iptables-P OUTPUT DORP
iptables-A OUTPUT -d 10.0.10.0/24 -s 10.0.10.0/24-j ACCEPT
對於嚴謹的規則,一般默認規則都是拒絕未知,允許已知
/etc/init.d/iptables save
保存規則到默認配置
iptables-save > /tmp/iptables
保存規則到其它文件
iptables-restore < /tmp/iptables
加載iptables文件規則
- iptables -A INPUT -d 10.0.10.62 -ptcp –dport 80 -j ACCEPT
放行對本機web的訪問
- iptables -A OUTPUT -s 10.0.10.62 -p tcp –sport 80 -j ACCEPT
放行出去的報文,源端口未80
- iptables -A OUTPUT -s 10.0.10.62 -d 10.0.10.0/24 -p icmp –icmp-type8 -j ACCEPT
允許本機ping通 10.0.10.0/24網段
- ‘-m string –string “/CMT” –algo bm -j DROP’
通過字符串的匹配進行防止過濾